Articles of jvm

Pourquoi le JIT cache JIT code compilé?

L’implémentation canonique de JVM de Sun applique une optimisation assez sophistiquée au bytecode pour obtenir des vitesses d’exécution quasi natives après l’exécution du code plusieurs fois. La question est la suivante: pourquoi ce code compilé n’est-il pas mis en cache sur le disque pour être utilisé lors d’utilisations ultérieures de la même fonction / classe? […]

Android java.exe terminé avec une valeur de sortie non nulle 1

J’ai essayé de regarder ceux similaires et aucune solution n’a fonctionné. J’ai déjà exécuté des applications sans problème, mais ma nouvelle application a soudainement commencé à me poser des problèmes. Il échoue toujours lorsque j’essaie de l’exécuter en disant: Error:Execution failed for task ‘:app:preDexDebug’. com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ‘command ‘C:\Program Files (x86)\Java\jdk1.7.0_67\bin\java.exe” finished with non-zero exit […]

Comment définir un fuseau horaire JVM correctement

J’essaie d’exécuter un programme Java, mais il prend un fuseau horaire GMT par défaut au lieu d’un fuseau horaire défini par le système d’exploitation. Ma version de JDK est 1.5 et le système d’exploitation est Windows Server Enterprise (2007) Windows a un fuseau horaire central spécifié, mais lorsque je lance le programme suivant, cela me […]

Pourquoi cette méthode imprime 4?

Je me demandais ce qui se passe lorsque vous essayez d’attraper une StackOverflowError et que vous avez obtenu la méthode suivante: class RandomNumberGenerator { static int cnt = 0; public static void main(Ssortingng[] args) { try { main(args); } catch (StackOverflowError ignore) { System.out.println(cnt++); } } } Maintenant ma question: Pourquoi cette méthode imprime ‘4’? […]

Adresse mémoire des variables en Java

S’il vous plaît regardez la photo ci-dessous. Lorsque nous créons un object en Java avec un nouveau mot-clé, nous obtenons une adresse mémoire du système d’exploitation. Lorsque nous écrivons out.println(objName) nous pouvons voir une chaîne “spéciale” en sortie. Mes questions sont: Quelle est cette sortie? Si c’est l’adresse de mémoire qui nous a été donnée […]

Pourquoi une boucle Java de 4 milliards d’itérations ne prend-elle que 2 ms?

J’exécute le code Java suivant sur un ordinateur portable équipé d’un processeur Intel Core i7 à 2,7 GHz. J’avais l’intention de le laisser mesurer le temps nécessaire pour terminer une boucle avec 2 ^ 32 itérations, soit environ 1,48 seconde (4 / 2,7 = 1,48). Mais en réalité, cela ne prend que 2 millisecondes, au […]

Comment crasher un JVM?

Je lisais un livre sur les compétences en programmation dans lequel l’auteur demande à l’interviewé: “Comment crassez-vous une machine virtuelle Java?” Je pensais que vous pouviez le faire en écrivant un for-loop infini qui finirait par utiliser toute la mémoire. Quelqu’un a une idée?

Nombre maximal de parameters dans la déclaration de méthode Java

Quel est le nombre maximum de parameters qu’une méthode en Java peut avoir et pourquoi? J’utilise Java 1.8 sur un système Windows 64 bits. Toutes les réponses sur StackOverflow à ce sujet indiquent que la limite technique est de 255 parameters sans spécifier pourquoi. Pour être précis, 255 pour les méthodes statiques et 254 pour […]

Java: le tableau int s’initialise avec des éléments non nuls

Selon le JLS, un tableau int doit être rempli par des zéros juste après l’initialisation. Cependant, je suis confronté à une situation où ce n’est pas le cas. Un tel comportement se produit d’abord dans JDK 7u4 et se produit également dans toutes les mises à jour ultérieures (j’utilise une implémentation 64 bits). Le code […]

Comment obtenir des arguments vm depuis l’intérieur de l’application Java?

Je dois vérifier si une option pouvant être transmise à JVM est explicitement définie ou a sa valeur par défaut. Pour être plus précis: Je dois créer un thread spécifique avec une taille de stack native supérieure à celle par défaut, mais si l’utilisateur souhaite prendre en charge de telles -Xss spécifiant l’option -Xss , […]