JVM学习笔记
文章平均质量分 89
..
Miaoshuowen
这个作者很懒,什么都没留下…
展开
-
HotSpot 虚拟机对象
对象的创建 虚拟机遇到一条new指令时,首先检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,必须先执行相应的类加载过程。 在类加载检查通过后,虚拟机将为新生对象分配内存。对象需要的内存大小在类加载完成后就可以确定,在堆的空闲内存中划分一块区域。 内存规整—“指正碰撞” 内存交错—“空闲列表” 在使用Serial、ParNew等带Compact过程的收集器时,系统采用指针碰撞,而使用CMS这种基于Mark-Sweep算法的收集器原创 2021-02-07 17:49:40 · 166 阅读 · 0 评论 -
Java内存区域
对于Java程序员来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个操作去写配对的delete/free代码,不容易出现内存泄露和内存溢出问题,由虚拟机管理这一切开启你都很美好。不过,也正是因为Java程序员把内存控制的权利交给了Java虚拟机,一旦出现内存泄露和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会成为一项异常艰难的工作。 运行时数据区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和删除的时间.原创 2021-01-15 17:59:46 · 144 阅读 · 0 评论