学习笔记-jvm运行时数据区
按照线程私有和共享区域来划分
- 线程私有
- 程序计数器
- 指向当前线程正在执行的字节码行号地址,如果是本地方法,值为undefined
 - 虚拟机中唯一不会oom的区域
 - 为什么会有程序计数器 - java天生多线程
 
 - 本地方法栈
- 非java方法。native
 
 - 虚拟机栈
- 由栈帧组成 - 每个方法对应一个栈帧
- 局部变量表
 - 操作数栈
 - 动态链接
 - 返回地址
 
 - 栈帧会存在重叠区域-实现数据共享
 
 - 由栈帧组成 - 每个方法对应一个栈帧
 
 - 程序计数器
 - 线程共享
- 方法区(虚拟机定义的一个规范)
- jdk1.8之后叫元空间
 - jdk1.8之前叫永久代
 
 - 堆
- 真实存放java对象的区域
 - 也是GC的主要区域
 
 - 常量池
- 1.7之前在方法区(永久代)
 - 1.7之后在堆中
 - 关于intern方法的面试题 https://www.cnblogs.com/Kidezyq/p/8040338.html
 
 
 - 方法区(虚拟机定义的一个规范)
 
学习笔记-jvm运行时数据区的更多相关文章
- JVM总结(一):概述--JVM运行时数据区
		
大三下,趁着寒假重温一遍JVM,准备在一个系列来总价一下学习JVM的整个过程.争取在接下来的一个星期内更新完这一个系列,然后回家过年. JVM运行时数据区 线程私有的数据区 程序计数器 虚拟机栈 本地 ...
 - JVM运行时数据区和垃圾回收机制
		
最近参考各种资料,尤其是<深入理解Java虚拟机 JVM高级特性和最佳实践>,大牛之作.把最近学习的Java虚拟机组成和垃圾回收机制总结一下. 你不会的都是新知识,学无止境,每天进步一点点 ...
 - Jvm运行时数据区 —— Java虚拟机结构小记
		
关于jvm虚拟机的文章网上都讲烂了.尤其是jvm运行时数据区的内容. 抱着眼见为实的想法,自己翻了翻JVM规范,花了点时间稍微梳理了一下. 以下是阅读Java虚拟机规范(Java SE 8版)的第二章 ...
 - Jvm运行时数据区
		
一:运行时数据区 Java虚拟机在执行Java程序的过程中会把它管理的内存分为若干个不同的数据区域.这些区域有着各自的用途,一级创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户 ...
 - Java内存管理:Java内存区域 JVM运行时数据区
		
转自:https://blog.csdn.net/tjiyu/article/details/53915869 下面我们详细了解Java内存区域:先说明JVM规范定义的JVM运行时分配的数据区有哪些, ...
 - JVM 运行时数据区 (三)
		
JVM运行时数据区 运行时数据区由 程序计数器.java虚拟机栈.本地方法栈.堆.方法区 组成: 1.程序计数器 每一个Java线程都有一个程序计数器,用于保存程序执行到当前方法的哪一个指令,它是线程 ...
 - JVM运行时数据区与JVM堆内存模型小结
		
前提 JVM运行时数据区和JVM内存模型是两回事,JVM内存模型指的是JVM堆内存模型. 那JVM运行时数据区又是什么? 它包括:程序计数器.虚拟机栈.本地方法栈.方法区.堆. 来看看它们都是干嘛的 ...
 - Java中的字符串常量池和JVM运行时数据区的相关概念
		
什么是字符串常量池 JVM为了减少字符串对象的重复创建,其维护了一个特殊的内存,这段内存被成为字符串常量池或者字符串字面量池 工作原理 当代码中出现字面量形式创建字符串对象时,JVM首先会对这个字面量 ...
 - JVM运行时数据区及对象在内存中初始化的过程
		
JVM运行时数据区 Java虚拟机所管理的内存区域,也称为运行时数据区,分为以下几个运行时数据区,如图所示 程序计数器:当前程序所执行字节码的行号指示器 程序计数器(Program Counter R ...
 
随机推荐
- MySQL 其它基本操作
			
索引 所谓索引,就是类似于书的目录,目的也类似,都是为了提高检索速度.ALTER TABLE <表名> ADD INDEX <索引名(列名)>;或者CREATE INDEX & ...
 - java基础之super关键字
			
一.在java里面,对于super关键字通常有两种用法: 1. 用在子类的构造方法里(初始化用),主要是调用父类的默认构造方法,如果父类有不止一个构造方法,可以通过super指定具体的构造函数,比如 ...
 - CREATE CSS3是一款在线集成众多CSS3功能的生成器,可以在线生成常用的CSS3效果
			
CREATE CSS3是一款在线集成众多CSS3功能的生成器,可以在线生成常用的CSS3效果 CREATE CSS3 彩蛋爆料直击现场 CREATE CSS3是一款在线集成众多CSS3功能的生成器,可 ...
 - qt 维护x86和arm两套编译环境
			
1.中间库: 中间库都放在middlewares目录,include头文件相同,所以不需要特殊处理,只要特殊处理lib安装目录, 示例pro文件如下: TEMPLATE = lib TARGET = ...
 - 虚拟化代码博客 good
			
推荐网站和博客地址 -------------------------------- 虚拟化代码博客 QEMU大牛博客:qemu - 韋任的維基百科 http://people.cs.nctu ...
 - 用 jQuery.getJSON() 跨域请求 JSON 数据
			
$.getJSON()可以理解为特殊形式的$.ajax(),手册里的说明好复杂,这里只记录一下用到的跨域请求. 先说在同一域名下,js发送数据到php,php返回JSON数据: $.getJSON(' ...
 - 解决socket.error: [Errno 98] Address already in use问题
			
如果python中socket 绑定的地址正在使用,往往会出现错误, 在linux下: 则会显示“ socket.error: [Errno 98] Address already in use” 在 ...
 - python字典的内建函数
			
In [70]: test=dict(x=1,y=2,z=3) In [71]: test Out[71]: {'x': 1, 'y': 2, 'z': 3} In [72]: a=['a','b', ...
 - Hive 学习之路(五)——  Hive 分区表和分桶表
			
一.分区表 1.1 概念 Hive中的表对应为HDFS上的指定目录,在查询数据时候,默认会对全表进行扫描,这样时间和性能的消耗都非常大. 分区为HDFS上表目录的子目录,数据按照分区存储在子目录中.如 ...
 - Hadoop 学习之路(三)——  分布式计算框架 MapReduce
			
一.MapReduce概述 Hadoop MapReduce是一个分布式计算框架,用于编写批处理应用程序.编写好的程序可以提交到Hadoop集群上用于并行处理大规模的数据集. MapReduce作业通 ...