JVM学习笔记之一

王朝other·作者佚名  2008-05-31
宽屏版  字体: |||超大  

什么是jvm,这个不需要再介绍了吧.假如连什么是jvm都不知道,那建议你翻翻书再看看吧.这里有个介绍:http://www.matrix.org.cn/article_view.ASP?id=20因为最近有空一直都在研究jvm,所以便顺便写个jvm的心得,把自己在开发自己的jvm的过程中的想法和心得记录下拉,让后来者受益.由于实在是太忙,所以不会写的太勤快,不过我会尽力的,大家多多支持.

首先,介绍几本必看的jvm的书给大家:

1.sun的jvm规范,这个是正宗始祖了,不得不看,sun网站上就有.

2.Java virtual machine,jon meyer&troy downing写的,orielly出版.欧看的是电子版,书也有,不过电子版似乎也没有免费的,偶看的是交费的电子版,假如有免费电子版一定要告诉我,我懒得去找了:(

3.inside java virtual machine.这个网上有几章是free的,作者说等两个星期把所 有的章节都放上来,可是我等了几个月了还没见其他的章节:(

这三本书基本上是必看了吧,有没有中文翻译不知道,我看的都是英文的,欧觉得jvm的东东直接看英文会有点好处,究竟你Google的时候还知道用什么单词,^_^.

jvm helloworld之前我们先看几个概念:

1. jvm也有自己的指令集,指令集有和cpu类似的地方,比如可以与80x86比较:

80x86的 move AX,10等价于 jvm里的 bipush 10 把10压栈istore_1把栈顶的数据取出存入变量1虽然有类似的地方,但是jvm里的指令集却要复杂很多,一共有一百多条(后面的笔记会具体介绍一下这些指令).

2.jvm里,每个method有自己的operand stack和相应的local variable,变量都是通过数字来识别的,从1开始. 对于所有non-static方法,第一个默认的local variable都是: this.

3.一个典型的jvm的组成:

execution engine:核心的执行引擎

memory manager:治理分配堆,内存.

garbage collection: 垃圾收集

error and exception manager: 负责处理例外.实际上,在jvm里,每个method都有一个对应的exception handler table.

native method support:本地方法支持

thread interface:线程接口,java是内在支持线程的

classloader:类装载器

security manager:安全治理

大致由以上这些部分组成,对于其中每一个部分的实现,我们在后面都会学到.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有