![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 72
K____End
宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒。
展开
-
JDK17 隐藏类 Hidden Classes 介绍
隐藏类是JDK 17引入的一项重要特性,旨在提高性能并减少内存使用,特别是在处理大量Lambda表达式时。它通过避免创建和加载不必要的类来实现这一目标。对于大多数应用程序来说,隐藏类是透明的,并且会自动启用。如果你需要更细粒度的控制,可以通过JVM参数来配置隐藏类的行为。原创 2024-08-23 10:07:39 · 627 阅读 · 0 评论 -
java JVM G1垃圾收集器一些主要特性和工作原理
G1 (Garbage-First) 垃圾收集器是Java虚拟机(JVM)中的一个现代化的垃圾回收器,它首次出现在JDK 7 Update 4,并在JDK 9中成为默认的垃圾收集器。G1的主要设计目标是在提供可预测的停顿时间的同时达到高吞吐量,这对于响应时间和延迟敏感的应用程序非常有用。原创 2024-08-20 14:59:50 · 492 阅读 · 0 评论 -
java JVM ZGC垃圾收集器关键特性和工作原理
ZGC通过上述技术和特性实现了低延迟的垃圾收集,并且能够很好地扩展到大规模的应用场景中。它的设计非常适合那些对延迟敏感的应用程序,比如实时系统或高频率交易系统等。原创 2024-08-20 14:59:19 · 503 阅读 · 0 评论 -
Java虚拟机 (JVM) 中的三色标记 (Three-Color Marking)
三色标记算法是一种有效的并发标记技术,它被广泛应用于Java虚拟机的垃圾收集器中,特别是在那些追求低暂停时间的垃圾收集器中,如CMS和G1。通过将标记过程分解为多个阶段,并采用并发执行的方式,三色标记算法能够在减少暂停时间的同时保持垃圾收集的有效性。原创 2024-08-16 14:36:41 · 398 阅读 · 0 评论 -
JVM CMS运行原理
CMS垃圾收集器通过并发执行大部分的垃圾回收工作来减少应用程序的暂停时间,这对于需要低延迟的应用场景非常有用。尽管CMS在减少暂停时间方面表现出色,但由于它不进行内存压缩,可能会导致内存碎片化问题。随着Java版本的更新,新的垃圾收集器如G1 (Garbage First) 和ZGC (Z Garbage Collector) 等提供了更好的解决方案,它们既能够减少暂停时间,又能解决内存碎片问题。原创 2024-08-16 12:20:56 · 1002 阅读 · 0 评论 -
java JVM 锁消除
锁消除是一种有效的优化手段,它可以帮助减少不必要的锁操作,从而提高程序的并发性能。但是,这种优化取决于逃逸分析的结果,只有在确定对象不会被多个线程访问的情况下才能进行。开发者可以通过编写简洁、清晰的代码来帮助JVM更好地进行这类优化。原创 2024-08-08 15:40:10 · 442 阅读 · 0 评论 -
java JVM中标量替换
标量替换是一种有效的优化手段,它可以帮助减少对象创建和内存分配的开销,从而提高程序的性能。然而,这种优化并不是自动进行的,它取决于JVM的即时编译器的具体实现和逃逸分析的结果。开发者可以通过编写简洁、清晰的代码来帮助JVM更好地进行这类优化。原创 2024-08-08 15:39:07 · 428 阅读 · 0 评论 -
Java JVM 热点代码识别方式
热点代码识别和优化是JVM为了提高程序执行效率而采取的重要手段。通过识别和优化热点代码,JVM可以显著减少程序运行时的CPU消耗,从而提高程序的整体性能。对于开发者而言,了解这些机制有助于编写更高效、更易于优化的代码。原创 2024-08-08 10:01:18 · 701 阅读 · 0 评论 -
Java JVM中GC的组成部分
Java虚拟机 (JVM) 的垃圾收集器 (Garbage Collector, GC) 是负责自动管理堆内存的重要组件。它能够识别不再使用的对象,并释放这些对象所占用的内存空间,以便于新对象的创建。JVM的GC机制由多个不同的部分组成,每个部分负责不同的内存区域和特定类型的垃圾回收任务。原创 2024-08-06 09:54:05 · 638 阅读 · 0 评论 -
Java JVM中的栈空间怎么释放
在Java虚拟机 (JVM) 中,栈空间主要用于存储方法调用时的信息,例如局部变量、操作数栈、动态链接信息以及返回地址等。当一个方法被调用时,一个新的栈帧会在当前线程的栈中被创建;当该方法执行完毕后,这个栈帧就会被销毁。: 当一个方法执行完毕,它的栈帧会被自动移除,其占用的空间将被释放。这意味着所有在该方法中声明的局部变量和临时变量都将不再可访问,并且相应的内存空间会被回收。: 如果一个方法抛出了一个异常并且没有被捕获,或者异常被捕获后处理异常的方法也抛出了异常,则当前方法的栈帧也会被销毁。原创 2024-08-06 09:50:07 · 340 阅读 · 0 评论