Resultados da pesquisa a pedido "java-memory-model"
Se o Thread B deseja ver as alterações que o Thread A faz, apenas a última alteração pode ser uma variável volátil em oposição a todo
Eu olhei paraesta resposta [https://stackoverflow.com/questions/8769570/volatile-piggyback-is-this-enough-for-visiblity/8769692#8769692] e indica como: Sob o novo modelo de memória, quando o segmento A grava em uma variável volátil V e o ...
A JVM garante o cache de variáveis não voláteis?
A JVM garante o cache de variáveis não voláteis? Um programador pode depender da JVM para sempre armazenar em cache variáveis não voláteis localmente para cada encadeamento. Ou a JVM pode ou não fazer isso, portanto, um programador não deve ...
por que a fase de alocação pode ser aumentada se substituirmos o método finalize?
Ouvi dizer que no livro de Joshua Bloch escrito que a alocação e a coleta de memória podem aumentar para 430 vezes se substituirmos o método finalize. Está claro para mim que a coleta de memória pode funcionar mais lentamente porque é necessária ...
Por que o `synchronized (new Object ()) {}` não é uma opção?
No código a seguir: class A { private int number; public void a() { number = 5; } public void b() { while(number == 0) { // ... } } }Se o método b for chamado e, em seguida, um novo encadeamento for iniciado, o qual dispara o método a, não é ...
Entendendo o que acontece antes e a sincronização [duplicado]
Esta pergunta já tem uma resposta aqui: Como entender o que acontece antes de consistente [/questions/11970428/how-to-understand-happens-before-consistent] 4 respostas Estou tentando entender Javaacontece antes da ...
Como descobrir onde exatamente a geração jovem / velha está localizada na memória?
Recentemente, consegui obter o endereço de um objeto usando a classe sun.misc.Unsafe. E agora estou tentando encontrar programaticamente uma geração real onde meu objeto está localizado. Para isso, quero conhecer os pontos inicial e final ...
Modelo de memória Java: É seguro criar um gráfico de referência cíclico dos campos da instância final, todos atribuídos no mesmo encadeamento?
Alguém que entende o Java Memory Model melhor do que eu pode confirmar que o código a seguir está sincronizado corretamente? class Foo { private final Bar bar; Foo() { this.bar = new Bar(this); } } class Bar { private final Foo foo; Bar(Foo foo) ...
Por que a chamada do método setArray () é necessária em CopyOnWriteArrayList
Em CopyOnWriteArrayList.java, no conjunto de métodos (índice int, elemento E) abaixo public E set(int index, E element) { final ReentrantLock lock = this.lock; lock.lock(); try { Object[] elements = getArray(); Object oldValue = elements[index]; ...
O que está no cabeçalho do objeto java
Você poderia me dar algumas informações sobre o que exatamente é armazenado no cabeçalho do objeto? Eu sei, que provavelmente é dependente da JVM, mas talvez pelo menos pelo HotSpot? Estou procurando uma descrição exata especificamente para uma ...
Quais práticas de sincronização da JVM posso ignorar, assumindo que sei que executarei em x64 cpus?
Eu sei que o modelo de memória da JVM é feito para o menor denominador comum de CPUs, portanto, ele deve assumir o modelo mais fraco possível de uma CPU no qual a JVM possa executar (por exemplo, ARM). Agora, considerando que o x64 tem um modelo ...