一、JVM内存的构Java虚拟机会将内存分为几个不同的管理区,这些区域各自有各自的用途,根据不同的特点,承担不同的任务以及在垃圾回收时运用不同的算法。总体分为下面几个部分:程序计数器(Program Counter Register)、JVM虚拟机栈(JVM Stacks)、本地方法栈(Native...
分类:
其他好文 时间:
2015-04-07 22:55:29
阅读次数:
159
这句话感觉道出了GC的本质 1.程序计数器(Program Counter Register) 程序计数器是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。字节码解释器工作时就是通过改为这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基...
分类:
编程语言 时间:
2015-04-04 12:09:53
阅读次数:
204
1. Java运行时数据区域Java虚拟机在执行java程序的过程中会把它管理的内存划分为若干个不同的数据区域。1.1程序计数器程序计数器是一块较小的内存空间,它可看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里(仅是概念模型,各种虚拟机可能会通过一些更高效的方式实现),字节码解释器工...
分类:
编程语言 时间:
2015-03-29 16:19:25
阅读次数:
224
源:http://blog.sina.com.cn/s/blog_493520900100bpos.htmlQuestion 如何通过软件复位AVR?Answer如果你想通过软件复位AVR,你应该使用内部看门狗。简单的使能它和让它溢出。当看门狗触发后,程序计数器返回到0,清除所有的寄存器和其他正在....
分类:
其他好文 时间:
2015-03-28 12:54:24
阅读次数:
112
深入理解Java虚拟机/classloader,类的加载机制;new过程;父亲委托机制;内存区域:堆栈方法区、程序计数器线程、常量池、运行时常量池、new string、内存溢出Java编程思想/2015.03.26_不确定对象的个数,如何存储多个对象;arraylist的add、size、get方...
分类:
其他好文 时间:
2015-03-28 01:08:11
阅读次数:
187
这几天从图书馆借了《深入理解Java虚拟机》,看到内存区域这一章,总结了一下。Java虚拟机所管理的内存区域如下图所示:其中各区域具体的作用如下1、程序计数器字节码解释器通过改变程序计数器的值来选取下一条要执行的字节码指令(分支、循环线程恢复等基础功能都需要依赖这个计数器);每个线程都有一个独立的程...
分类:
其他好文 时间:
2015-03-27 23:50:24
阅读次数:
288
概述程序计数器,本地方法栈,虚拟机栈随线程而生,随线程而灭. Java堆和方法区则不一样,这部分内存分配和回收的都是动态的,垃圾收集器所关注的是这部分内存.判断对象是否是垃圾的算法JVM没有选用引用计数算法来管理内存,最主要的是引用计数很难解决对象之间相互循环引用的问题.JVM采用了可达性分析算法来判断对象是否能回收.用GC Roots对象作为起点,向下搜索,搜索走过的路劲称为引用链(referen...
分类:
编程语言 时间:
2015-03-19 10:15:47
阅读次数:
168
**Java内存存放区域与内存溢出异常(一)**
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域都有着各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖于用户进程的启动和结束而建立和销毁,java虚拟机所管理的内存将会包括以下几个运行时数据区域,如图一。
1、在这里先介绍程序计数器
程序计...
分类:
编程语言 时间:
2015-03-17 20:17:35
阅读次数:
178
程序计数器
指令执行的指示器.
每个线程都有独立的程序计数器,互无影响,我们称这类区域为线程私有的内存.
执行Java方法,计数器记录的是正在执行的虚拟机字节码指令地址;如果执行的是native方法,这个计数器为空.
此内存区域唯一一个没有规定任何OutOfMemoryError的区域.
虚拟机栈
Java虚拟机栈也是线程私有的,它的生命周期与线程相同.
虚拟机栈描述的是Java方法执行的内存模型:...
分类:
编程语言 时间:
2015-03-17 10:27:53
阅读次数:
176
1.定义
进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
2.关系
...
分类:
编程语言 时间:
2015-03-15 21:21:17
阅读次数:
136