《JAVA深度历险》笔记(一)深入JAVA2 SDK
我们无论是刚开始学习Java还是在工作中使用了多年,难以避免的看到“Class Not Found”等一些“奇怪”的错误。我们遇到这些莫名其妙的错误,很多时候找错误很麻木,靠“碰运气”。一名优秀的java程序员,应当关注于JAVA正常运行的细节,用正确的角度去分析遇到的问题。所以要成为一名优秀的Java开发人员,必须去应该了解JVM。最近,看了一本叫《JAVA深度历险》的书。这本书没有深入的介绍JVM,但是作者总结的技巧都涉及到JVM层面的东西。我觉得作为一本JVM入门书,非常不错。因为作者本身是中国人,虽然繁体字我们有点不习惯,但是相对于那些纠结的翻译版,确实好多了。下面是一些笔记和书中关键知识点的总结。
JRE的地位就像PC一样,我们写好的程序在PC上需要操作系统帮我们执行,同样的,我们所写的JAVA程序也必须要JRE才能帮我们执行。JVM只是JRE的一个成员,从技术角度上看,JVM只是JRE里头一个动态链接库。
http://dl.iteye.com/upload/attachment/493449/732aa872-745b-3ac3-98d4-a0c974f3c784.jpg
JDK,JRE,JVM关系,与PC进行的类比
JDK里面附上许多开发工具(例如javac.exe,jar,exe等),他们都放在lib\tools.jar里面,这些程序都是用java说写的,.exe只是一个包装器(wrapper),只是为了让开发者不用输入太长的命令而已,他们执行的只是tools.jar里面的程序。
http://dl.iteye.com/upload/attachment/493451/e3d2dafa-cd61-30a7-94bb-0a1c791fc0c6.jpg
真正运行.exe的过程
系统上有好多套JRE,java.exe需要寻找合适的JRE运行,下面是它寻找JRE的过程:
1、自己目录下有无JRE目录。
2、父目录下JRE子目录
3、查询windows注册表上关于JRE目录信息
而Java.exe找到JRE后,其实还需要验证版本,需要两者版本一致才可以运行。
页:
[1]