JVM学习-1 用Netbeans调试hotspot
我打算认真学习一下JVM,在网上搜索了一番,发现有人配置从成功用NetBeans调试Hotspot JVM.
重点参考文章:
http://weblogs.java.net/blog/simonis/archive/2008/01/hotspot_develop_1.htmlhttp://blog.csdn.net/fancyerii/article/details/7007503其中后者参考了前者,由于这2篇文章都有些过时,好多bug都已修正,现在再去搞起来方便多了。
?
cd /home/jack/Project/openjdk7LANG=C \ ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk \ ALLOW_DOWNLOADS=true HOTSPOT_BUILD_JOBS=5 \ ALT_PARALLEL_COMPILE_JOBS=5 \ USE_PRECOMPILED_HEADER=true \ SKIP_DEBUG_BUILD=false \ SKIP_FASTDEBUG_BUILD=true \ DEBUG_NAME=debug \ ALT_OUTPUTDIR=/home/jack/Project/openjdk7/build/openjdk_full_debug \ make 2>&1 | tee /home/jack/Project/openjdk7/build/openjdk_full_debug.log?其中的ALLOW_DOWNLOADS参数确保我们无须手工下载相关依赖组件。上面成功编译了整个jdk,这里尝试编译jvm,即hotspot部分:
cd /home/jack/Project/openjdk7/hotspot/makeLANG=C \ ALT_BOOTDIR=/usr/lib/jvm/java-6-openjdk \ HOTSPOT_BUILD_JOBS=5 \ ALT_OUTPUTDIR=/home/jack/Project/openjdk7/build/hotspot_debug \ make jvmg 2>&1 | tee /home/jack/Project/openjdk7/build/hotspot_debug.log完了以后,可以在/home/jack/Project/openjdk7/build/hotspot_debug/linux_i486_compiler2/jvmg这个目录里找到gamma这个文件,这个是jvm的可执行文件。(注这一步只是试验,可选)

如果有遇到问题的,可以参考文章开头的参考文献。
下一步要看代码了,是GC,解释器,还是并发?
?