
jvm
文章平均质量分 52
jvm
vmaps
这个作者很懒,什么都没留下…
展开
-
java string 在堆内存 存放位置
需要注意的是,字符串常量池中的字符串对象并不是直接存储在堆内存中的对象,而是存储在常量池中的引用或指向堆中字符串对象的指针。关键字创建的字符串对象直接存储在堆内存中,而字符串常量池中的字符串引用或指针则与Java虚拟机的实现和版本有关,但通常也位于堆空间的某个部分。另一方面,字符串常量池(String Constant Pool)的存放位置在不同版本的Java虚拟机中有所不同,但总的来说,它并不直接位于堆内存或方法区的某个特定区域,而是与Java虚拟机的实现和版本有关。关键字创建的字符串对象。原创 2024-03-07 22:22:29 · 281 阅读 · 0 评论 -
垃圾回收 复制 标记清除 标记整理 cms g1 流程是什么 运用在年轻代 还是老年代
垃圾回收(Garbage Collection, GC)是JVM内存管理的重要组成部分,它负责自动回收不再使用的对象占用的内存空间。下面简要介绍几种常见的垃圾回收算法以及它们所应用的区域(年轻代或老年代),并简要描述CMS和G1垃圾回收器的流程。原创 2024-03-06 09:08:11 · 508 阅读 · 0 评论 -
jvm 垃圾回收流程
在这次GC中,存活的对象会被移动到幸存者区,而死亡的对象则会被回收。当对象在新生代中经历了一定次数的GC后仍然存活,或者新创建的对象大小超过了新生代分配的最大阈值,那么这些对象会被直接分配到老年代。当老年代空间不足时,会触发一次Major GC(全堆垃圾回收),回收老年代和新生代中的不再使用的对象。JVM(Java Virtual Machine,Java虚拟机)的垃圾回收(Garbage Collection,GC)是自动管理内存的过程,它负责回收不再被引用的对象占用的内存空间。原创 2024-03-06 09:07:27 · 350 阅读 · 0 评论 -
jvm 内存分布 1.7 1.8 区别
总的来说,JDK 1.7和JDK 1.8在内存管理方面的主要区别在于永久代和元空间的替换,以及运行时常量池的位置变化。这些变化提高了JVM的内存管理效率和灵活性。JVM(Java Virtual Machine,Java虚拟机)的内存分布在JDK 1.7和JDK 1.8之间存在一些关键的区别。原创 2024-03-06 09:06:08 · 488 阅读 · 0 评论 -
垃圾回收 中 三色标记法 内存屏障 原理流程
*三色标记法(Tri-color Marking)**是垃圾回收算法中一种常用的对象标记方法,它用于追踪活动对象(即还在使用的对象)和非活动对象(可以被回收的对象)。:从黑色对象开始,递归地访问它们的子对象,将白色对象标记为灰色,并将灰色对象的子对象也标记为灰色。当遇到一个黑色对象的子对象时,该子对象及其子对象都已经被访问过,因此不需要再次标记。读屏障则用于确保在标记阶段,当一个线程读取对象的引用时,它看到的是最新的标记状态。:所有未被标记(即仍然是白色)的对象都是非活动对象,可以被安全地回收。原创 2024-03-06 09:05:47 · 229 阅读 · 0 评论 -
jvm jit 触发原理
JVM(Java Virtual Machine)的JIT(Just-In-Time)编译器是一种能够在运行时将Java字节码编译成本地机器码的技术。总的来说,JVM的JIT编译器通过热点代码检测、编译阈值、编译优化和分层编译等机制,实现了在运行时动态地将Java字节码编译成本地机器码,从而提高了代码的执行效率。原创 2024-03-06 09:05:04 · 211 阅读 · 0 评论 -
jvm 类加载过程 双亲委派流程
因为所有的类加载请求都会被传送到顶层的启动类加载器中,这就保证了Java核心API的类始终是由官方提供的版本加载,而不是被用户或其他代码所替换。同时,双亲委派模型也减少了系统的开销,因为每个类只会被加载一次,避免了类的重复加载。:当一个类收到了类加载请求时,它不会自己直接去加载,而是把这个请求委派给父类的加载器去执行,每一个层次的类加载器都是如此,因此所有的加载请求最终都应该传送到顶层的启动类加载器中。只有当父类加载器无法完成这个加载请求(它的搜索范围中没有找到所需的类)时,子加载器才会尝试自己去加载。原创 2024-03-03 23:06:47 · 456 阅读 · 0 评论