JDK安装

一、系统环境

操作系统:  RedHat Enterprise Linux 6

二、安装Sun JDK(Oracle JDK)

这里官网下载下来的是.bin文件,直接./jdk-6u45-linux-x64-rpm.bin就会得到一个.rpm文件。

执行rpm  -ivh  jdk-6u45-linux-amd64.rpm

选路径的选路径,同意协议的同意协议,默认安装在/usr/java/jdk1.6.0_45

三、设置环境变量

vi /etc/profile,添加到最后(root),或者只修改某一用户vi ~/.bash_profile

JAVA_HOME=/usr/java/jdk1.6.0_45
JRE_HOME=/usr/java/jre1.6.0_45
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

用source  /etc/profile让配置生效可以不重起linux

[weblogic@localhost software]$java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)


=========================分割==========================

OpenJDK卸载

[weblogic@localhost ~]$ java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.7) (rhel-1.39.1.9.7.el6-x86_64)
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode)

(1) 查看OpenJDK的包

[weblogic@localhost ~]$rpm -qa|grep openjdk
java-1.6.0-openjdk-javadoc-1.6.0.0-1.39.1.9.7.el6.x86_64
java-1.6.0-openjdk-1.6.0.0-1.39.1.9.7.el6.x86_64
java-1.6.0-openjdk-devel-1.6.0.0-1.39.1.9.7.el6.x86_64

[weblogic@localhost ~]$rpm -qa|grep gcj

libgcj-devel-4.4.5-6.el6.x86_64
java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64
libgcj-4.4.5-6.el6.x86_64

(2)卸载

[weblogic@localhost ~]$rpm -qa| grep openjdk|xargs rpm -e --nodeps

[weblogic@localhost ~]$rpm -e --nodeps java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64


=========================分割==========================

1.4.2安装


./j2sdk-1_4_2_19-linux-i586.bin

得到一个文件夹j2sdk1.4.2_19

建立安装路径

[root@localhost software]# cd /usr

[root@localhost usr]# mkdir java

[root@localhost java]# mv /software/j2sdk1.4.2_19 /usr/java

配置环境变量

JAVA_HOME=/usr/java/j2sdk1.4.2_19
JRE_HOME=/usr/java/j2sdk1.4.2_19/jre
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH

=========================分割==========================

OpenJDK和JDK区别

      使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的openjdk,那么到底什么是openjdk,它与sunjdk有什么关系和区别呢?
      历史上的原因是,openjdk是jdk的开放原始码版本,以GPL协议的形式放出。在JDK7的时候,openjdk已经成为jdk7的主干开发,sunjdk7是在openjdk7的基础上发布的,其大部分原始码都相同,只有少部分原始码被替换掉。使用JRL(JavaResearchLicense,Java研究授权协议)发布。至于openjdk6则更是有其复杂的一面,首先是openjdk6是jdk7的一个分支,并且尽量去除JavaSE7的新特性,使其尽量的符合Java6的标准。
关于JDK和OpenJDK的区别,可以归纳为以下几点:
      1.授权协议的不同:
            openjdk采用GPLV2协议放出,而JDK则采用JRL放出。两者协议虽然都是开放源代码的,但是在使用上的不同在于GPLV2允许在商业上使用,而JRL只允许个人研究使用。
      2.OpenJDK不包含Deployment(部署)功能:
            部署的功能包括:BrowserPlugin、JavaWebStart、以及Java控制面板,这些功能在Openjdk中是找不到的。
      3.OpenJDK源代码不完整:
            这个很容易想到,在采用GPL协议的Openjdk中,sunjdk的一部分源代码因为产权的问题无法开放openjdk使用,其中最主要的部份就是JMX中的可选元件SNMP部份的代码。因此这些不能开放的源代码将它作成plug,以供OpenJDK编译时使用,你也可以选择不要使用plug。而Icedtea则为这些不完整的部分开发了相同功能的源代码     (OpenJDK6),促使OpenJDK更加完整。
      4.部分源代码用开源代码替换:
            由于产权的问题,很多产权不是SUN的源代码被替换成一些功能相同的开源代码,比如说字体栅格化引擎,使用FreeType代替。
      5.openjdk只包含最精简的JDK:
            OpenJDK不包含其他的软件包,比如RhinoJavaDBJAXP……,并且可以分离的软件包也都是尽量的分离,但是这大多数都是自由软件,你可以自己下载加入。
      6.不能使用Java商标:
            这个很容易理解,在安装openjdk的机器上,输入“java-version”显示的是openjdk,但是如果是使用Icedtea补丁的openjdk,显示的是java。(未验证)
总之,在Java体系中,还是有很多不自由的成分,源代码的开发不够彻底,希望Oracle能够让JCP更自由开放一些,这也是所有Java社区所希望的。

http://fgh2011.iteye.com/blog/1771649

=========================分割==========================


SUN JDK和Oracle JRockit对比

正如我们都知道JVM是在转换成机器的java代码(机器理解)字节代码负责
甲骨文JRockit的JDK和太阳做同样的事情采用不同的机制。


**************************
SunJDK中使用翻译(口译与JIT在以前的版本)-在这一机制的字节码是阅读和翻译成机器语言,但这些结果并不在内存中保存。所以即使每一个相同的方法是运行一次又一次的JVM已经翻译成机器语言代码的时间。这意味着机器代码不会被重复使用,因为它不保存在内存中的任何地方。

甲骨文JRockit的只使用JIT编译器(只是在时间)-JIT的机制意味着一旦一个方法运行的字节代码翻译成机器语言,这是在内存中保存。这意味着,如果再次运行该方法不存在需要翻译和机器代码重用。

由于所使用的SunJDK该服务器的启动时间解释机制是更快,因为它并没有保存在内存中的机器代码。一旦做了一个翻译方法,它移动到另一个。凡为OracleJRockit的保存代码这就是为什么启动需要较长时间。出于同样的原因,甲骨文JRockit的使用更多的内存比Sun的JDK。

从长远来看JRockit的给出了一个稍微好一点的性能相比,太阳的JDK。

**************************
甲骨文JRockit的优化代码。它确定了这意味着正在运行更经常的方法热点。这些方法,然后排队的优化。然后,此代码优化,从而提高性能。许多问题都看到,因为代码的优化机制,因为它是一个复杂的过程。优化可以被禁用。

JIT是由SunJDK中也使用,但在早期版本中。在JavaHotSpot虚拟机省去了在大多数情况下JIT编译器的需要。
**************************
在JDK的存储空间:

Sun的JDK有以下内存空间:伊甸园空间survivior空间和永久终身一代一代。该物体从一个空间到另一个根据其年龄和垃圾收集的生存。

JRockit的有2位年轻一代和老一代人使用的垃圾收集相同的机制。JRockit中有作为永久代称为什么。

*************************
内存和其他JVM调弦:

JRockit的为高级JVM的调弦。从以上JRockit的版本R26赛车本身需要照顾少数调音。例如,如果有一个内存溢出的关于因得不到足够的TLA灰分大小默认为2K的在以后的版本的JRockit的曲调按应用程序的要求,这些以前的版本中设置本地TLA灰分发生。这必须完成,所采取的情况下在用户的SunJDK照顾。但后来它始终是一个更安全更好的一面,建议有自做了调音的人。

*************************
JVM崩溃:

当JRockit的崩溃转储一个JRockit的产生,基本上具备了崩溃的原因。JRockit的默认使用本地库。这可以通过禁用禁用从管理控制台NativeIO。为JRockit的崩溃最常见的原因是本地库之间的冲突。例如,JDBC类型2驱动,使用本地库。建议使用纯Java驱动程序类型4当使用OracleJRockit的。另一个原因可能是飞机坠毁的代码,因为它的复杂性优化。堆栈跟踪转储将在JRockit中显示的确切原因。当JVM崩溃是很重要的测试通过禁用代码优化,并检查问题是否仍然存在一遍。

JDK的碰撞产生一个太阳hs_err_pid文件,它有崩溃的根源。有可用于SunJDK的崩溃是由于以下几个原因使他们的错误(在JDK的代码缺陷)。这些问题需要报告给太阳队。

**************************
工具的性能跟踪:

SunJDK中附带提供的WebLogicServer捆绑如JConsole性能,可用于跟踪和监测使用的JVM的内存使用的工具。这个工具是非常必要的,这样每一个有关内存的细节正由应用程序的CPU使用率可以识别内存泄漏使用。

甲骨文JRockit的有一个更加先进的工具JRMC(JRockit任务控制),它为高级跟踪功能。JRA的录音可以采取赋予每个JVM参数对垃圾收集详细信息的方法详细使用的最大内存等内存JRMC检漏仪工具也是一个重要的和非常有用的工具。这使得它很容易为用户和管理员维护记录,并确定与应用程序和JVM的问题。

总结,启动速度慢,后期直接执行已经生成过的代码,所以速度快,有人也有过相应的测试,做基础测试的时候BEA的速度比SUN还要稍慢一些

http://wenku.baidu.com/link?url=qmtoVY0gW5cs0dt6J3Qk_w4vIK5eIbup_BT3cEGxRNM1mzMjov0HWjNVrg98yIbG1lBOnWI9QWS3wew-SxYkkOwPfTC393IdCuZgxbVflra

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值