Articles of jvm

Como a JVM encerra os threads do daemon? ou como escrever threads daemon que terminam graciosamente

Cenário Hipotético: Eu tenho um thread daemon responsável por algumas E / S, o segmento principal termina e retorna, e a JVM decide encerrar meu thread daemon. Como isso acontece? Interromper? Finalizar? Como posso codificar meu thread do daemon para que ele reaja normalmente quando finalizado?

Por que um gráfico em forma de dente de serra?

Quando executo o código mencionado abaixo usando o NetBeans, o gráfico de tamanho de heap alocado se assemelha a uma forma dente de serra. Eu estou anexando a captura de canvas do JVisualVM que mostra o gráfico de alocação de heap com uma forma dente de serra. O programa é uma impressão de loop infinito […]

em System.out.println ()

Primeiramente, lamenta se esta é uma questão muito básica e eu promovo que ainda sou um macaco de código. Fui convidado em uma entrevista para elucidar System.out.println (); Eu expliquei o seguinte caminho //this class belongs to java.lang package class System{ public static PrintStream out; } //this class belongs to java.io package class PrintStream{ public […]

Quais são as circunstâncias sob as quais um bloco finalmente {} não será executado?

Em um Java try{} … catch{} … finally{} block, o código dentro do finally{} é geralmente considerado “garantido” para rodar independentemente do que ocorre no try / catch. No entanto, conheço pelo menos duas circunstâncias em que não será executado: Se System.exit(0) é chamado; ou, Se uma Exceção for lançada até a JVM e o […]

Como posso desabilitar o uso da pilha IPv6 para IPs IPv4 no JRE?

Como você pode ver nas capturas de canvas abaixo, o Eclipse e o Android SDK Manager (e outros programas Java) estão tentando se conectar a um IP IPv4 via TCP / IP enquanto o Proxifier (um programa de gerenciador de proxy, nevermind) não suporta isso. Como posso desativar o IPv6 em Java?

limitando o log de debugging do SSL ssl

Usando o sinalizador JVM -Djavax.net.debug=ssl está produzindo uma enorme quantidade de registros, os detalhes de cada evento SSL no servidor. Existe alguma maneira de ter apenas erros de registro? ou possivelmente há algum subconjunto melhor desses sinalizadores que produzem saída mais ordenada all turn on all debugging ssl turn on ssl debugging The following can […]

-XX: MaxPermSize com ou sem -XX: PermSize

Nós nos deparamos com um erro de espaço Java.lang.OutOfMemoryError: PermGen e observando os parâmetros da JVM tomcat, além dos parâmetros -Xms e -Xmx , também especificamos -XX:MaxPermSize=128m . Depois de um pouco de criação de perfil, vejo ocasionalmente a garbage collection acontecer no espaço do PermGen, evitando que ela fique cheia. Minha pergunta é: além […]

como retransformar uma class em tempo de execução

Estou tring modificar class que já carreguei em um jvm. A solução que encontrei é: 1º Anexe um agente a um jvm especificado por pid. (por exemplo, 8191) (códigos: AttachTest) 2º Encontre a class que você quer modificar daquelas que já foram carregadas no jvm (por exemplo, 8191). 3º Adicionar transformador usando o instrumento (códigos: […]

Existe uma explicação melhor de frameworks de mapas de pilha?

Eu estive olhando recentemente para o Java Virtual Machine Specifications (JVMS) para tentar entender melhor o que faz meus programas funcionarem, mas encontrei uma seção que não estou conseguindo … A Seção 4.7.4 descreve o Atributo StackMapTable e, nessa seção, o documento entra em detalhes sobre os frameworks do mapa da pilha. A questão é […]

Coleta de lixo em strings internas, pool de strings e perm-space

Depois de explorar os componentes internos do java, fiquei confuso com o que é chamado de “espaço permanente”. Inicialmente, compreendi que ela continha literais de String , bem como metadados de class, conforme explicado nesta pergunta . Eu também li sobre o método String.intern() e que ele coloca String s no String Pool retornando uma […]