`
agapple
  • 浏览: 1606358 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

jvm fastdebug

    博客分类:
  • java
阅读更多

背景

 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

$ axel -n 10 http://download.java.net/jdk6/6u25/promoted/b01/binaries/jdk-6u25-ea-bin-b01-linux-i586-debug-27_jan_2011.jar
$ chmod a+x *.jar
$ 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  

编译:

 

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

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

 

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

环境变量设置脚本

 

#!/bin/sh

BASE=/usr/local/program/fastdebug
JAVA_HOME="$BASE/jdk1.6.0_25"
export LD_LIBRARY_PATH="$BASE/hsdis-i386.so:$LD_LIBRARY_PATH"

PATH=$JAVA_HOME/bin:$PATH

 

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

 

$ .  fastdebug.sh

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

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

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

最后体验一下

参考文档

  • 大小: 221.5 KB
分享到:
评论
5 楼 googya 2011-12-29  
如果是64位的机器,是不是要用amd64?在mac下添加到jre/lib/amd64/server下面么???
我配置了半天还是不成功

java  -XX:+PrintAssembly -Xcomp -XX:CompileCommand=dontinline,Bar.sum -XX:CompileCommand=compileonly,Bar.sum Bar 
VM option '+PrintAssembly'
VM option 'CompileCommand=dontinline,Bar.sum'
VM option 'CompileCommand=compileonly,Bar.sum'
OpenJDK Server VM warning: PrintAssembly is enabled; turning on DebugNonSafepoints to gain additional output
CompilerOracle: dontinline Bar.sum
CompilerOracle: compileonly Bar.sum
Could not load hsdis-i386.dylib; library not loadable; PrintAssembly is disabled
PrintAssembly request changed to PrintOptoAssembly
{method} 
 - klass: {other class}
 - this oop:          0x177d2cd8
 - method holder:     'Bar'
 - constants:         0x177d2ae8 constant pool [28] for 'Bar' cache=0x177d3060
 - access:            0x81000001  public 
 - name:              'sum'
 - signature:         '(I)I'
 - max stack:         2
 - max locals:        2
 - size of params:    2
 - method size:       20
 - vtable index:      5
 - i2i entry:         0x0380b840
 - adapter:           0x0325c89c
 - compiled entry     0x038aa8cb
 - code size:         11
 - code start:        0x177d2cc8
 - code end (excl):   0x177d2cd3
 - method data:       0x177d32f0
 - checked ex length: 0
 - linenumber start:  0x177d2cd3


4 楼 lucane 2011-05-25  
难道我用这个-XX:PrintAssembly参数跑不出来自己的类的相关日志也是没有用fastdebug版本的jdk的原因?
http://hllvm.group.iteye.com/group/blog/1040666
3 楼 RednaxelaFX 2011-05-24  
agapple 写道
已经加入了高级虚拟机圈子,下次还要多多交流和指点哈

多谢多谢 ^_^
2 楼 agapple 2011-05-24  
RednaxelaFX 写道
这篇能编辑一下同步发到高级语言虚拟机圈子么?在编辑界面的底下勾选一下就可以了。应该会有不少人感兴趣的。


已经加入了高级虚拟机圈子,下次还要多多交流和指点哈
1 楼 RednaxelaFX 2011-05-24  
这篇能编辑一下同步发到高级语言虚拟机圈子么?在编辑界面的底下勾选一下就可以了。应该会有不少人感兴趣的。

相关推荐

    java-1.8.0-openjdk-fastdebug-1.8.0.312.b07-2.el8_5.aarch64.rpm

    离线安装包,亲测可用

    webLlogic 热部署配置指南

    -Dweblogic.debug.FastDebug=true ``` 3. **更新应用**: 当代码更改后,你可以使用WebLogic Deploy Tool或WebLogic管理控制台进行应用更新。在热部署模式下,服务器会尝试不中断服务地应用新的类和资源。 4. *...

    open jdk编译文档.docx

    1. 查找编译好的 JDK 路径,例如 `/usr/lib/jvm/openjdk/build/linux-x86_64-server-fastdebug/jdk`。 2. 确认版本无误后,可以将新 JDK 添加到系统路径,以便使用。 为了使新编译的 JDK 可用,需要将其加入到 `...

    MATLAB在剪切干涉条纹处理中的应用与优化

    内容概要:本文介绍了MATLAB在剪切干涉条纹处理中的应用与优化。首先解释了干涉条纹的概念及其在光学实验中的重要性,接着详细描述了如何使用MATLAB的各种工具箱和技术来处理和分析干涉条纹。文中展示了具体的代码片段,涵盖了图像读取、剪切处理、频域分析(如FFT)、以及高级算法的应用(如小波变换)。最后,讨论了如何通过MATLAB的数据可视化工具将分析结果以直观的形式呈现出来。 适合人群:从事光学实验研究的技术人员、物理系学生、科研工作者。 使用场景及目标:适用于需要处理和分析干涉条纹的研究项目,旨在提高数据分析效率和准确性,帮助研究人员更好地理解和解释实验数据。 其他说明:本文不仅提供理论指导,还附有详细的代码示例,便于读者动手实践,掌握MATLAB在干涉条纹处理方面的具体应用方法。

    论文模板-html5响应式新闻博客网站源码-实训商业源码.zip

    论文模板-html5响应式新闻博客网站源码-实训商业源码.zip

    导弹六自由度仿真模型的MATLAB Simulink实现与优化技巧 Six-Degree-of-Freedom

    内容概要:本文详细介绍了如何利用MATLAB Simulink构建导弹六自由度仿真模型。首先,文章解释了气动力计算模块,展示了如何通过三维插值和动态压力补偿来精确模拟气动系数的变化。接着,讨论了动力学模块,特别是四元数微分方程的应用及其优势,如避免万向节锁并减少计算量。然后,探讨了控制模块中的PID控制器实现细节,强调了差分替代微分项的实际应用效果。最后,讲解了环境模块中的大气模型,以及如何通过分段函数高效地模拟不同高度层的大气特性。此外,文中还提供了关于仿真过程中常见问题的解决方案,如参数漂移和仿真效率提升的方法。 适合人群:航空航天领域的研究人员、工程师和技术爱好者,尤其是那些希望深入了解导弹飞行仿真技术的人群。 使用场景及目标:① 学习如何使用MATLAB Simulink进行复杂系统的建模与仿真;② 掌握六自由度导弹仿真模型的具体实现方法;③ 提高仿真模型的精度和稳定性,解决实际应用中的常见问题。 其他说明:本文不仅提供详细的代码示例,还分享了许多实用的工程实践经验,有助于读者更好地理解和应用相关技术。

    实训商业源码-UI网页设计公司Bootstrap模板-毕业设计.zip

    实训商业源码-UI网页设计公司Bootstrap模板-毕业设计.zip

    西门子博图V16飞剪测试程序仿真:初学者入门指南及工业应用

    内容概要:本文详细介绍了如何使用西门子博图V16版本进行飞剪测试程序的编写与仿真模拟。首先简述了博图V16的功能及其在工业自动化中的重要地位,然后逐步讲解了飞剪测试程序的基础构建方法,包括项目的创建、参数设置以及基础代码的编写。接下来重点探讨了仿真模拟的应用,强调其在发现问题和提高效率方面的作用。最后提供了一些实用的代码编写和调试技巧,并附上了一个简单的代码片段作为示例。 适合人群:对工业自动化感兴趣的初学者,尤其是希望快速掌握飞剪测试程序编写技能的新手工程师。 使用场景及目标:①帮助初学者熟悉西门子博图V16的操作环境;②指导用户完成飞剪测试程序的编写与仿真;③提升用户解决实际工业生产中遇到的技术难题的能力。 其他说明:文中提到的内容不仅限于理论知识,还包含了大量实践经验,有助于读者更好地理解和应用所学知识。

    基于MATLAB的车牌定位算法设计.doc

    基于MATLAB的车牌定位算法设计.doc

    基于SVG的无功补偿技术及其MATLAB仿真研究:三相静止无功发生器与静止同步补偿器的应用 · MATLAB仿真 实用版

    内容概要:本文详细介绍了基于SVG(Static Var Generator)的无功补偿技术及其在MATLAB环境下的仿真研究。重点探讨了三相静止无功发生器(SVG)和静止同步补偿器的工作原理、动态特性以及应用场景。文中通过具体的MATLAB代码展示了SVG的闭环控制逻辑,包括PI调节器的设计、PWM脉冲生成、逆变器控制等关键环节。此外,文章还讨论了Alpha-Beta坐标系的应用优势,并通过仿真实验验证了SVG在改善电能质量方面的显著效果,如降低谐波失真率(THD)、提高功率因数等。 适合人群:从事电力系统工程的技术人员、研究人员以及对无功补偿技术感兴趣的高校师生。 使用场景及目标:适用于需要深入了解SVG无功补偿技术原理及其实现方法的专业人士。目标是掌握SVG的基本理论、仿真建模技巧以及实际应用中的注意事项。 其他说明:文章强调了仿真与实际应用之间的差异,特别是在散热管理和参数调整方面提供了宝贵的实践经验。

    实训商业源码-橙色大气的压滤机制造业网站源码-毕业设计.zip

    实训商业源码-橙色大气的压滤机制造业网站源码-毕业设计.zip

    李燕老师资产配置授课视频

    李燕老师资产配置授课视频

    实训商业源码-导航网-毕业设计.zip

    实训商业源码-导航网-毕业设计.zip

    论文模板-(自适应手机端)电子眼电子监控设备pbootcms网站模板 监控安防电子探头网站源码-实训商业源码.zip

    论文模板-(自适应手机端)电子眼电子监控设备pbootcms网站模板 监控安防电子探头网站源码-实训商业源码.zip

    浅析建设工程项目管理.doc

    浅析建设工程项目管理.doc

    第12章其他机电系统中的PLC控制应用设计.ppt

    第12章其他机电系统中的PLC控制应用设计.ppt

    第11章-软件项目风险管理.ppt

    第11章-软件项目风险管理.ppt

    TDSQL Mysql 版安装包tdsql-10.3.17.3.0.zip

    文件总共有3个分批上传 https://download.csdn.net/download/c001215/90928344 https://download.csdn.net/download/c001215/90927936 https://download.csdn.net/download/c001215/90927893

    基于ABAQUS的高速铁路板式无砟轨道耦合动力学模型研究与应用

    内容概要:本文详细介绍了如何使用ABAQUS软件搭建高速铁路板式无砟轨道的耦合动力学模型。首先,从几何建模入手,描述了各个关键部件(如钢轨、扣件、轨道板、CA砂浆层和底座板)的创建方法。接着,讨论了材料属性的定义,特别是针对不同材料(如钢材、混凝土、CA砂浆)的具体参数设定。然后,重点讲解了接触设置和载荷与边界条件的应用,确保模型能够准确模拟列车运行时的动力学响应。最终,通过该模型可以研究轨道各部件的应力、应变分布及其振动特性,从而为轨道的优化设计和维护提供理论依据。 适合人群:从事轨道交通工程设计、仿真分析的研究人员和技术人员,尤其是对ABAQUS软件有一定了解的用户。 使用场景及目标:适用于希望深入了解高速铁路板式无砟轨道力学性能的研究人员,旨在通过建立耦合动力学模型,提升轨道设计的科学性和合理性,保障高铁运行的安全性和舒适性。 其他说明:文中提供了具体的ABAQUS操作代码示例,帮助读者更好地理解和掌握模型搭建的关键步骤。

    实训商业源码-JI卫云防红系统3.1免授权版本-毕业设计.zip

    实训商业源码-JI卫云防红系统3.1免授权版本-毕业设计.zip

Global site tag (gtag.js) - Google Analytics