JAVA-JVM

JVM内存结构浅析

JVM 包含两个子系统和两个组件。两个子系统分别是ClassLoader和ExecutionEngine,两个组件则是Runtime Data Area和Native Interface,其中Runtime Data Area中就包含了我们常说的JVM内存。

阅读全文>>

JAVA-JVM

JVM对大对象分配内存的特殊处理

前段日子在和leader交流技术的时候,偶然听到jvm在分配内存空间给大对象时,如果young区空间不足会直接在old区切一块过去。对于这个结论很好奇,也比较怀疑,所以就上网搜了下,发现还真有这么回事。以下给出具体代码来说明

阅读全文>>

JAVA-JVM

JVM内存结构浅析

jvm中的内存可以分为堆内存和非堆内存,其中堆内存用于存储虚拟机运行中产生的各种对象,而通常所说的GC也就是针对这一块内存而言的。作为开发者,我们并不需要去关心到底什么时候该调用GC去清理内存,因为jvm会帮我们打理好这一块。但是如果想深入了解java内存管理,就不得不关心下这块对程序员“透明”的区域了。

阅读全文>>

JAVA-JVM

JVM对象内存分配方式总结

通常来说关于JVM对于对象的内存分配,只要到堆内分配一般就over了,但是在很多人的博客或者帖子中又说了一些其他的分配,比如栈内分配等等,搞的自己有点眼晕,索性就将JVM内存分配的方式统统查了一遍,然后总体上给缕一下。一来是方便自己,权当读书笔记,二来希望有人能一起讨论下。

阅读全文>>