运行时数据区域Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个大小不同的数据域;这些区域都有各自的用途,以及创建和销毁时间,有的区域会随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。程序计数器:程序计数器是一块较小的内存空间,可以看作当前线程所执行的...
分类:
编程语言 时间:
2015-05-19 12:19:05
阅读次数:
208
---恢复内容开始---参考文献:深入理解Java虚拟机 周志明《Java虚拟机规范SE 7版》规定,Java虚拟机所管理的内存将会包括以下几个运行时数据区域。如图:程序计数器(Program Counter Register)是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的信号指示...
分类:
编程语言 时间:
2015-05-19 00:26:51
阅读次数:
199
文章开始之前,首先需要申明,本系列文章讨论的是HotSpot VM,文章中多数观点基于《深入理解Java虚拟机:JVM高级特性与最佳时间 周志明》,笔者如有理解错误,欢迎指正。
在开始探索jvm虚拟机之前,不得不对jvm的内存区域进行讨论,依旧先附上图表:
程序计数器
程序计数器,也能叫做PC寄存器,从名字上来理解可能会把它想成一个计数的内存区域,但是,了解汇编的人会知道...
分类:
其他好文 时间:
2015-05-16 20:35:12
阅读次数:
162
进程及线程基本定义进程(process)
处于执行期的程序及其所包含资源的总称
程序:可执行程序代码
资源:打开文件、挂起信号、地址空间、数据段等
线程(thread)
进程中活动的对象
有独立的程序计数器、进程栈及一组进程寄存器
节省主存、减少管理开销、快速切换进程
资源分配单位
进程的上下文组成
进程控制块PCB:包括进程的编号、状态、优先级以及正文段和数据段中数据分布的大概...
分类:
编程语言 时间:
2015-05-16 10:34:52
阅读次数:
171
在C++中,程序员拥有每一个对象的所有权,但与此同时还肩负着释放对象内存空间的责任;而Java由于有了虚拟机的帮助,程序员拥有对象的所有权的同时不再需要释放对象的内存空间。由于是JVM自动进行对象内存的释放,所以内存泄漏和内存溢出的问题也很少出现。Java虚拟机在运行时将内存空间分成5个部分,分别是:方法区、虚拟机栈、本地方法栈、堆、程序计数器。程序计数器
本质
程序计数器本质上是一块较小的内存空...
分类:
编程语言 时间:
2015-05-15 21:34:05
阅读次数:
170
一、JVM内存结构 1.1 下面总体说说内存 Java虚拟机会将内存分为几个不同的管理区,这些区域各自有各自的用途,根据不同的特点,承担不同的任务以及在垃圾回收时运用不同的算法。总体分为下面几个部分: 程序计数器...
分类:
其他好文 时间:
2015-05-15 00:00:41
阅读次数:
326
1,ldr加载指令LDR指令的格式为:LDR{条件} 目的寄存器,LDR指令用亍从存储器中将一个32位的字数据传送到目的寄存器中。该指令通常用亍从存储器中读取32位的字数据到通用寄存器,然后对数据迕行处理。当程序计数器PC作为目的寄存器时,指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流...
分类:
其他好文 时间:
2015-05-14 11:34:13
阅读次数:
121
操作系统概念学习笔记 9线程概述单个进程可以包括多个控制线程。线程 ——一种CPU利用的基本单元,它是形成多线程计算机的基础。线程是CPU使用的基本单元,它由线程ID、程序计数器、寄存器集合和栈组成。它与属于统一进程的其他线程共享代码段、数据段和其他操作系统资源。一个传统重量级的进程只有单个控制线程,如果进程有多个控制线程,那么能同时做多个任务。单线程与多线程动机一个应用程序通常是作为一个具有多个控...
分类:
编程语言 时间:
2015-05-12 09:23:42
阅读次数:
185
1 什么是线程线程,有时被称为轻量级进程,是程序执行的最小单元。一个标准的线程由线程ID、程序计数器(pc)、一组寄存器和堆栈组成。通常,一个进程由多个线程组成,每个线程之间共享进程的内存空间(包括代码段、数据段、堆等)及一些进程级的资源(如打开的文件描述符和信号)。如下图所示:2 线程的访问权限线...
分类:
编程语言 时间:
2015-05-11 21:31:25
阅读次数:
175
引言 这一章讲的是Java虚拟机的内存区域可以分为几个部分,书中讲到可以分为五个部分:分别是堆、栈、程序计数器、方法区、本地方法栈 其中堆里存放了对象的实例 而常说的基本数据类型,以及对象的引用就是存放在栈中的,其实更确切的说是存放在虚拟机栈的局部变量表中,虚拟机栈除了局部变量表之外,还担任了描述的...
分类:
编程语言 时间:
2015-05-10 16:57:22
阅读次数:
207