在Java运行时的几个数据区域中,程序计数器,虚拟机栈,本地方法栈3个区域随着线程而生,随线程而灭,因此这几个区域的内存分配和回收具有确定性,不需要过多考虑垃圾回收问题,因为方法结束或者线程结束时,内存就回收了。但是方法区和堆区不一样,一个接口或者实现类所需要的内存可能不一样,一个方法的多个分支需要 ...
分类:
编程语言 时间:
2019-04-30 23:31:57
阅读次数:
201
内存分配以及回收Java虚拟机运行时数据区,分为以下几个模块,包含所有线程共有的数据区和线程单独享有的数据区。程序计数器:字节码行号,通过这个计数器来选取下一条需要执行的指令,线程独有。虚拟机栈:线程私有。方法在执行时会创建一个栈帧,用于存储局部变量表等。局部变量表中存放了编译器可知的基本数据类型、对象引用、returnAddress(指向了一条字节码指令的地址)本地方法栈:与虚拟机栈类似,只不过
分类:
编程语言 时间:
2019-04-28 20:26:53
阅读次数:
171
概述:知识点汇总jvm的知识点汇总共6个大方向:内存模型、类加载机制、GC垃圾回收是比较重点的内容。性能调优部分偏重实际应用,重点突出实践能力。编译器优化和执行模式部分偏重理论基础,主要掌握知识点。各个部分的内容如下:1>内存模型部分:程序计数器、方法区、堆、栈、本地方法栈的作用,保存哪些数据;2>类加载部分:双亲委派的加载机制以及常用类加载器分别加载哪种类型的类;*3>GC部分:*分代回收的思想
分类:
其他好文 时间:
2019-04-27 22:45:00
阅读次数:
232
原文出处: 兰亭风雨 内存区域 Java虚拟机在执行Java程序的过程中会把他所管理的内存划分为若干个不同的数据区域。Java虚拟机规范将JVM所管理的内存分为以下几个运行时数据区:程序计数器、Java虚拟机栈、本地方法栈、Java堆、方法区。下面详细阐述各数据区所存储的数据类型。 程序计数器(Pr ...
分类:
编程语言 时间:
2019-04-25 15:59:25
阅读次数:
129
上面已经聊过JVM是什么东东,也谈过了JVM内存的垃圾回收机制。这一篇博客我们来聊聊JVM运行时数据区域。 JVM运行时数据区域由5块部分组成,分别是堆,方法区,栈,本地方法栈,以及程序计数器组成。 可以根据内存是否线程共享划分成线程独享内存区域/线程共享内存区域。 我们从简单的部分开始吧 1.程序 ...
分类:
其他好文 时间:
2019-04-15 17:59:32
阅读次数:
174
垃圾收集主要是针对堆和方法区两部分内存,程序计数器和Java虚拟机栈,还有本地方法栈,都随着线程的存在而存在,随着线程的消亡而消亡,因此不需要对这三个部分进行垃圾收集。 ...
分类:
其他好文 时间:
2019-04-12 13:44:23
阅读次数:
172
系列介绍|本系列主要是记录学习jvm过程中觉得重要的内容,方便以后复习 在说垃圾收集算法之前,先要说一下垃圾收集,从大的讲,垃圾收集需要考虑三件事情: 1.哪些内存需要回收 2.什么时候回收 3.如何回收 JVM在执行java程序时,把他管理的内存分为多个数据区域: 1.程序计数器(记录程序执行到哪 ...
分类:
编程语言 时间:
2019-04-06 14:14:36
阅读次数:
145
内存模型 1,程序计数器(Program Counter Register):程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,可以理解为是当前线程的行号指示器。字节码解释器在工作时,会通过改变这个计数器的值来取下一条语句指令。 每个程序计数器只用来记录一个线程的行号, ...
分类:
其他好文 时间:
2019-04-04 16:01:11
阅读次数:
194
ARM 处理器拥有 37 个寄存器。 这些寄存器按部分重叠组方式加以排列。 每个处理器模式都有一个不同的寄存器组。 编组的寄存器为处理处理器异常和特权操作提供了快速的上下文切换。 提供了下列寄存器:三十个 32 位通用寄存器、程序计数器 (pc)、应用程序状态寄存器 (APSR)、保存的程序状态寄存 ...
分类:
其他好文 时间:
2019-04-02 12:42:38
阅读次数:
143
计算机中CPU包括的寄存器分类 运算器中包括算术逻辑单元(ALU)、累加寄存器、数据缓冲寄存器、状态条件寄存器; 控制器中包括指令寄存器、指令译码器、程序计数器(PC)、时序部件。 其中运算器用来进行数据的运算处理,控制器进行逻辑控制和各部件的控制指令。 Flynn分类 单指令单数据流(SISD): ...
分类:
其他好文 时间:
2019-03-28 00:51:59
阅读次数:
188