jvm fastdebug

背景

  RednaxelaFX 写道

 

agapple 写道
还有一个问题,就是在验证一些逃逸优化时,有些jvm参数用不了,比如-XX:printInlining,-XX:printAssembly,jdk用的是1.6.11和jdk1.6.18
 

-XX:+PrintInlining在product build的Sun JDK上可以是可以用,但什么也显示不出来。要在debug build(debug或者fastdebug)上才有意义。

-XX:PrintAssembly的使用请参考这篇文章:JVM 反汇编动态运行代码

简单来说,如果在声明那些VM参数的地方,写着是product、product_pd、diagnostic或者manageable的,那就是在平时用的product build里可以用的。其它都至少得在fastdebug build里才可以用。

 

jdk fastdebug版本说明:http://blogs.oracle.com/kto/entry/mustang_jdk_6_0_fastdebug

jvm会有product build , debug build , fastdebug build类型的版本,

 

下载&安装

fastdebug版本下载: http://download.java.net/jdk6/6u25/promoted/b01/index.html

 

找到自己合适的系统的安装包,我选择的是jdk-6u25-ea-bin-b01-linux-i586-debug-27_jan_2011.jar


1.$ axel -n 10 http://download.java.net/jdk6/6u25/promoted/b01/binaries/jdk-6u25-ea-bin-b01-linux-i586-debug-27_jan_2011.jar  
2.$ chmod a+x *.jar  
3.$ java -jar jdk-6u25-ea-bin-b01-linux-i586-debug-27_jan_2011.jar  

说明:

1.  axel是一个多线程下载器,下载速度比wget要快很多。

2.  下载的包为一个自解压的包,运行java -jar后,通过GUI就可以选择解压的最终目录,出来的也就是fastdebug版本

 

binutils: http://directory.fsf.org/project/binutils/

 

下载:http://ftp.gnu.org/gnu/binutils/binutils-2.20.1.tar.bz2  

编译:


1../configure --prefix=/usr/local/program/binutils  
2.make ; make install  

hsdis下载: http://kenai.com/projects/base-hsdis/downloads/download/linux-hsdis-i386.so

 

最后我选择了一个编译好的linux 386的so包,省去了一些编译的过程。

环境变量设置脚本

1.#!/bin/sh  
2.  
3.BASE=/usr/local/program/fastdebug  
4.JAVA_HOME="$BASE/jdk1.6.0_25"  
5.export LD_LIBRARY_PATH="$BASE/hsdis-i386.so:$LD_LIBRARY_PATH"  
6.  
7.PATH=$JAVA_HOME/bin:$PATH  

需要切换到fastdebug的jvm时,只需运行下该脚本。


1.$ .  fastdebug.sh  

注意点号和fastdebug.sh之间有空格,直接在当前进程中运行该shell,生成的环境变量就会在当前的bash窗口中生效。

测试过程中,通过设置LD_LIBRARY_PATH貌似没用,最后无奈选择了copy到对应jre的lib库下


1.ln -s /usr/local/program/fastdebug/hsdis-i386.so /usr/local/program/fastdebug/jdk1.6.0_25/jre/lib/i386/client/  
2.ln -s /usr/local/program/fastdebug/hsdis-i386.so /usr/local/program/fastdebug/jdk1.6.0_25/jre/lib/i386/server/ 

最后体验一下




优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/14648

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。