Resultados da pesquisa a pedido "java-memory-model"

1 a resposta

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 ...

3 a resposta

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 ...

1 a resposta

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 ...

2 a resposta

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 é ...

4 a resposta

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 ...

2 a resposta

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 ...

2 a resposta

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) ...

5 a resposta

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]; ...

3 a resposta

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 ...

5 a resposta

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 ...