摘要: 2 JVM的内存管理 所有的数据和程序都是在运行数据区存放,它包括以下几部分:  Stack 栈 栈也叫栈内存,是 Java程序的运行区,是在线程创建时创建,它的生命期是跟随线程的生命 期,线程结束栈内存也就释放,对于栈来说不存在垃圾回收问题,只要线程一结束,该栈就 Over。 问题出来了:栈中存的是那些数据呢?又什么是格式呢? 栈中的数据都是以栈帧(Stack Frame)的格式存在,栈帧是一个内存区块,是一个数据集,是 一个有关方法(Method)和运行期数据的数据集,当一个方法A被调用时就产生了一个栈帧 F1,并 被压入到栈中,A方法又调用了 B方法,于是产生栈帧 F2 也被... 阅读全文
posted @ 2012-02-21 23:36 勤劳的双手 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 1 JVM简介 JVM 全称是Java Virtual Machine,Java虚拟机,也就是在计算机上再虚拟一个计算机。我们知道计算机的基本构成是:运算器、控制器、存储器、输入和输出设备,那这个 JVM也是有这成套的元素,运算器是当然是交给硬件 CPU 还处理了,只是为了适应“一次编译,随处运行”的情况,需要做一个翻译动作,于是就用了 JVM 自己的命令集,这与汇编的命令集有点类似,每一种汇编命令集针对一个系列的 CPU,比如8086系列的汇编也是可以用在8088上的,但是就不能跑在 8051 上,而JVM的命令集则是可以到处运行的,因为 JVM 做了翻译,根据不同的 CPU,翻译成不同的机 阅读全文
posted @ 2012-02-21 22:45 勤劳的双手 阅读(237) 评论(0) 推荐(0) 编辑