
初学JVM——学习笔记
JVM入门
Alvis丶Wang
这个作者很懒,什么都没留下…
展开
-
初学JVM(八)—— 堆
专栏地址:初学JVM——学习笔记本章为JVM中最大、最重要的一块内存空间,堆。一、堆的核心概述1、认识堆一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域;Java堆区在JVM驱动的时候即被创建,其空间大小也就确定了。是JVM管理的最大一块内存空间; 堆内存的大小是可以调节的。《Java虚拟机规范》规定,堆可以处于物理上不连续的内存空间中,但在逻辑上原创 2020-09-15 21:26:53 · 924 阅读 · 0 评论 -
初学JVM(七)—— 本地方法接口和本地方法栈
专栏地址:初学JVM——学习笔记一、本地方法接口1、什么是本地方法简单地讲,一个本地方法(Native Method)就是一个Java调用非Java代码的接口。一个本地方法是这样一个Java方法:该方法的实现由非Java语言实现,比如C。这个特征并非Java所特有,很多其他编程语言都有这一机制,比如在C++中,你可以用extern "C" 告知C++编译器去调用一个C的函数。在定义一个本地方法时,并不..原创 2020-09-15 09:47:29 · 502 阅读 · 0 评论 -
初学JVM(六)—— 栈帧
专栏地址:初学JVM——学习笔记这一篇讲一下栈结构中的栈帧。一、栈帧的内部结构每个栈帧中存储着:· 局部变量表(Local Variables)· 操作数栈(Operand Stack)(或表达式栈)· 动态链接(Dynamic Linking)(或指向运行时常量池的方法引用)· 方法返回地址(Return Address)(或方法正常退出或者异常退出的定义)· 一些附加信息...原创 2020-09-14 20:16:13 · 1290 阅读 · 0 评论 -
初学JVM(五)—— 运行时数据区
专栏地址:初学JVM——学习笔记运行时数据区位于HotSpot VM的中心区域,是类完成加载后产生的一块内存空间。一、运行时数据区结构Java虚拟机定义了若干种程序运行期间会使用到的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机退出而销毁。另外一些则是与线程一一对应的,这些与线程对英国的数据区域会随着线程开始和结束而创建和销毁。红色的为多个线程共享的,灰色区域为每个线程私有的:???? 线原创 2020-09-11 19:47:26 · 506 阅读 · 0 评论 -
初学JVM(四)—— 双亲委派机制
专栏地址:初学JVM——学习笔记本篇内容是面试常考点,需要掌握。目录一、是什么二、工作原理三、双亲委派机制的优势四、沙箱安全机制一、是什么Java虚拟机对class文件采用的是按需加载的方式,也就是说当需要使用该类时才会将它的class文件加载到内存生成class对象。而且加载某个类的class文件时,Java虚拟机采用的是双亲委派模式,即把请求交由父类处理,它是一种任务委派模式。...原创 2020-09-10 21:25:40 · 345 阅读 · 0 评论 -
初学JVM(三)—— 类的加载过程
专栏地址:初学JVM——学习笔记一、类加载器子系统的作用·类加载器子系统负责从文件系统或者网络中加载Class文件,class文件在文件开头有特定的文件标识。·ClassLoader只负责class文件的加载,至于它是否可以运行,则由Execution Engine决定。·加载的类信息存放在一块称为方法区的内存空间。除了类的信息外,方法区中还会存放运行时常量池信息,可能还包括字符串字面量和数字常量(这..原创 2020-09-10 19:06:52 · 357 阅读 · 0 评论 -
初学JVM(二)—— 虚拟机的发展历程
专栏地址:初学JVM——学习笔记一、SUN Classic VM二、Exact VM原创 2020-09-10 10:56:42 · 452 阅读 · 0 评论 -
初学JVM(一)—— 认识虚拟机
今天开始学习JVM,以此专栏作为学习笔记。专栏地址:初学JVM——学习笔记目录一、什么是虚拟机(Virtual Machine)二、什么是Java虚拟机(JVM)三、JVM的特点 和 作用特点作用四、JVM所处的位置五、JVM的整体结构六、Java代码的执行流程七、JVM的架构模型八、JVM的生命周期1.虚拟机的启动2.虚拟机的执行3.虚拟机的退出一、什么是..原创 2020-09-09 20:57:46 · 570 阅读 · 0 评论