Java - Heap vs acesso direto à memória

Eu me depareisun.misc.Unsafe classe, permitindo que o usuário aloque, desaloque e, em geral, acesse a memória de maneira semelhante à do C. Eu li em alguns blogs que abordam esse problema, por exemplo.

O que é mais rápido - pilha ou memória direta - os resultados do teste reivindicam heapMemória fora da pilha vs DirectByteBuffer vs Heap - Off-heap parece ser o mais rápidoArquivos mapeados na memória para dados de séries temporais - MappedByteBuffer mais rápido que objetos de pilha

O artigo 1) parece estar em contradição com os outros e não compreendo o porquê. O DirectMemoryBuffer está usandosun.misc.Unsafe sob o capô (o mesmoMappedByteBuffer), para que também sofram chamadas JNI, conforme descrito no artigo 1. Além disso, no artigo 2, os acessos de memória fora da pilha se assemelham aos do artigo 1 e fornecem resultados completamente opostos.

Alguém poderia geralmente comentar sobre como proceder com a memória fora da pilha, ou seja, quando usá-la, há um benefício significativo e, o mais importante, por que um assunto semelhante fornece resultados altamente diferentes com base nos artigos acima? Obrigado.

questionAnswers(1)

yourAnswerToTheQuestion