JDK部署
获取jdk
官网:
下载:http://www.oracle.com/technetwork/java/javase/downloads/index.html
jdk安装配置
1)rpm包安装
[root@chef_client1 tools]# rpm -ivh jdk-7u71-linux-i586.rpm [root@chef_client1 tools]# vi /etc/profile (编辑一下配置,环境变量吧) # 最后面加入: # JAVA bin PATH setup export JAVA_HOME=/usr/java/jdk1.7.0_71/ export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin 加载环境变量: source /etc/profile 测试是否安装成功: [root@chef_client1 java]# java -version java version "1.7.0_71" Java(TM) SE Runtime Environment (build 1.7.0_71-b14) Java HotSpot(TM) Client VM (build 24.71-b01, mixed mode, sharing)
2)tar安装
解压到相应目录,设置环境变量即可
3)bin包安装
添加执行权限
执行命令 ./jdk-6u14-linux-i586.bin进行解压
配置环境变量
测试
问题1:linux 安装jdk出现Error occurred during initialization of VM java/lang/NoClassDefFoun
出现此问题先检查环境变量配置是否正确,如果没问题就看一下lib和jre/lib中的rt.pack、tools.pack如果发现这两个文 的话,就是因为他们没有解压我们只需要把他们解压成rt.jar和tools.jar就一切OK了
如:
unpack200 rt.pack rt.jar
unpack200 tools.pack tools.jar
如果发现没有unpack200命令
cd bin
执行 java 、javac 再次执行unpack200命令就有了
4)测试jdk
1、用文本编辑器新建一个Test.java文件,在其中输入以下代码并保存:
public class test {
public static void main(String args[]) {
System.out.println("A new jdk test !");
}
}
2、编译:在shell终端执行命令 javac Test.java
3、运行:在shell终端执行命令 java Test
当shell下出现“A new jdk test !”字样则jdk运行正常。
5)jdk性能监控工具
jps:JVM Process Status Tool,显示指定系统内所有的HotSpot虚拟机进程,可以通过RMI协议查询开启了RMI服务的远程虚拟机进程状态
jps [options] [hos tid]
列出正在运行的虚拟机进程,显示执行主类,以及虚拟机的唯一ID(Local Virtual Machine Identifier,LVMID),启动参数等
jstat:JVM Statisitcs Monitoring Tool,用于收集HtoSpot虚拟机各方面的运行数据
jstat [generalOption | outputOptions vmid [interval[s|ms][count]]]
可以显示本地或远程虚拟机进程中的类装载,内存,垃圾收集,JIT编译等运行数据。运行期定位虚拟机性能问题的首选
jinfo:Configuration Info for Java,显示虚拟机配置信息
jinfo [options] pid
实时查看和调整虚拟机的各项参数
jmap:Memory Map for Java,生成虚拟机内存转储快照(heapdump文件)
jmap [option] vmid
与 -XX:+HeapDumoOnOutOfMemoryError参数类似。还可以查询finalize执行队列、Java堆、永久代的信息(空间使用率,收集器类型)
jhat:JVM Heap Dump Browser,用于分析heapdump文件,它会建立一个HTTP/HTML服务器,让用户可以在浏览器上查看分析结果
与jmap搭配使用,一般不直接使用jhat来,而是使用专业的Eclipse Memory Analyzer或者IBM HeapAnalyzer等
jstack:Stack Trace for Java,显示虚拟机的线程快照
jstack [option] vmid
用于生成虚拟机当前时刻的线程快照(threaddump),线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈的集合,定位线程长时间出现停顿的原因,查看没有响应的线程到底在后台做什么,等待什么资源
也可以使用Thread.getAllStackTraces()方法用于获取虚拟机中所有线程的StackTraceElement对象
JDK可视化工具
JConsole:Java监视与管理平台
基于JMX的可视化监视和管理的工具。被监视的虚拟机需要使用可管理的模式启动,启动时设置 com.sun.management.jmxremote
使用MBean标签监控和管理MBean、监控内存、开闭虚拟机的详细跟踪
VisualVM:多合一故障处理工具
囊括了jstat、JConsole、jstack、jmap、jinfo工具的功能。可以生成和分析海量数据,跟踪内存泄漏,监控垃圾回收,执行内存和
出处:http://www.cnblogs.com/madsnotes/
声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。