线程:是Windows任务调度的最小单位。线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数,在一个应用程序中,常常需要使用多个线程来处理不同的事情,这样可以提高程序的运行效率,也不会使主界面出现无响应的情况。在这里主.....
分类:
编程语言 时间:
2015-09-12 23:32:20
阅读次数:
284
jvm内存区域程序计数器一块很小的内存空间,作用是当前线程所执行的字节码的行号指示器。java栈与程序计数器一样,java栈(虚拟机栈)也是线程私有的,其生命周期与线程相同。通常存放基本数据类型,对象引用(一个指向对象起始地址的引用指针或一个代表对象的句柄),reeturnAddress类型(指向一...
分类:
编程语言 时间:
2015-09-09 12:48:02
阅读次数:
210
java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干不同的数据区域,这些区域都有着各自不同的用途,他们的创建和销毁的时间也会不同,Java虚拟机所管理的内存将会包括以下几个运行时数据区域,如下图所示: 下面就每一个区域进行阐述。二、运行时数据区域程序计数器 程序计数器,可以看做是.....
分类:
编程语言 时间:
2015-09-04 10:58:58
阅读次数:
159
一、概述 上一篇文章Java内存模型提到虚拟机所管理的内存主要包括以下几个区域:程序计数器、虚拟机栈、本地方法栈、方法区和堆。其中前三个区域随线程而生死,这些区域的内存分配和回收都具有确定性。而堆和方法区则具有不确定性,只有程序处于运行期间才能知道会创建哪些对象,本文主要讨论这两个部分内存的回收。....
分类:
编程语言 时间:
2015-09-02 17:17:41
阅读次数:
173
1、程序计数器在虚拟机的概念模型里字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、Java 虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器(对于多核处理器来说是一个内核)只会执行一条线程中...
分类:
其他好文 时间:
2015-08-27 15:00:15
阅读次数:
157
引言Java的内存动态分配和垃圾收集的问题,都交给了JVM来处理。意注,将JVM运行数据区(虚拟机栈【栈帧】,程序计数器,堆内存)粗略的分为栈和堆(所有线程共享),回收的是堆中的对象实例。不是栈中的引用类型。
那么JVM是如何处理的?
从三个问题来分析:
1. 哪些内存需要回收?
2. 什么时候进行回收?
3. 如何回收?
注:现代收集器基本采用分代收集算法,堆分为:新生代和老年代...
分类:
其他好文 时间:
2015-08-27 13:30:06
阅读次数:
275
进程:(1)进程的经典概念就是执行中的一个程序的实例。(2)系统中的每一个程序都是运行在进程的上下文中。(3)上下文:由程序正确运行所需的状态组成,这个状态包括:存放在存储器中的代码和数据,它的栈,通用目的寄存器,程序计数器,环境变量,以及打开的文件描述符等等。
分类:
系统相关 时间:
2015-08-25 16:21:09
阅读次数:
177
jvm的垃圾回收是个老生常谈的问题,在这里,我会从以下一个方面来和大家聊聊垃圾回收。
1 在哪里收垃圾?
2 哪些内容可认为是垃圾?
3 怎么回收垃圾?
4 gc报告的阅读
在哪里收垃圾
这里,我建议大家先读一下拙作: java内存管理
上图中的5部分:
虚拟机栈,本地方法栈,程序计数器三个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行...
分类:
编程语言 时间:
2015-08-20 13:17:52
阅读次数:
209
java虚拟机规范规定的java虚拟机内存其实就是java虚拟机运行时数据区,其架构如下:
其中方法区和堆是由所有线程共享的数据区。
Java虚拟机栈,本地方法栈和程序计数器是线程隔离的数据区。
(1).程序计数器:
是一块较小的内存空间,其作用可以看作是当前线程所执行的字节码的行号指示器,字节码解析器工作时通过改变程序计数器的值来选取下一条需要执行的字节码指令。程...
分类:
编程语言 时间:
2015-08-20 01:34:28
阅读次数:
155
介绍的问题:
1.虚拟机中的内存是如何划分的?
2.具体分为哪些区域?
3.什么操作会导致内存溢出或异常?
1)这些区域中,有的区域会随着虚拟机进程的启动而存在,有些区域是以来用户线程的启动和结束而建立和销毁名词解释:
1)程序计数器:是一块较小的内存空间,作用可以看做当前线程所执行的字节码的行号指示器。(注意:Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式实现的,一个...
分类:
编程语言 时间:
2015-08-16 10:47:23
阅读次数:
141