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工具的功能。可以生成和分析海量数据,跟踪内存泄漏,监控垃圾回收,执行内存和

posted @ 2016-07-21 23:08  每天进步一点点!!!  阅读(205)  评论(0编辑  收藏  举报