Java在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途、创建和销毁的时间,有一些是随虚拟机的启动而创建,随虚拟机的退出而销毁,有些则是与线程一一对应,随线程的开始和结束而创建和销毁。
Java虚拟机所管理的内存将会包括以下几个运行时数据区域
程序计数器(Program Counter Register)
它是一块较小的内存空间,它...
分类:
编程语言 时间:
2015-06-03 15:56:23
阅读次数:
174
linux线程私有的部分:每个线程都拥有一个独立的程序计数器,进程栈和一组进程寄存器linux进程切换时通过TSS段,TSS中的esp0和ss0都是系统初始化设置的,指向进程创建时候,分配的栈空间。当进程切换的时候,在内核态下才进行进程切换,在0.11版本中,当前进程的寄存器被压入当前进程的TSS中...
分类:
编程语言 时间:
2015-06-02 00:15:06
阅读次数:
166
JVM管理的内存
程序计数器(PC):每条线程都有独立的PC
JVM栈(Java栈):描述的是Java方法执行的内存模型,每个方法被执行的时候会创建一个栈帧用于存储局部变量表、操作栈、动态链接、方法出口等信息,也是线程私有的。
本地方法栈:与Native方法相关
Java堆:线程共享的内存地址空间,用于存放对象实例,也是GC管理的主要区域。
直接内存:与Native堆相关
方法区:存储已被JVM加载...
分类:
编程语言 时间:
2015-06-01 14:49:10
阅读次数:
212
指令表关键词Rm {, }寄存器移位方式,将寄存器的移位结果作为操作数而Rm值保持不变灵活的使用第二个操作数。移位和循环最合适作为第二操作数的一部分使用由大括号括起来的一些用逗号分割的寄存器列表。如:{ and }.查看程序状态寄存器域目录.加载或存储的寄存器列表,但不含程序计数器寄存器。包含CPS...
分类:
其他好文 时间:
2015-05-29 17:48:14
阅读次数:
128
程序计数器、JVM栈、本地方法栈这三个内存区域和线程是一一对应的,并且每一个线程的这三个区域相互独立互不干扰。他们都随着线程的产生而产生,线程的灭亡而灭亡。JVM栈和本地方法栈中的栈帧都随着方法的加载而入栈,随着方法的结束而出栈。栈帧的大小是在程序员写类的时候就确定下来的。因此这三种区域的内存大小都具备确定性,当方法结束或线程结束后,这些内存空间就会自动被回收掉,所以JVM无需考虑这些区域的内存回收...
分类:
其他好文 时间:
2015-05-29 10:11:00
阅读次数:
116
http://blog.chinaunix.net/uid-26946560-id-3438795.html一组并发线程运行在一个进程的上下文中,每个线程都有它自己独立的线程上下文,例如:栈、程序计数器、线程ID、条件码等,每个线程和其它的线程一起共享除此之外的进程上下文的剩余部分,包括整个用户的虚...
分类:
编程语言 时间:
2015-05-28 01:59:43
阅读次数:
300
线程会共享进程范围内的资源,例如内存句柄和文件句柄,但每个线程都有各自的程序计数器、栈及局部变量等。线程还提供了一种直观的分解模式来充分利用多处理器系统中的硬件并行性,而在同一个程序中的多个线程还可以被同时调度到多个CPU上运行。线程也被称为轻量级进程。在大多数现代操作系统中,都是以线程为基本的调度单位,而不是进程。同一个进程中的所有线程都将共享进程的内存地址空间,因此这些线程都能访问相同的成员变量...
分类:
编程语言 时间:
2015-05-27 12:18:53
阅读次数:
135
一.什么是进程进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。系统资源:线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一...
分类:
编程语言 时间:
2015-05-25 18:02:21
阅读次数:
141
C#多线程学习(一)多线程的相关概念什么是进程?当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。什么是线程?线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等)..
分类:
编程语言 时间:
2015-05-22 19:29:23
阅读次数:
157
进程:正在进行中的程序被称为进程,负责程序运行的内存分配;每一个进程都有自己独立的虚拟内存空间.线程:(主线程最大占1M的栈区空间,每条子线程最大占512K的栈区空间) 线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈)线程是进程中一个独立的执行路径(控制...
分类:
移动开发 时间:
2015-05-21 10:31:30
阅读次数:
167