![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM学习笔记
文章平均质量分 95
JVM学习笔记
学、渣
这个作者很懒,什么都没留下…
展开
-
JVM类加载机制
在开始说明JVM的类加载机制之前,可以先看一道面试题目class Grandpa{ static { System.out.println("爷爷在静态代码块"); }} class Father extends Grandpa{ static { System.out.println("爸爸在静态代码块"); } public static int factor = 25; ...转载 2021-10-11 21:01:39 · 85 阅读 · 0 评论 -
JVM内存结构
Java 虚拟机的内存结构并不是官方的说法,在《Java 虚拟机规范》中用的是「运行时数据区」这个术语。但很多时候这个名词并不是很形象,再加上日积月累的习惯,我们都习惯用虚拟机内存结构这个说法了。根据《Java 虚拟机规范》中的说法,Java 虚拟机的内存结构可以分为公有和私有两部分。公有指的是所有线程都共享的部分,指的是 Java 堆、方法区、常量池。私有指的是每个线程的私有数据,包括:PC寄存器、Java 虚拟机栈、本地方法栈。堆(Heap):...转载 2021-10-11 19:45:42 · 157 阅读 · 0 评论 -
JVM内存结构及垃圾回收
类加载器类加载器分类: 启动类加载器(Bootstrap ClassLoader) 1.加载JDK的/lib目录下的类 扩展类加载器(Extension ClassLoader) 1.加载JDK的/lib/ext目录下的类,或者被java.ext.dirs系统变量指定的路径中的类库加载到内存中。 应用程序类加载器(Application ClassLoader) 1.程序自己的classpath下的类,我们自己写的程序的默认类加载器...转载 2021-06-09 21:18:08 · 186 阅读 · 0 评论 -
字节码文件结构
Java 虚拟机使用字节码实现了跨平台的愿景,无论什么系统,我们都可以使用 Java 虚拟机解释执行字节码文件。但其实字节码是有一套规范的,而规定字节码格式的就是《Java 虚拟机规范》。《Java 虚拟机规范》规定了 Java 虚拟机结构、Class 类文件结构、字节码指令等内容。其中类文件结构是有必要了解的一个内容。字节码文件结构是一组以 8 位为最小基础的十六进制数据流, 各个数据项按顺序紧密的从前向后排列, 相邻的项之间没有间隙, 这样可以使得class文件非常...转载 2021-10-11 16:58:21 · 1257 阅读 · 0 评论 -
什么是java虚拟机
我们知道在 Windows 系统上一个软件安装包是 exe 后缀的,而这个安装包在苹果的 Mac OSX 系统上是无法安装的。类似地,Mac OSX 系统上软件安装包则是 dmg 后缀,同样无法在 Windows 系统上安装。为什么不同系统上的软件无法安装,这是因为操作系统底层的实现是不一样的。对于 Windows 系统来说,exe 后缀的软件代码最终编译成 Windows 系统能识别的机器码。而 Mac OSX 系统来说,dmg 后缀的软件代码最终编译成 Mac OSX...转载 2021-10-11 15:23:01 · 338 阅读 · 0 评论