作者: 亦山 https://blog.csdn.net/luanlouis/category_9263262.html
原创 《Java虚拟机原理图解》5. JVM类加载器机制与类加载过程
一、Java语言的跨平台性的含义Java语言之所以说它是跨平台的、可以在当前绝大部分的操作系统平台下运行,是因为Java语言的运行环境是在Java虚拟机中。 Java虚拟机消除了各个平台之间的差异,只要操作系统平台下安装了Java虚拟机,那么使用Java开发的东西都能在其上面运行。如下图所示: Java虚拟机对各个平台而言,实质上是各个平台上的一个可
原创 《Java虚拟机原理图解》4.JVM机器指令集
1. Java虚拟机运行时数据区JVM 位每一个线程在内存中分配了一个虚拟机栈,来表示线程的运行状态和信息,如下所示:为了给读者一个直观的感受,我们定义一个简单的Java类,然后执行这个运行这个类,逐步分析整个Java虚拟机的运行时信息的组织:package org.louis.jvm.codeset;/** * JVM 原理简单用例 * @author louis
原创 《Java虚拟机原理图解》1.5、 class文件中的方法表集合--method方法在class文件中是怎样组织的
读完本文,你将会学到:1、类中定义的method方法是如何在class文件中组织的2、method方法的表示-方法表集合在class文件的什么位置3、类中的method方法的实现代码---即机器码指令存放到哪了,并初步了解机器指令4. 为什么没有在类中定义自己的构造函数,却可以使用new ClassName()构造函数创建对象5. IDE代码提示功能的基本原理
原创 《Java虚拟机原理图解》1.4 class文件中的字段表集合--field字段在class文件中是怎样组织的
读完本文,你将会学到:1、类中定义的field字段是如何在class文件中组织的2、不同的数据类型在class文件中是如何表示的3、static final类型的field字段的初始化赋值问题
原创 《Java虚拟机原理图解》1.3、class文件中的访问标志、类索引、父类索引、接口索引集合
讲完了class文件中的常量池,我们就相当于克服了class文件中最麻烦的模块了。现在,我们来看一下class文件中紧接着常量池后面的几个东西:访问标志、类索引、父类索引、接口索引集合。
原创 《Java虚拟机原理图解》 1.2.3、Class文件中的常量池详解(下)
NO9. 类中引用到的field字段在常量池中是怎样描述的?
原创 《Java虚拟机原理图解》 1.2、class文件中的常量池
了解JVM虚拟机原理 是每一个Java程序员修炼的必经之路。但是由于JVM虚拟机中有很多的东西讲述的比较宽泛,在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描述,很难给人以形象化的认知,看完之后感觉还是稀里糊涂的。感于以上的种种,我打算把我在学习JVM虚拟机的过程中学到的东西,结合自己的理解,总结成《Java虚拟机原理图解》 这个系列,以图解的形式,将抽象的JV
原创 《Java虚拟机原理图解》 1.2.2、Class文件中的常量池详解(上)
了解JVM虚拟机原理 是每一个Java程序员修炼的必经之路。但是由于JVM虚拟机中有很多的东西讲述的比较宽泛,在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描述,很难给人以形象化的认知,看完之后感觉还是稀里糊涂的。感于以上的种种,我打算把我在学习JVM虚拟机的过程中学到的东西,结合自己的理解,总结成《Java虚拟机原理图解》 这个系列,以图解的形式,将抽象的JVM虚拟机的知识具体化,希望能够对想了解Java虚拟机原理的的Java程序员 提供点帮助。
原创 《Java虚拟机原理图解》3、JVM运行时数据区
JVM运行时数据区(JVM Runtime Area)其实就是指JVM在运行期间,其对计算机内存空间的划分和分配。本文将通过以下几个话题来讨论JVM运行时数据区。Topic 1. JVM运行时数据区里有什么?Topic 2. 虚拟机栈 是什么?虚拟机栈里有什么?Topic 3.栈帧是什么?栈帧里有什么?Topic 4. 方法区是什么?方法区里有什么?
原创 《Java虚拟机原理图解》 1.1、class文件基本组织结构
本文以图解的形式讲述class文件的基本组织结构,让你轻松掌握class文件 的整体结构~~