Articles of jvm

¿Es una mala práctica usar break para salir de un bucle en Java?

Me preguntaba si es una “mala práctica” usar una instrucción break para salir de un bucle en lugar de cumplir la condición de bucle. No tengo suficiente información sobre Java y la JVM para saber cómo se maneja un bucle, así que me preguntaba si estaba pasando por alto algo crítico al hacerlo. El enfoque […]

Alcance de las propiedades del sistema Java

En Java utilizamos el método System.setProperty () para establecer algunas propiedades del sistema. De acuerdo con este artículo, el uso de las propiedades del sistema es un poco complicado. System.setProperty () puede ser una llamada malvada. Es 100% hostil a los hilos Contiene variables super-globales Es extremadamente difícil depurar cuando estas variables cambian misteriosamente en […]

El uso de la memoria JVM está fuera de control

Tengo una aplicación web Tomcat que realiza algunas tareas de memoria y CPU intensas en nombre de los clientes. Esto es normal y es la funcionalidad deseada. Sin embargo, cuando ejecuto Tomcat, el uso de la memoria se dispara a lo largo del tiempo a más de 4.0 GB, momento en el que suelo matar […]

en System.out.println ()

En primer lugar, lamento si esta es una pregunta muy básica y promuevo que sigo siendo un código mono. Me pidieron en una entrevista para elucidar System.out.println (); Expliqué de la siguiente manera //this class belongs to java.lang package class System{ public static PrintStream out; } //this class belongs to java.io package class PrintStream{ public […]

Grupo de cadenas frente a conjunto constante

Esta pregunta puede ser tonta. Pero estoy completamente confundido. Necesita ayuda para comprender el grupo de cadenas y el conjunto constante. Tengo claro el interinato de cadenas y el grupo de cadenas. String s1 = “Hello”; String s2 = “Hello”; Ahora ambos se refieren al mismo objeto debido al internamiento. (Ie) Como las cadenas son […]

¿Cómo puedo desactivar el uso de la stack IPv6 para IPs IPv4 en JRE?

Como puede ver en las capturas de pantalla siguientes, eclipse y Android SDK Manager (y otros progtwigs Java) intentan conectarse a IPv4 Internet IP a través de la stack IPv6 TCP / IP, mientras que Proxifier (un progtwig proxy manager, nevermind) no puede soportarlo. ¿Cómo puedo desactivar IPv6 en Java?

-XX: MaxPermSize con o sin -XX: PermSize

Nos encontramos con un error de espacio Java.lang.OutOfMemoryError: PermGen y mirando los parámetros de JVM de tomcat, además de los -Xms y -Xmx , también especificamos -XX:MaxPermSize=128m . Después de un poco de creación de perfiles, puedo ver ocasionalmente recolección de basura en el espacio PermGen, lo que evita que se ejecute por completo. Mi […]

cómo retransformar una clase en tiempo de ejecución

Estoy probando modificar la clase que ya se cargó en un jvm. La solución que encontré es: Primero, adjunte un agente a un jvm especificado por pid. (por ejemplo, 8191) (Códigos: AttachTest) 2nd Encuentra la clase que deseas modificar de aquellas que ya han sido cargadas en el jvm (ej. 8191). 3º Añadir transformador usando […]

Recolección de basura en cadenas internas, String Pool y perm-space

Después de explorar las partes internas de las cuerdas de Java, me confundí en lo que se conoce como el “espacio permanente”. Mi comprensión al principio fue que contenía literales de String y metadatos de clase como se explica en esta pregunta . También he leído sobre el método String.intern() y coloca String s en […]

Analizando registros de gc

Estoy usando las -XX:+PrintGCApplicationStoppedTime y -XX:+PrintGCApplicationConcurrentTime para activar el registro de gc. ¡Pero descubrí que solo después de 4 0 5 impresiones de PrintGCApplicationStoppedTime mis detalles reales de los registros de gc se imprimen a través del -XX:+PrintGCDetails ! Por definición, PrintGCApplicationStoppedTime imprime la PrintGCApplicationStoppedTime aplicación detenida para cada gc. Pero no tengo claro por […]