- 其它学习参考链接:
- Java虚拟机(英语:Java Virtual Machine,缩写为JVM)
一种能够执行Java bytecode的虚拟机,以堆栈结构机器来进行实做。最早由Sun微系统所研发并实现第一个实现版本,是Java平台的一部分,能够执行以Java语言写作的软件程序。
Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。通过对中央处理器(CPU)所执行的软件实现,实现能执行编译过的Java程序码(Applet与应用程序)。
- 类加载器
Java字节码的组织单位之一是类。类加载器实现必须识别并加载任何为Java类格式的文件。任何实现也可识别其他二进制文件,但必须识别类文件。
类加载器以下列严格顺序执行三个基础任务:
- 加载:寻找并导入特定类型的二进制数据;
- 链接:执行验证、准备及(可选)解析操作;
- 验证:确保导入类型的正确性。
- 准备:为类变量分配内存并初始化内存为默认值。
- 解析:将类型的符号引用转化为直接引用。
- 初始化:调用初始化类变量至正确起始值的Java代码。
通常而言,共有两种类加载器类型:引导类加载器(Bootstrap Class Loader)及用户定义类加载器(User Defined Class Loader)。
每款Java虚拟机实现均必须有加载受信类的引导类加载器。
- jvisualvm 监控工具
VisualVM,能够监控线程,内存情况,查看方法的CPU时间和内存中的对 象,已被GC的对象,反向查看分配的堆栈(如100个String对象分别由哪几个对象分配出来的).

本文介绍了Java虚拟机(JVM)的工作原理,包括其内存结构、类加载器的职责以及类加载的三个基础任务:加载、链接(验证、准备、解析)和初始化。JVM屏蔽了与操作系统平台的相关性,使得Java程序具备跨平台能力。此外,还提到了VisualVM工具,它用于监控Java应用的线程、内存和性能。

1324

被折叠的 条评论
为什么被折叠?



