I am Jacky!
-
JVM 对象创建机制
在语言层面,创建一个对象通常仅一个 new 关键字就可以解决了,但是在虚拟机中,对象的创建要经过一个复杂的过程。
-
JVM 类加载机制
虚拟机把描述类的数据从 .class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制。
-
JVM 垃圾回收
Java 的自动内存管理主要是针对对象内存的回收和对象内存的分配。同时,Java 自动内存管理最核心的功能是堆内存中对象的分配与回收。
-
Java 引用类型
为了更灵活的控制对象的生命周期,引用被划分为强引用、软引用、弱引用、虚引用四种类型,每种类型有不同的生命周期,它们不同的地方就在于垃圾回收器对待它们会使用不同的处理方式。
-
JVM 堆
JVM 堆是被所有线程共享的一块内存区域,所有对象和数组都在堆上进行内存分配。
-
JVM 常量池
JVM 中的常量池,实际上分为两种形态:静态常量池和运行时常量池。
-
JVM 静态链接、动态链接与分派
这篇博客主要带你认识何谓静态链接、动态链接。并且会讲述 JVM 中分派的知识,让你对 Java 中的多态实现机制有一个浅显的认识。
-
Java 虚拟机栈
Java 虚拟机栈描述的是 Java 方法执行的内存模型,用于存储栈帧。线程启动时会创建虚拟机栈,每个方法在执行时会在虚拟机栈中创建一个栈帧,用于存储局部变量表、操作数栈、动态连接、方法返回地址、附加信息等信息。每个方法从调用到执行完成的过程,就对应着一个栈帧在虚拟机栈中的入栈(压栈)到出栈(弹栈)的过程。
-
JVM 方法区、永久代与元空间
在 Java 虚拟机中,方法区是可供各线程共享的运行时内存区域。
-
Java 内存区域
Java 虚拟机在执行 Java 程序过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则是以来用户线程的启动和结束而建立和销毁。