背景
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
分享到:
相关推荐
jvm源码,jvm-native的源码,jvm支行机制,可对jvm的运行过程进行分析 个人网站:https://www.zhangjunbk.com
jvm 配置jvm参数 配置jvm参数
jvm源码
本系列课程从JVM基础到高级实战,老师手把手教你如何进行JVM调优,思路清晰,没有废话,旨在挑战高薪。 课程亮点: 1、基于阿里arthas进行JVM调优; 2、基于代码排查OOM问题,拒绝空讲; 3、总结JVM通用的调优思路;...
JVM面试资料。 JVM结构:类加载器,执行引擎,本地方法接口,本地内存结构; 四大垃圾回收算法:复制算法、标记-清除算法、标记-整理算法、分代收集算法 七大垃圾回收器:Serial、Serial Old、ParNew、CMS、Parallel...
46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT详解JVM,46页PPT...
JVM图解-JVM指令-JVM原型图.rar
主要是JVM内存分配及简单的JVM性能调优
深入解析jvm深入解析jvm深入解析jvm深入解析jvm深入解析jvm深入解析jvm
学习关于JVM基础,java内模型的全面透析,Jar hell问题以及解决办法,Class文件格式 • Java编译执行流程 • ClassFile的格式介绍 • ClassFile中FieldInfo和MethodInfo介绍 • 类型描述Descriptor介绍 • ClassFile...
jvm 详细介绍,了解jvm各个组成部分和功能
Introduction to JVM Languages English | 2017 | ISBN-10: 178712794X | 390 pages | PDF/MOBI/EPUB (conv) | 6.42 Mb Key Features This guide provides in-depth coverage of the Java Virtual Machine and its ...
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 引入Java语言虚拟机后,Java语言在不同平台...
JVM配置资料JVM配置资料JVM配置资料JVM配置资料
讲JVM工作原理、垃圾回收讲的非常好的一个ppt
首先讲述JVM的基本概念和原理、架构等。最后一HelloApp讲述JVM的工作过程
JVM原理讲解和调优 JVM原理讲解和调优 JVM原理讲解和调优
深入JVM内核—原理、诊断与优化视频教程 深入JVM内核—原理、诊断与优化视频教程
一.java内存结构 2 二 垃圾收集算法: 3 三 JVM参数 4 四 JVM的垃圾回收集器 7 五 常用参数设置 7
JVM指令手册详细完整版.pdf