
JVM
文章平均质量分 53
提升对JVM的理解
小黑cc
小黑cc的博客
展开
-
JVM--理解对象的创建
对象的创建 当虚拟机遇到一条字节码new指令时,首先检查这个指令参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载,解析和初始化过。如果没有,那必须先执行相应的类加载过程。 类加载检查通过后,虚拟机为新生对象分配内存,对象所需的内存大小在类加载完成之后就完全可以确定。 假设 Java堆中内存是绝对规整的,使用过的内存放一边,空闲的内存放另一边,中间放一个指针作为分界点的指示器,那分配内存就仅仅是把那个指针向空闲方向挪动一段足够大的空间划分给对象实例,这种分配方式称为原创 2022-04-09 17:08:04 · 873 阅读 · 1 评论 -
JVM内存区域划分
Java虚拟机在执行Java程序的过程中,会把所管理的内存划分为若干个不同的数据区域: 程序计数器 功能: 可以看作是当前线程所执行的字节码的行号指示器。字节码解释器的工作就是通过改变这个计数器的值,来选取下一条需要执行的字节码文件,它是程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器完成。 特点: 为了处理器(cpu)中线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,各条线程之间的计数器之间互不影响,独立存储。我们称这类区域为“线程私原创 2022-04-09 16:39:43 · 590 阅读 · 1 评论