
Java-jvm
文章平均质量分 85
星辰yzy
这个作者很懒,什么都没留下…
展开
-
Java-JVM-类加载机制(双亲委派机制)
**双亲委派模型**是 Java 类加载机制中的一种设计思想,用于控制类的加载过程和确保类的唯一性。它的核心思想是:当一个类加载器(子类加载器)收到加载类的请求时,它会首先委派给其父类加载器加载,只有在父类加载器无法加载时才会自己尝试加载。原创 2024-03-13 16:26:15 · 413 阅读 · 0 评论 -
Java-JVM-架构-垃圾回收器(GC)
综上所述,通过选择合适的垃圾收集器、调整堆内存大小、优化对象分配和回收、使用并发垃圾收集器、调整垃圾收集器的参数以及使用分代回收等方法,可以有效地减少垃圾回收的停顿时间,提高应用程序的性能和响应性。举例来说,当一个对象被分配了内存空间,但在使用完毕后,没有被及时释放,即使该对象不再被程序所需要,但由于某些引用仍然存在,垃圾回收器无法识别该对象为垃圾,因此无法回收其占用的内存空间,导致内存泄漏。总的来说,Java 的垃圾回收机制通过追踪对象的引用关系,识别并释放不再被引用的对象,从而实现自动的内存管理。原创 2024-03-07 17:49:58 · 1784 阅读 · 0 评论 -
Java-JVM-架构-本地方法接口(JNI)
JNI(Java Native Interface)是Java平台的一种编程框架,用于实现Java代码与本地代码(通常是C、C++代码)之间的交互。综上所述,JNI是Java与本地代码之间进行交互的重要框架,可以实现性能优化、平台特定功能的访问以及现有代码的复用,但在使用时需要谨慎考虑性能、安全性和可移植性等问题。以下是一个简单的示例,展示了如何使用JNI在Java代码中调用本地方法,并在本地方法中实现对C语言库的调用。这个头文件包含了本地方法的声明,用于在本地代码中实现这些方法。关键字声明本地方法。原创 2024-03-04 23:49:23 · 2216 阅读 · 0 评论 -
Java-JVM-架构-执行引擎、即时编译器
Java虚拟机通常会将解释执行和编译执行相结合,根据代码的特性和运行时情况动态选择合适的执行方式。在程序启动时,通常会先解释执行部分代码以快速启动应用,随着程序的运行,执行引擎会根据代码的热点进行编译优化,提高执行效率。编译执行(Just-In-Time Compilation,JIT):执行引擎将字节码动态编译为本地机器代码,然后直接执行编译后的代码。执行引擎将字节码解释为机器指令,并执行这些指令来完成程序的运行。JIT编译器会监视正在执行的代码,识别出频繁执行的热点代码段,例如循环、频繁调用的方法等。原创 2024-03-04 22:29:31 · 419 阅读 · 0 评论 -
Java-JVM-架构-运行时数据区
运行时数据区(Runtime Data Area): 运行时数据区包括方法区、堆、虚拟机栈、本地方法栈和程序计数器等,用于存储程序运行过程中的数据。其中,堆用于存储对象实例,方法区用于存储类信息和静态变量,虚拟机栈用于存储方法调用和局部变量,本地方法栈用于执行本地方法,程序计数器用于记录当前线程执行的字节码指令地址。原创 2024-03-04 00:45:54 · 1104 阅读 · 0 评论 -
Java-JVM-架构-类加载器
类加载器负责将字节码文件加载到内存中,并生成相应的类对象。JVM 提供了三种类加载器:BootstrapClassLoader、ExtensionClassLoader 和 AppClassLoader,它们分别负责加载 Java 核心类库、扩展类库和应用程序类。原创 2024-03-01 17:13:48 · 912 阅读 · 0 评论 -
Java-JVM(Java虚拟机)
JVM(Java Virtual Machine,Java虚拟机)是Java编程语言的核心组成部分之一。它是一个在实际计算机硬件上模拟的虚拟计算机,能够执行Java字节码(.class文件),并提供了一种跨平台的运行环境。原创 2024-02-29 23:33:47 · 824 阅读 · 0 评论