![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 91
轨迹_Mine
开放式学习、保持谦逊、刻意练习、持续输出
展开
-
执行引擎、解释器、编译器、JIT编译器的恩怨情仇
一、执行引擎1.1 JVM的组成部分1.2 执行引擎概述1.3 执行引擎的作用及工作过程二、机器码&指令&汇编&字节码三、Java代码编译和执行的过程四、解释器4.1 问题引出4.2 解释器的分类4.3 解释器的现状四、JIT编译器总结前言“说下Java代码编译和执行过程?”“为什么需要执行引擎,它的工作过程是怎样的?”“什么是解释器,什么是JIT编译器,它们有什么区别?”“为什么有了JIT编译器还需要解释器?”面试过程中,你是否被问到过这些问题,如果不能完全回答出来原创 2022-01-10 00:30:20 · 313 阅读 · 0 评论 -
对象的内部结构、内存布局和访问定位
“对象在内存中是怎么布局的?”“对象头具体包括什么?”“锁在对象的哪里?”“对象怎么定位?”面试过程中,你是否被问到过这些问题,如果不能完全回答出来,那么这篇文章一定要看下去。# 1. 对象的内存布局对象实例中主要包含三部分的内容,分别为对象头、示例数据和对齐填充padding。下面分别进行介绍。## 1.1 对象头对象头中的内容主要是**运行时元数据和类型指针**。其中运行时元数据主要存储的是以下六个内容: - 哈希值 - GC分代年龄 - 锁状态标志 - 线程持有的锁原创 2022-01-04 00:22:50 · 426 阅读 · 0 评论 -
关于常量池和运行时常量池
前言最近在学习JVM运行时数据区的方法区的相关知识,其中涉及到常量池和运行时常量池,所以就把相关知识整理一下。一、常量池是什么?常量池是字节码文件的一部分。JVM为每一个已经被加载的类型(类或者接口)都维护一个常量原创 2021-12-25 17:11:36 · 1227 阅读 · 0 评论