![](https://i-blog.csdnimg.cn/direct/c17c9479e8854828a99f934bb959b4fb.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JVM虚拟机
本栏内容记录JVM虚拟机学习笔记,参考资料来源:深入理解Java虚拟机第三版—周志明著。
摸鱼小小虫
3GAndroid外卖员
展开
-
JVM—HotSpot虚拟机对象探秘
对象只是普通对象,不包括数组和Class对象:当虚拟机遇到字节码New指令时,先检查这个指令的参数是否可以在常量池定位到一个类的符号引用,并且加载这个符号引用代表的类是否被加载、解析、验证、初始化过。对象所需内存在类加载完成后就可以完全确定下来,实际上是在Java堆中划分一块定量大小的内存。:假设Java堆中使用过的内存在一边,未使用过的内存在一边,中间有一个指针作为分界点指示器,。Serial、ParNew带压缩整理的的收集器就是采用这种算法。原创 2024-07-29 17:18:18 · 272 阅读 · 0 评论 -
JVM—运行时数据区域
主要介绍了运行时数据区的几个关键部分。首先,程序计数器、虚拟机栈、本地方法栈均为线程私有区域。其次,Java堆是线程共享的,用于存储对象和数组;常量池也是堆的一部分。方法区同样是线程共享的,包含运行时常量池和类信息。此外,还介绍了直接内存的使用。最后,列举了常见的内存溢出问题,包括Java堆内存溢出、Java方法区内存溢出以及虚拟机栈溢出等问题。这些概念是理解Java内存管理的重要基础。原创 2024-07-29 17:11:57 · 435 阅读 · 0 评论