linux下載jdk16
① java內存查看與分析
業界有很多強大的java profile的工具,比如Jporfiler,yourkit,這些收費的東西我就不想說了,想說的是,其實java自己就提供了很多內存監控的小工具,下面列舉的工具只是一小部分,仔細研究下扒陵jdk的工具,還是蠻有意思的呢:)
1:gc日誌輸出
在jvm啟動參數中加入 -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimestamps -XX:+PrintGCApplicationStopedTime,jvm將會按照這些參數順序輸出gc概要信息,詳細信息,gc時間信息,gc造成的應用暫停時間。如果在剛才的參數後面加入參數 -Xloggc:文件路徑,gc信息將會輸出到指定的文件中。其他參數還有
-verbose:gc和-XX:+PrintTenuringDistribution等。
2:jconsole
jconsole是jdk自帶的一個內存分析工具,它提供了圖形界面。可以查看到被監控的jvm的內存信息,線程信息,類載入信息,MBean信息。
jconsole位於jdk目錄下的bin目錄,在windows下是jconsole.exe,在unix和linux下是jconsole.sh,jconsole可以監控本地應用,也可以監控遠程應用。 要監控本地應用,執行jconsole pid,pid就是運行的java進程id,如果不帶上pid參數,則執行jconsole命令後,會看到一個對話框彈出,上面列出了本地的java進程,可以選擇一個進行監控。如果要遠程監控,則要在遠程伺服器的jvm參數里加入一些東西,因為jconsole的遠程監控基於jmx的,關於jconsole詳細用法,請見專門介紹jconsle的文章,我也會在博客里專門詳細介紹jconsole。
3:jviusalvm
在JDK6 update 7之後,jdk推出了另外一個工具:jvisualvm,java可視化虛擬機,它不但提供了jconsole類似的功能,還提供了jvm內存和cpu實時診斷,還有手動mp出jvm內存情況,手動執行gc。
和jconsole一樣,運行jviusalvm,在jdk的bin目錄下執行jviusalvm,windows下是jviusalvm.exe,linux和unix下是jviusalvm.sh。滲此租
4:jmap
jmap是jdk自帶的jvm內存分析的工具,叢兆位於jdk的bin目錄。jdk1.6中jmap命令用法:
Usage:
jmap -histo pid
(to connect to running process and print histogram of java object heap
jmap -mp:mp-options pid
(to connect to running process and mp java heap)
mp-options:
format=b binary default
file=file mp heap to file
Example: jmap -mp:format=b,file=heap.bin pid
jmap -histo pid在屏幕上顯示出指定pid的jvm內存狀況。以我本機為例,執行該命令,屏幕顯示:
num #instances #bytes class name
----------------------------------------------
1: 24206 2791864 constMethodKlass
2: 22371 2145216 [C
3: 24206 1940648 methodKlass
4: 1951 1364496 constantPoolKlass
5: 26543 1282560 symbolKlass
6: 6377 1081744 [B
7: 1793 909688 constantPoolCacheKlass
8: 1471 614624 instanceKlassKlass
9: 14581 548336 [Ljava.lang.Object;
10: 3863 513640 [I
11: 20677 496248 java.lang.String
12: 3621 312776 [Ljava.util.HashMap$Entry;
13: 3335 266800 java.lang.reflect.Method
14: 8256 264192 java.io.ObjectStreamClass$WeakClassKey
15: 7066 226112 java.util.TreeMap$Entry
16: 2355 173304 [S
17: 1687 161952 java.lang.Class
18: 2769 150112 [[I
19: 3563 142520 java.util.HashMap
20: 5562 133488 java.util.HashMap$Entry
Total 239019 17140408
為了方便查看,我刪掉了一些行。從上面的信息很容易看出,#instance指的是對象數量,#bytes指的是這些對象佔用的內存大小,class name指的是對象類型。
再看jmap的mp選項,這個選項是將jvm的堆中內存信息輸出到一個文件中,在我本機執行
jmap -mp:file=c:mp.txt 340
注意340是我本機的java進程pid,mp出來的文件比較大有10幾M,而且我只是開了tomcat,跑了一個很簡單的應用,且沒有任何訪問,可以想像,大型繁忙的伺服器上,mp出來的文件該有多大。需要知道的是,mp出來的文件信息是很原始的,絕不適合人直接觀看,而jmap -histo顯示的內容又太簡單,例如只顯示某些類型的對象佔用多大內存,以及這些對象的數量,但是沒有更詳細的信息,例如這些對象分別是由誰創建的。那這么說,mp出來的文件有什麼用呢?當然有用,因為有專門分析jvm的內存mp文件的工具。
5:jhat
上面說了,有很多工具都能分析jvm的內存mp文件,jhat就是sun jdk6及以上版本自帶的工具,位於jdk的bin目錄,執行 jhat -J -Xmx512m [file] ,file就是mp文件路徑。jhat內置一個簡單的web伺服器,此命令執行後,jhat在命令行里顯示分析結果的訪問地址,可以用-port選項指定埠,具體用法可以執行jhat -heap查看幫助信息。訪問指定地址後,就能看到頁面上顯示的信息,比jmap -histo命令顯示的豐富得多,更為詳細。
6:eclipse內存分析器
上面說了jhat,它能分析jvm的mp文件,但是全部是文字顯示,eclipse memory analyzer,是一個eclipse提供用於分析jvm 堆mp的插件,它的分析速度比jhat快,分析結果是圖形界面顯示,比jhat的可讀性更高。其實jvisualvm也可以分析mp文件,也是有圖形界面顯示的。
7:jstat
如果說jmap傾向於分析jvm內存中對象信息的話,那麼jsta就是傾向於分析jvm內存的gc情況。都是jvm內存分析工具,但顯然,它們是從不同維度來分析的。jsat常用的參數有很多,如 -gc,-gcutil,-gccause,這些選項具體作用可查看jsat幫助信息,我經常用-gcutil,這個參數的作用不斷的顯示當前指定的jvm內存的垃圾收集的信息。
我在本機執行 jstat -gcutil 340 10000,這個命令是每個10秒鍾輸出一次jvm的gc信息,10000指的是間隔時間為10000毫秒。屏幕上顯示如下信息(我只取了第一行,因為是按的一定頻率顯示,所以實際執行的時候,會有很多行):
S0 S1 E O P YGC YGCT FGC FGCT GCT
54.62 0.00 42.87 43.52 86.24 1792 5.093 33 7.670 12.763
額怎麼說呢,要看懂這些信息代表什麼意思,還必須對jvm的gc機制有一定的了解才行啊。其實如果對sun的 hot spot jvm的gc比較了解的人,應該很容易看懂這些信息,但是不清楚gc機制的人,有點莫名其妙,所以在這里我還是先講講sun的jvm的gc機制吧。說到gc,其實不僅僅只是java的概念,其實在java之前,就有很多語言有gc的概念了,gc嘛就是垃圾收集的意思,更多的是一種演算法性的東西,而跟具體語言沒太大關系,所以關於gc的歷史,gc的主流演算法我就不講了,那扯得太遠了,扯得太遠了就是扯淡。sun現在的jvm,內存的管理模型是分代模型,所以gc當然是分代收集了。分代是什麼意思呢?就是將對象按照生命周期分成三個層次,分別是:新生代,舊生代,持久代。對象剛開始分配的時候,大部分都在新生代,當新生代gc提交被觸發後了,執行一次新生代范圍內的gc,這叫minor gc,如果執行了幾次minor gc後,還有對象存活,將這些對象轉入舊生代,因為這些對象已經經過了組織的重重考驗了哇。舊生代的gc頻率會更低一些,如果舊生代執行了gc,那就是full gc,因為不是局部gc,而是全內存范圍的gc,這會造成應用停頓,因為全內存收集,必須封鎖內存,不許有新的對象分配到內存,持久代就是一些jvm期間,基本不會消失的對象,例如class的定義,jvm方法區信息,例如靜態塊。需要主要的是,新生代里又分了三個空間:eden,susvivor0,susvivor1,按字面上來理解,就是伊甸園區,倖存1區,倖存2區。新對象分配在eden區中,eden區滿時,採用標記-復制演算法,即檢查出eden區存活 的對象,並將這些對象復制到是s0或s1中,然後清空eden區。jvm的gc說開來,不只是這么簡單,例如還有串列收集,並行收集,並發收集,還有著名的火車演算法,不過那說得太遠了,現在對這個有大致了解就好。說到這里,再來看一下上面輸出的信息:
S0 S1 E O P YGC YGCT FGC FGCT GCT
54.62 0.00 42.87 43.52 86.24 1792 5.093 33 7.670 12.763
S0:新生代的susvivor0區,空間使用率為5462%
S1:新生代的susvivor1區,空間使用率為0.00%(因為還沒有執行第二次minor收集)
E:eden區,空間使用率42.87%
O:舊生代,空間使用率43.52%
P:持久帶,空間使用率86.24%
YGC:minor gc執行次數1792次
YGCT:minor gc耗費的時間5.093毫秒
FGC:full gc執行次數33
FGCT:full gc耗費的時間7.670毫秒
GCT:gc耗費的總時間12.763毫秒
怎樣選擇工具
上面列舉的一些工具,各有利弊,其實如果在開發環境,使用什麼樣的工具是無所謂的,只要能得到結果就好。但是在生產環境里,卻不能亂選擇,因為這些工具本身就會耗費大量的系統資源,如果在一個生產伺服器壓力很大的時候,貿然執行這些工具,可能會造成很意外的情況。最好不要在伺服器本機監控,遠程監控會比較好一些,但是如果要遠程監控,伺服器端的啟動腳本要加入一些jvm參數,例如用jconsloe遠程監控tomcat或jboss等,都需要設置jvm的jmx參數,如果僅僅只是分析伺服器的內存分配和gc信息,強烈推薦,先用jmap導出伺服器端的jvm的堆mp文件,然後再用jhat,或者jvisualvm,或者eclipse內存分析器來分析內存狀況。
② 如何在Ubuntu Linux上安裝Oracle Java
檢查Java是否已經安裝在Ubuntu上打開終端,使用下面的命令:
- java -version
如果你看到像下面的輸出,這就意味著你並沒有安裝過Java:
- The program 『java』 can be found in the following packages:
- *default-jre
- * gcj-4.6-jre-headless
- * openjdk-6-jre-headless
- * gcj-4.5-jre-headless
- * openjdk-7-jre-headless
- Try: sudo apt-get install
看了各種類型『Java』的不同之後,讓我們看如何安裝他們。
在Ubuntu和Linux Mint上安裝JRE打開終端,使用下面的命令安裝JRE:
- sudo apt-get install default-jre
在終端,使用下面的命令安裝OpenJDK Java開發工具包:
- sudo apt-get install default-jdk
特殊地,如果你想要安裝Java 7或者Java 6等等,你可以使用openjdk-7-jdk/openjdk-6jdk,但是記住在此之前安裝openjdk-7-jre/openjdk-6-jre。
在Ubuntu和Linux Mint上安裝Oracle JDK使用下面的命令安裝,只需一些時間,它就會下載許多的文件,所及你要確保你的網路環境良好:
- sudo add-apt-repository ppa:webupd8team/java
- sudo apt-get update
- sudo apt-get install oracle-java8-installer
- sudo apt-get install oracle-java8-set-default
如果你想安裝Java 7(i.e Java 1.7),在上面的命令中用java7代替java8。
③ 如何在Ubuntu Linux上安裝Oracle Java
下載Sun提供的自解壓包進行手動安早鎮首裝
這種安裝可自由選擇JDK版本,能進行靈活的配置。
1. 在http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html上下載相應版本的JDK環境,推薦下載jdk-7u21-linux-i586.tar.gz。
2. 一般把非系統軟體安裝到/opt下。
sudo cp /home/yourname/Doenloads/jdk-7u21-linux-i586.tar.gz /opt
cd /opt
sudo tar -zxvf jdk-7u21-linux-i586.tar.gz . (解壓到/opt目錄)
3. 設置環境變數
在/etc/profile中添加JDK配置信息:
sudo gedit /etc/profile
在最後添加如下內容:
# set jdk environment
export JAVA_HOME=/opt/jdk1.7.0_21
export JRE_HOME=/opt/jdk1.7.0_21/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
source /etc/profile (讓剛剛的配置生效)
配置環境時有幾點是要注意的:
在配置CLASSPATH、PATH時要留心,如果配置的有問題,可能會出現進不了桌面的現象。如,把CLASSPATH路徑中的「.:CLASSPATH」寫錯,寫成「:CLASSPATH」或其他就會出問題。出現問題不要緊,按下Ctrl+Alt+F1進入命令行模式,將對應的配置改正確,然後再Ctrl+Alt+F7回到桌面就OK了。
還有一點就是,配置環境時,環境名稱和對應的環境路徑之間不要留空格,如JAVA_HOME=/opt/jdk1.7.0_21的「=」兩邊,應為bash無法識別。
4. 由於ubuntu下自帶了gij的JVM實現,所以在終端鍵入「java -version」時會顯示:java version "1.6.0"......等相關信息。這是說系統中已經陸數有了JVM實現,而且gij JVM是默認的JVM實現(被其他的ubuntu工具或軟體使用)。這時,就要使用Debian提供的「update-alternatives」工具來完成多版本實現的選擇:
sudo update-alternatives --display java
發現系統只列舉了gij JVM;因為jdk7是手動解壓安裝的。
sudo update-alternatives --install /usr/bin/java java /opt/jdk1.7.0_21/bin/java 50
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk1.7.0_21/bin/javac 50
sudo update-alternatives --install /usr/bin/javah javah /opt/jdk1.7.0_21/bin/javah 50
sudo update-alternatives --install /usr/bin/javaws javaws /opt/jdk1.7.0_21/bin/javaws 50
sudo update-alternatives --install /usr/bin/javap javap /opt/jdk1.7.0_21/bin/javap 50
其實只要設置java、javac也是OK的。行尾的50是優先順序。
ls -l /etc/alternatives/java
發現JVM已經指向了JDK7的解壓目錄lrwxrwxrwx 1 root root 25 5月 5 16:23 /etc/alternatives/java -> /opt/jdk1.7.0_21/bin/java
sudo update-alternatives --config java選擇旅前剛剛安裝的JDK
java -version發現已經是 java version 1.7.0了 OK。
JAVA開發環境平配置完成,可以開始你在ubuntu上的java開發了
④ ubuntu16怎麼安裝jdk
系統罩升版本:Ubuntu16.04
JDK版本:jdk1.8.0_121
1.官網下載JDK文件jdk-8u121-linux-x64.tar.gz
我這里下的是最新版,其他版本也可以
2.創建一個目錄作為JDK的安裝目錄,我的目錄為 /java
sudo mkdir /java
7.但還沒結束,以前按照其他人寫的文章發現每次重啟後就用不了了,所以還需要配置所有用戶的環境變數
sudo gedit /etc/profile
在文件的最後添加以下內容:
#set Java environment
export JAVA_HOME=/dengyang/jdk1.8.0_56
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
8.同樣,需要使用命令使環境變數立即生效
source /etc/profile
9.重啟電腦,能正常進入系統,且java -version命令有效
⑤ linux下怎麼卸載自帶的JDK和安裝想要的JDK
首先查看系統中原有的java版本:java -version;然後用再用:rpm -qa | gcj命令查看具體的信息,最後用:rpm -e --nodeps java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64卸載。
把下載rpm包拖入linux系統中,進入到相應的目錄下執行:rpm -ivh jdk-7u51-linux-x64.rpm
安裝好後,配置環境變數:執行 vi /etc/profile命令,添加如下圖的配置信息。注意:目錄要寫上你自己的安裝目錄,一般默認是安裝在/usr/java下的。
JAVA_HOME=/usr/java/jdk1.7.0_45
TOMCAT_HOME=/home/syx/server/tomcat
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export TOMCAT_HOME
export PATH
export CLASSPATH
如果你不想重新系統,可以用命令source /etc/profile使配置文件立即生效。否則只能重啟系統才能使配置參數生效。然後我們可以通過 echo $JAVA_HOME ;echo $PATH;echo $CLASSPATH,查看配置的信息。
最後我們再次通過:java -version查看我們是否成功安裝了jdk。
⑥ 如何在Linux系統上安裝JDK
Linux安裝JDK步驟
1、先從網上下載jdk(jdk-7u1-linux-i586.rpm),下載後放在/home目錄中,當然其它地方也行。
2、進入安裝目錄 #cd /home #cp jdk-7u1-linux-i586.rpm /usr/local #cd /usr/local 給所有用戶添加可執行的許可權
#rpm -ivh jdk-7u1-linux-i586.rpm
3、設置環境變數
#vi /etc/profile
打開後,在文檔最下方加上以下環境變數配置代碼:
export JAVA_HOME=/usr/java/javajdk1.7.0_01
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
注意:export PATH=$JAVA_HOME/bin:$PATH,注意將$PATH放到最後。以免造成新舊版本問題。
編輯profile文檔立即生效 source /etc/profile
4、檢查JDK是否安裝成功。 #java -version 如果看到JVM版本及相關信息,即安裝成功!
如圖:
-----------分割線-----------------
當你已經成功把javajdk1.7.0_01 安裝到 /usr/java,並且配置好了系統環境變數 執行 # java -version 時就是 顯示javajdk1.7.0_01,是因為你的linux系統有默認的jdk;執行
1、# cd /usr/bin
# ln -s -f /usr/java/javajdk1.7.0_01/jre/bin/java
# ln -s -f /usr/java/javajdk1.7.0_01/bin/javac
2、接著卸載javajdk1.7.0_01,再次重新安裝。卸載方法:
先查看javajdk1.7.0_01包名
#rpm -qa | grep jdk
接著執行
#rpm -e jdk-1.7.0_01-fcs
卸載完後,再次重新安裝jdk-7u1-linux-i586.rpm。
===============
我今天遇到問題後,就是這樣解決的。大家如果也遇到類似問題,可以嘗試下。
如果有更好的解決方法。歡迎分享。
=========更新11月16日
今天在linux下安裝tomcat發現了點問題:
後來卸載了1.7後,使用jdk1.6版本重新安裝和配置
在/etc/profile文件最後重新配置,加入兩行
export JAVA_HOME=/urs/java/jdk1.6
export JRE_HOME=/usr/java/jdk1.6/jre
⑦ linxs 沒有圖形話界面怎麼裝jdk
在 Linux 下安裝 JDK 的系統需求:
Linux 核心 (Kernel) 2.2.12 版本及以上
glibc 2.2.2-11 版本及以上
16 位 (bit) 真彩 KDE 或者 Gnome
最少 32M 內存,推薦使用 48M 內存
至少 75M 硬碟空間1.2.3 在 Linux 下安裝 JDK
Linux 版的 JDK 安裝程序有兩種格式:GNUZIP Tar 格式 (j2sdk-1_4_0-rc-linux-i386.bin) 和 RedHat RPM 格式 (j2sdk-1_4_0-rc-linux-i386-rpm.bin)。下面分別對使用這兩個安裝文件的安裝步驟進行說明。安裝 GNUZIP Tar 格式的安裝程序
j2sdk-1_4_0-rc-linux-i386.bin 是一個自解壓文件,可直接運行 (命令:./j2sdk-1_4_0-rc-linux-i386.bin)。運行它之後會顯示一個許可信息 (License),同意之後,安裝程序會將 JDK 解壓在當前路徑下的一個名為 j2sdk1.4.0 的目錄中。所以,如果你想把 JDK 安裝個某個位置,就可以把該安裝程序文件拷貝到那個位置,再運行安裝程序;或者運行安裝程序後,將解壓出來的 j2sdk1.4.0 目錄移動到你想要的位置。
使用這種格式的安裝程序,優點是安裝位置可自定。安裝 RedHat RPM 格式安裝程序
相對於安裝 GNUZIP Tar 格式的安裝程序,安裝 RedHat RPM 格式的安裝程序更麻煩一些。
j2sdk-1_4_0-rc-linux-i386-rpm.bin 也是一個自解壓文件,同樣會首先顯示許可協議。不過它解壓出來的不是一個目錄,而是一個 .rpm 文件 (j2sdk-1_4_0-rc-linux-i386.rpm)。稍後,我們將使用 rpm 命令進行安裝,在此之前,你需要獲得 root 許可權。
如果你安裝過 JDK 1.4 的測試 (Beta) 版本 (beta, beta2, bate3),你應該先御載它們。如果你不知道是否安裝過,可以使用 rpm 命令再 -qa 參數來檢查,如
rpm -qa | grep j2sdk-1.4.0
如果 Linux 中安裝有 JDK 1.4 測試版,它就會被列出來。那麼,我們接下來就應該使用 rpm 命令帶 -e 參數來刪除它,如
rpm -e j2sdk-1.4.0-beta
rpm -e j2sdk-1.4.0-beta2
rpm -e j2sdk-1.4.0-beta3
直到現在,我們才能安裝最新下載的 JDK 1.4 預發行版,使用 rpm 命令帶 -ivh 參數,如
rpm -ivh j2sdk-1_4_0-rc-linux-i386.rpm設置 Java 需要的環境變數
通常,我們需要設置三個環境變數:JAVA_HOME、PATH 和 CLASSPATH。
JAVA_HOME:該環境變數的值就是 Java 所在的目錄,一些 Java 版的軟體和一些 Java 的工具需要用到該變數,設置 PATH 和 CLASSPATH 的時候,也可以使用該變數以方便設置。
PATH:指定一個路徑列表,用於搜索可執行文件的。執行一個可執行文件時,如果該文件不能在當前路徑下找到,則依次尋找 PATH 中的每一個路徑,直至找到。或者找完 PATH 中的路徑也不能找到,則報錯。Java 的編譯命令 (javac),執行命令 (java) 和一些工具命令 (javadoc, jdb 等) 都在其安裝路徑下的 bin 目錄中。因此我們應該將該路徑添加到 PATH 變數中。
CLASSPATH:也指定一個路徑列表,是用於搜索 Java 編譯或者運行時需要用到的類。在 CLASSPATH 列表中除了可以包含路徑外,還可以包含 .jar 文件。Java 查找類時會把這個 .jar 文件當作一個目錄來進行查找。通常,我們需要把 JDK 安裝路徑下的 jrelib t.jar (Linux: jre/lib/rt.jar) 包含在 CLASSPATH 中。
PATH 和 CLASSPATH 都指定路徑列表,列表中的各項 (即各個路徑) 之間使用分隔符分隔。在 Windows 下,分隔符是分號 (;),而在 Linux 下,分隔符是冒號 (:)。下面分別說明三個環境變數在Linux 下如何設置,不過在此之前,我們需要做個假設。假設 JDK 在 Windows 下的安裝路徑是 C:jdk,在 Linux 下的安裝路徑是 /usr/local/jdk/。那麼,安裝後的 JDK 至少會包括如下內容:
C:jdk (/usr/local/jdk)
|-- bin
|-- demo
|-- include
|-- jre
| |-- bin
| `-- lib
`-- lib
⑧ 在LINUX下安裝JDK是出現許可權提示錯誤,提示bash: ./jdk-6u16-linux-i586.bin: Permission denied
在bin文件所在目錄下給其賦予所有許可權
chmod 777 jdk-6u16-linux-i586.bin
之後再運行./jdk-6u16-linux-i586.bin
⑨ the download file appears to be corrupted.linux 安裝 jdk 出錯
從Windows往LINUX上傳文件的時候,模式不森念含高液是二進制導致的文件破壞。在DOS命令下,登錄FTP,用二進制方式傳,就不會有此笑問題了。
⑩ linux上jdk解壓目錄下bin里執行不了java命令,環境變數也已經設置好
根據你說應該沒有給bin下的文件沒有加上執行許可權
sh 文件名
下面是安裝jdk 的方法
在linux下安裝JDK如下:
第一步:查看Linux自帶的JDK是否已安裝
(1)查看已經安裝的jdk:
# rpm -qa|grep jdk ← 查看jdk的信息或直接執行
或
# rpm -q jdk
或
# java -version
(2)rpm -qa|grep jdk 卸載:
(3)rpm -e rpm包名(上面看到的)若存在依賴關系,先卸載上層的。
第二步:安裝JDK
<1>從SUN下載jdk-1_5_0_14-linux-i586-rpm.bin或jdk-1_5_0_14-linux-i586.bin
在/usr下新建java文件夾,將安裝包放在/usr/java目錄下
# mkdir /usr/java
<2>安裝JDK
# cd /usr/java(mkdir java –此目錄需要創建)
①jdk-1_5_0_16-linux-i586-rpm.bin文件安裝
# chmod 777 jdk-1_5_0_16-linux-i586-rpm.bin ← 修改為可執行
# ./jdk-1_5_0_16-linux-i586-rpm.bin ← 選擇yes同意上面的協議
# rpm -ivh jdk-1_5_0_16-linux-i586.rpm ← 選擇yes直到安裝完畢
②jdk-1_5_0_16-linux-i586.bin文件安裝
# chmod a+x jdk-1_5_0_16-linux-i586.bin ← 使當前用戶擁有執行許可權
# ./jdk-1_5_0_16-linux-i586.bin ← 選擇yes直到安裝完畢
第三步:配置環境變數
<1># vi /etc/profile
<2>在最後加入以下幾行:
export JAVA_HOME=/usr/java/jdk1.5.0_16
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
<3># source /etc/profile 執行後生效
第四步:測試JDK
#vi hello.java
public class hello {
public static void main(String args [ ])
{
System.out.println("Hello World!");
System.out.println("2011/1/14");
}
}
# javac hello.java
# java hello
Hello World!
到這些就代表安裝成功了!