
Java
文章平均质量分 75
K____End
宠辱不惊,看庭前花开花落;去留无意,望天空云卷云舒。
展开
-
Class<?> 对象 的作用
Class<?对象是 Java 反射机制的基础,提供了对类元数据的访问以及动态操作类的能力。通过Class<?对象,你可以在运行时获取类的信息、创建类的实例、调用方法和访问字段。这种灵活性使得Class<?对象在许多高级应用场景中非常重要,如插件系统、模块化应用、AOP 和动态代理等。原创 2025-03-04 11:33:42 · 451 阅读 · 0 评论 -
classLoader.getResource() 的方法说明
绝对路径:以开头的路径表示从类路径的根目录开始查找资源。相对路径:不以开头的路径表示相对于调用该方法的类所在的包。原创 2025-03-04 10:29:13 · 368 阅读 · 0 评论 -
getClassLoader() 方法
获取类加载器可以帮助进行调试和诊断,了解某个类是如何被加载的,尤其是在复杂的类加载环境中(如 OSGi 或 Java EE 容器)。原创 2025-03-04 10:24:45 · 783 阅读 · 0 评论 -
isAnnotationPresent 方法作用
方法用于判断一个类、方法、字段等是否应用了特定类型的注解。它对于需要在运行时动态处理注解的应用场景非常有用,如框架开发、AOP编程等。使用该方法前,请确保注解已被保留到运行时(通过声明)。原创 2025-03-04 10:16:57 · 333 阅读 · 0 评论 -
自定义注解的定义
这样的语法用于在自定义注解中定义一个具有默认值的元素。这意味着,当你在其他地方使用该注解时,如果没有为value提供具体的值,它将自动使用这个默认值(在这个例子中是空字符串""这种机制提供了极大的便利性和灵活性,使得注解更加易于使用和维护。不提供value值的情况: 如果你在应用这个注解时不指定value的值,那么它将自动采用默认值(即空字符串""提供value值的情况: 当你确实想要为value元素指定一个具体的值时,可以直接在注解中提供这个值。")显式命名参数的方式。原创 2025-03-04 10:15:12 · 314 阅读 · 0 评论 -
JDK17 隐藏类 Hidden Classes 介绍
隐藏类是JDK 17引入的一项重要特性,旨在提高性能并减少内存使用,特别是在处理大量Lambda表达式时。它通过避免创建和加载不必要的类来实现这一目标。对于大多数应用程序来说,隐藏类是透明的,并且会自动启用。如果你需要更细粒度的控制,可以通过JVM参数来配置隐藏类的行为。原创 2024-08-23 10:07:39 · 836 阅读 · 0 评论 -
java JVM G1垃圾收集器一些主要特性和工作原理
G1 (Garbage-First) 垃圾收集器是Java虚拟机(JVM)中的一个现代化的垃圾回收器,它首次出现在JDK 7 Update 4,并在JDK 9中成为默认的垃圾收集器。G1的主要设计目标是在提供可预测的停顿时间的同时达到高吞吐量,这对于响应时间和延迟敏感的应用程序非常有用。原创 2024-08-20 14:59:50 · 570 阅读 · 0 评论 -
java JVM ZGC垃圾收集器关键特性和工作原理
ZGC通过上述技术和特性实现了低延迟的垃圾收集,并且能够很好地扩展到大规模的应用场景中。它的设计非常适合那些对延迟敏感的应用程序,比如实时系统或高频率交易系统等。原创 2024-08-20 14:59:19 · 579 阅读 · 0 评论 -
Java虚拟机 (JVM) 中的三色标记 (Three-Color Marking)
三色标记算法是一种有效的并发标记技术,它被广泛应用于Java虚拟机的垃圾收集器中,特别是在那些追求低暂停时间的垃圾收集器中,如CMS和G1。通过将标记过程分解为多个阶段,并采用并发执行的方式,三色标记算法能够在减少暂停时间的同时保持垃圾收集的有效性。原创 2024-08-16 14:36:41 · 507 阅读 · 0 评论 -
JVM CMS运行原理
CMS垃圾收集器通过并发执行大部分的垃圾回收工作来减少应用程序的暂停时间,这对于需要低延迟的应用场景非常有用。尽管CMS在减少暂停时间方面表现出色,但由于它不进行内存压缩,可能会导致内存碎片化问题。随着Java版本的更新,新的垃圾收集器如G1 (Garbage First) 和ZGC (Z Garbage Collector) 等提供了更好的解决方案,它们既能够减少暂停时间,又能解决内存碎片问题。原创 2024-08-16 12:20:56 · 1131 阅读 · 0 评论 -
java JVM 锁消除
锁消除是一种有效的优化手段,它可以帮助减少不必要的锁操作,从而提高程序的并发性能。但是,这种优化取决于逃逸分析的结果,只有在确定对象不会被多个线程访问的情况下才能进行。开发者可以通过编写简洁、清晰的代码来帮助JVM更好地进行这类优化。原创 2024-08-08 15:40:10 · 516 阅读 · 0 评论 -
java JVM中标量替换
标量替换是一种有效的优化手段,它可以帮助减少对象创建和内存分配的开销,从而提高程序的性能。然而,这种优化并不是自动进行的,它取决于JVM的即时编译器的具体实现和逃逸分析的结果。开发者可以通过编写简洁、清晰的代码来帮助JVM更好地进行这类优化。原创 2024-08-08 15:39:07 · 558 阅读 · 0 评论 -
Java JVM 热点代码识别方式
热点代码识别和优化是JVM为了提高程序执行效率而采取的重要手段。通过识别和优化热点代码,JVM可以显著减少程序运行时的CPU消耗,从而提高程序的整体性能。对于开发者而言,了解这些机制有助于编写更高效、更易于优化的代码。原创 2024-08-08 10:01:18 · 889 阅读 · 0 评论 -
Java JVM中GC的组成部分
Java虚拟机 (JVM) 的垃圾收集器 (Garbage Collector, GC) 是负责自动管理堆内存的重要组件。它能够识别不再使用的对象,并释放这些对象所占用的内存空间,以便于新对象的创建。JVM的GC机制由多个不同的部分组成,每个部分负责不同的内存区域和特定类型的垃圾回收任务。原创 2024-08-06 09:54:05 · 693 阅读 · 0 评论 -
Java JVM中的栈空间怎么释放
在Java虚拟机 (JVM) 中,栈空间主要用于存储方法调用时的信息,例如局部变量、操作数栈、动态链接信息以及返回地址等。当一个方法被调用时,一个新的栈帧会在当前线程的栈中被创建;当该方法执行完毕后,这个栈帧就会被销毁。: 当一个方法执行完毕,它的栈帧会被自动移除,其占用的空间将被释放。这意味着所有在该方法中声明的局部变量和临时变量都将不再可访问,并且相应的内存空间会被回收。: 如果一个方法抛出了一个异常并且没有被捕获,或者异常被捕获后处理异常的方法也抛出了异常,则当前方法的栈帧也会被销毁。原创 2024-08-06 09:50:07 · 444 阅读 · 0 评论