排序
2.2.5 本地方法栈
本地方法栈 一、本地方法栈在运行时数据区中的位置 二、定义 Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法的调用 本地方法栈,也是线程私有的。 允许被实现成固定或者是...
2.2.4 本地方法接口
本地方法接口 一、在JVM中的位置 二、定义 简单来讲,一个Native Method就是一个java调用非java代码的接口,一个Native Method 是这样一个java方法:该方法的实现由非Java语言实现,比如C。这个...
2.2.3 虚拟机栈
虚拟机栈 一、虚拟机栈概述 1、背景 由于跨平台性的设计,java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。 优点是跨平台,指令集小,编译器容易实现,缺点是...
2.2.2 程序计数器
程序计数器 一、概念 JVM中的程序计数寄存器(Program Counter Register),Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。JVM中的PC寄...
2.2.1 运行时数据区内部结构
运行时数据区内部结构 一、内存 内存是非常重要的系统资源,是硬盘和cpu的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM内存布局规定了JAVA在运行过程中内存申请、分配、管理的策略...
2.1.6 沙箱安全机制
一、沙箱安全机制 1、定义: 自定义String类,但是在加载自定义String类的时候会率先使用引导类加载器加载, 而引导类加载器在加载过程中会先加载jdk自带的文件(rt.jar包中的java\lang\String.c...
2.1.5 双亲委派机制
双亲委派机制 介绍 Java虚拟机对class文件采用的是按需加载的方式, 也就是说当需要使用该类时才会将它的class文件加载到内存生成的class对象。 而且加载某个类的class文件时,java虚拟机采用的...
2.1.4 类加载的常用方法
类加载的常用方法 常用方法 ClassLoader类,它是一个抽象类,其后所有的类加载器都继承自ClassLoader(不包括启动类加载器) 方法名称 描述 getParent() 返回该类加载器的超类加载器 loadClas...
2.1.3 类加载器的分类
类加载器的分类 分类 无论类加载器的类型如何划分,在程序中我们最常见的类加载器始终只有三个,如下所示: 启动类加载器 负责加载JAVA_HOME/lib目录下的可以被虚拟机识别(通过文件名称,比如r...
2.1.2 类加载的过程
类加载的过程 类加载的过程主要分为三个阶段 加载,链接,初始化。 而链接阶段又可以细分为验证,准备,解析三个子阶段。 接下来,我们详细分析下类加载的过程。 加载过程 加载过程需要完成以下...