
jvm
文章平均质量分 78
jvm jdk 相关知识分类
标标王者
这个作者很懒,什么都没留下…
展开
-
jvm -垃圾回收
可达性分析法的基本思想是从一组称为“GC Roots”的根对象出发,通过遍历对象之间的引用关系,找到所有与根对象直接或间接相连的对象,这些对象被认为是可达的(活动的),而那些不与根对象相连的对象则被认为是不可达的(垃圾对象)。如果一个对象的内存超过了新生代的容量,以至于无法在新生代中分配足够的空间来存储该对象,那么这个对象就会被直接分配到老年代中。虚拟机栈中存储着每个线程的方法调用栈,每个栈帧中都包含了局部变量表,其中存储了对对象的引用。本地方法栈用于执行本地方法,其中可能会有对对象的引用。原创 2024-04-17 16:16:22 · 1939 阅读 · 0 评论 -
jvm -直接内存 - Direct Memory
常见于NIO操作时,用于数据缓冲区分配回收成本较高,但读写性能高不受VM内存回收管理零拷贝操作: 直接内存位于堆外(off-heap),而不是受到 Java 堆内存管理的限制。这意味着直接内存可以更容易地进行零拷贝操作,例如在进行网络通信、文件 I/O、NIO 操作时,可以直接将数据传输到直接内存中,而不需要经过 JVM 的堆内存。减少垃圾回收压力: 直接内存不受 Java 堆内存管理的影响,因此不会对垃圾收集器的运行造成影响。原创 2024-04-17 16:01:08 · 265 阅读 · 0 评论 -
jvm-常量池 -字符串常量池
javac 在编译阶段优化,结果已经在编译器确定为 ab 这种动态。原创 2024-04-11 09:49:54 · 846 阅读 · 0 评论 -
jvm -2 虚拟栈 堆 方法区
通过new 关键字 创建对象都会使用堆内存 通过new 关键字 创建对象都会使用堆内存。原创 2024-04-10 11:01:40 · 1774 阅读 · 0 评论 -
jvm - 程数计数器 结构
注意: 需要注意的是,寄存器的数量有限,且不同的CPU架构可能具有不同数量和类型的寄存器。因此,虽然程数计数器通常放在CPU的寄存器中,但随着线程数量的增加或者程序的复杂性,可能会出现寄存器不足的情况,这时候虚拟机可能会采取一些策略来进行寄存器分配和管理,以确保程序的正常执行。 JVM 指令集与机器码之间的翻译是由 JVM 的即时编译器(JIT编译器)完成的。JIT编译器的类型有多种,例如 HotSpot JIT、C1 JIT、C2 JIT 等,它们在不同的阶段以不同的方式进行优化。原创 2024-04-10 10:47:36 · 441 阅读 · 0 评论