排序
2.2.1 运行时数据区内部结构
运行时数据区内部结构 一、内存 内存是非常重要的系统资源,是硬盘和cpu的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM内存布局规定了JAVA在运行过程中内存申请、分配、管理的策略...
2.2.2 程序计数器
程序计数器 一、概念 JVM中的程序计数寄存器(Program Counter Register),Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息。CPU只有把数据装载到寄存器才能够运行。JVM中的PC寄...
2.2.3 虚拟机栈
虚拟机栈 一、虚拟机栈概述 1、背景 由于跨平台性的设计,java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。 优点是跨平台,指令集小,编译器容易实现,缺点是...
2.2.4 本地方法接口
本地方法接口 一、在JVM中的位置 二、定义 简单来讲,一个Native Method就是一个java调用非java代码的接口,一个Native Method 是这样一个java方法:该方法的实现由非Java语言实现,比如C。这个...
2.2.5 本地方法栈
本地方法栈 一、本地方法栈在运行时数据区中的位置 二、定义 Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法的调用 本地方法栈,也是线程私有的。 允许被实现成固定或者是...
2.2.6 堆
堆 一、堆的核心概述 一个进程对应一个jvm实例,同时包含多个线程,这些==线程共享方法区和堆==,每个==线程独有程序计数器、本地方法栈和虚拟机栈==。 一个jvm实例只存在一个堆内存,堆也是jav...
2.2.7 JVM虚拟机之方法区
JVM虚拟机之方法区 一、栈,堆,方法区的交互关系 1、运行时数据区结构图 2、堆、栈、方法区的交互关系 3、方法区在jdk7及jdk8的落地实现 方法区是一种规范 JDK1.7及之前,用==永久代==实现,使...
2.2.8 对象的实例化
对象的实例化内存布局与访问定位+直接内存 一、对象的实例化 1、创建对象的方式 new 最常见的方式 变形1 : Xxx的静态方法 变形2 : XxBuilder/XxoxFactory的静态方法 Class的newInstance():...
2.2.9 字符串常量池
字符串常量池 一、字符串的基本特性 String:字符串,使用一对''来表示。 String sl = 'hello';//字面量的定义方式 在字符串常量池中 String s2 = new String('hello'); 调用构造方法 Strin...