---- JVM 从入门到精通
Java虚拟机(JVM)一种用于计算机设备的规范,可用不同的方式(软件或硬件)加以实现。编译虚拟机的指令集与编译微处理器的指令集非常类似。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。
云 祁
我是「云祁」,一枚热爱技术、会写诗的大数据开发猿。
展开
-
JVM 从入门到精通(八)JVM运行时数据区——本地方法栈
一、本地方法栈的特点Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法(一般非Java实现的方法)的调用。本地方法栈,也是线程私有的。允许被实现成固定或者是可动态拓展的内存大小。(和Java虚拟机栈在内存溢出方面情况是相同的)如果线程请求分配的栈容量超过本地方法栈允许的最大容量,Java虚拟机将会抛出一个StackOverFlowError异常。如果本地方法栈可以动态扩展,并且在尝试扩展的时候无法申请到足够的内存,或者在创建新的线程时没有足够的内存去创建对应的本地方原创 2020-10-10 17:00:51 · 323 阅读 · 23 评论 -
JVM 从入门到精通(七)本地方法接口
文章目录一、本地方法接口二、为什么要使用 Native Method?2.1 与Java环境的交互2.2 与操作系统的交互2.3 Sun’s Java三、现状一、本地方法接口在讲Java虚拟机运行时数据区中本地方法栈之前,我们先来说说 运行时数据区之外 的一个叫本地方法接口的东西简称JNI(Java Native Interface)。什么是本地方法?简单地讲,一个Native Method是一个Java调用非Java代码的接囗一个Native Method是这样一个Java方法:该原创 2020-10-06 17:08:22 · 284 阅读 · 1 评论 -
JVM 从入门到精通(六)JVM运行时数据区——虚拟机栈
由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。根据栈设计的优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。原创 2020-09-20 23:54:08 · 949 阅读 · 27 评论 -
JVM 从入门到精通(五)JVM运行时数据区——程序计数器(PC寄存器)
JVM中的程序计数寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。JVM中的PC寄存器是对物理PC寄存器的一种抽象模拟。原创 2020-06-09 23:25:37 · 327 阅读 · 0 评论 -
JVM 从入门到精通(四)运行时数据区概述及JVM中的线程说明
文章目录一、前言一、前言内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM的稳定高效运行。不同的JVM对于内存的划分方式和管理机制存在着部分差异。结合JVM虚拟机规范,来探讨一下经典的JVM内存布局。...原创 2020-06-07 16:11:28 · 397 阅读 · 0 评论 -
JVM 从入门到精通(三)类加载子系统
文章目录一、内存结构概述二、类加载器和类的加载过程2.1 类加载子系统作用2.2 类加载器ClassLoader角色2.3 类的加载过程2.3.1 加载2.3.2 链接(即验证、准备、解析)2.3.3 初始化三、类加载器分类4.1 自定义类与核心类库的加载器4.2 虚拟机自带的加载器3.3 用户自定义加载器四、ClassLoader的使用说明五、双亲委派机制一、内存结构概述复杂版的详细图本文针对Class Loader SubSystem这一块展开讲解类加载子系统的工作流程。如果自己手写一个Ja原创 2020-06-06 20:25:42 · 690 阅读 · 24 评论 -
JVM 从入门到精通(二)JVM和Java体系结构
文章目录一、Java 和 JVM 简介1.1 Java:跨平台的语言1.2 JVM:跨语言的平台1.3 Java 及 JVM 历史上重大事件1.4 计算机系统当中JVM所处的位置二、JVM的整体结构三、JVM的架构模型四、JVM的生命周期4.1 启动4.2 执行4.3 退出五、JVM的发展历程一、Java 和 JVM 简介1.1 Java:跨平台的语言1.2 JVM:跨语言的平台Java不是最强大的语言,但是JVM是最强大的虚拟机。1.3 Java 及 JVM 历史上重大事件在 JDK11原创 2020-06-06 13:25:46 · 2101 阅读 · 24 评论 -
JVM 从入门到精通(一)初窥Java虚拟机
文章目录Java虚拟机是什么Java虚拟的体系结构Java虚拟机是什么首先你要意识到,当你说“Java虚拟机”的时候,可能指的是如下三种不同的东西:抽象规范一个具体的实现一个运行中的虚拟机实例Java虚拟的体系结构1.Java程序执行流程Java程序的执行依赖于编译环境和运行环境。源码代码转变成可执行的机器代码,由下面的流程完成:Java技术的核心就是Java虚拟机,因为...原创 2019-11-30 17:11:44 · 1040 阅读 · 0 评论 -
JVM 垃圾回收机制
一、 技术背景你要了解吧二、 哪些内存需要回收?2.1 引用计数算法2.1.1 算法分析2.1.2 优缺点2.1.3 是不是很无趣,来段代码压压惊2.2 可达性分析算法2.3 Java中的引用你了解多少2.4 对象死亡(被回收)前的最后一次挣扎2.5 方法区如何判断是否需要回收三、常用的垃圾收集算法3.1 标记-清除算法3.2 复制算法3.3 标记-整理算法3...原创 2020-03-03 20:31:01 · 1223 阅读 · 0 评论