深入JVM
记录分享关于JVM的知识
嗷嗷嗷嗷_
在读研究生
JAVA 后端
GIS
展开
-
类加载过程
一 概述 类的整个生命周期如下: 类的加载过程可分为三个阶段:加载->连接->初始化 连接又可以分为三步更细的阶段: 验证 准备 解析 “加载”(Loading) 阶段是整个 “类加载”(Class Loading)过程中的一个阶段,不要混淆。 二 加载 加载阶段,Java虚拟机主要完成以下三件事: 根据类的全限定名获取定义此类的二进制字节流 将字节流所代表的静态存储结构转化为方法区的运行时数据结构 在堆内存区域生成代表此类的一个java.lang.Class对象,作为方法区这个类的原创 2020-10-10 19:01:33 · 132 阅读 · 0 评论 -
Class文件结构
各种不同平台的Java虚拟机都可以理解的代码——字节码(即扩展名为 .class的文件)。由于字节码是一种平台无关的代码,只需要被JVM理解,从而实现了程序的 “一次编写,到处运行”。 同时,Java虚拟机不与包括Java语言在内的任何程序语言绑定,它只与“Class文件”这种特定的二进制文件格式所关联,Class文件中包含了Java虚拟机指令集、符号表以及若干其他辅助信息。时至今日,商业企业和开源机构已经在Java语言之外发展出一大批运行在Java虚拟机之上的语言, 如Kotlin、Clojure、Gro原创 2020-10-04 19:39:19 · 435 阅读 · 0 评论 -
常量池中的17种常量项的结构总表(深入理解Java虚拟机)
原创 2020-10-03 10:45:59 · 520 阅读 · 0 评论 -
运行时常量池、静态常量池——辨析
方法区 和 运行时常量池 class文件详解原创 2020-09-26 19:42:18 · 379 阅读 · 0 评论 -
JVM内存结构 —— 运行时数据区
首先需要明白的是 Java内存模型和JVM内存结构不是一个概念,在面试时要搞清楚面试官问的到底是什么。 Java 内存模型,描述的是多线程允许的行为 JVM 内存结构,描述的是线程运行所设计的内存空间 常说的 JVM 内存结构指的就是运行时数据区,其中堆、方法区被线程共享,程序计数器、虚拟机栈、本地方法栈被线程独享。 一、 程序计数器 程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计原创 2020-09-26 11:21:39 · 128 阅读 · 0 评论