
JVM
文章平均质量分 94
深入浅出JVM,夯实Java底层功底
小李子i
一起加油呀
展开
-
JVM夯实之路—垃圾收集器详解及JVM内存分配策略
是让G1收集器去跟踪各个Region里面的垃圾堆积的“价值”大小,价值即回收所获得的空间大小以及回收所需时间的经验值,然后在后台维护一个优先级列表,每次根据用户设定允许的收集停顿时间(使用参数-XX:MaxGCPauseMillis指定,默认值是200毫秒),优先处理回收价值收益最大的那些Region,这也就是“Garbage First”名字的由来。同样的,如果内存回收的速度赶不上内存分配的速度,G1收集器也要被迫冻结用户线程执行,导致Full GC而产生长时间“Stop The World”。原创 2023-07-28 21:59:15 · 236 阅读 · 1 评论 -
JVM夯实之路—对象在堆中分配、布局和访问全过程
本文详细讲解。原创 2023-07-24 21:24:49 · 143 阅读 · 0 评论 -
JVM夯实之路—深入理解垃圾收集算法
如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称该reference数据是代表某块内存、某个对象的引用。在JDK1.2之后,Java对引用的概念进行了扩充,将引用分为。原创 2023-07-27 23:05:40 · 104 阅读 · 1 评论 -
JVM夯实之路—深入理解运行时栈帧结构
在Java程序被编译为Class文件时,就在方法的Code属性的max_locals数据项中确定了该方法所需分配的局部变量表的最大容量。局部变量表的容量以。原创 2023-07-28 22:58:16 · 103 阅读 · 1 评论 -
JVM夯实之路—类加载机制
深入浅出JVM类加载机制原创 2023-07-28 22:40:24 · 187 阅读 · 1 评论 -
JVM夯实之路—Class类文件结构详解
越来越多的程序语言选择了。各种不同平台的Java虚拟机,以及所有平台都统一支持的程序存储格式——是构成的基石。在class文件中不仅存放了字节码,还存放了很多辅助JVM来执行class的附加信息。1):包括class文件格式版本号及各部分的数量与大小的信息2):对应于Java源码中声明与常量的信息。包含类/继承的超类/实现的接口的声明信息、域与方法声明信息和常量池3):对应Java源码中语句和表达式对应的信息。包含字节码、异常处理器表、求值栈与局部变量区大小、求值栈的类型记录、调试符号信息。原创 2023-07-28 22:11:18 · 217 阅读 · 1 评论 -
JVM夯实之路—JVM内存区域详解
运行时常量池相对于Class文件常量池的另外一个重要特征是具备动态性,Java语言并不要求常量一定只有编译期才能产生,也就是说,并非预置入Class文件中常量池的内容才能进入方法区运行时常量池,运行期间也可以将新的常量放入池中,这种特性被开发人员利用得比较多的便是String类的intern()方法。,这部分内容将在类加载后存放到方法区的运行时常量池中。(由直接内存导致的内存溢出,一个明显的特征是在Heap Dump文件中不会看见有什么明显的异常情况,如果发现内存溢出之后产生的Dump文件很小,而。原创 2023-07-24 20:57:31 · 163 阅读 · 0 评论