導航:首頁 > 源碼編譯 > jdk7源碼下載

jdk7源碼下載

發布時間:2023-09-16 22:27:22

Ⅰ maven 在eclipse中,如何下載jdk源碼

只有中央倉庫,官方倉庫或地方倉庫中有提供才可能用maven下載,java的jdk目前好像並沒有提供
maven的下載,初非自己有搭建的倉庫才可以。maven目接只提供一些jar包下載與maven插件下載

Ⅱ 如何查看java源碼中的native方法源碼

下載JDK源代碼啊,openJDK上有完整的JDK源代碼,JDK源代碼由C++、Java、C、匯編 這四種語言組成。JVM主體是C++寫的,JNI部分是C,工具類是Java寫的,JVM里混有匯編代碼。路徑:openjdk-7-fcs-src-b147\jdk\src\share\native\java\lang\System.c 找到這個
/* Only register the performance-critical methods */
static JNINativeMethod methods[] = {
{"currentTimeMillis", "()J", (void *)&JVM_CurrentTimeMillis},
{"nanoTime", "()J", (void *)&JVM_NanoTime},
{"array", "(" OBJ "I" OBJ "II)V", (void *)&JVM_ArrayCopy},
};

方法的實現應該在JVM部分,路徑openjdk-7-fcs-src-b147\hotspot\src\share,不同的操作系統實現不一樣,應該是在對應的操作系統的包下

Ⅲ 如何在linux上安裝jdk7

卸載OpenJDK
rpm -qa | grep java
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64 rpm -e --nodeps tzdata-java-2012j-1.el6.noarch

jdk下載官方網址:http:// www .oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
輸入命令:wget http:// 211.149.198.47/data/main/jdk-7u7-linux-i586.tar.gz 下載jdk

輸入命令: ll 可以查看當前目錄下存在文件jdk-7u7-linux-i586.tar.gz ,然後在當前目錄下解壓源碼包,輸入命令:tar -zxvf jdk-7u7-linux-i586.tar.gz

輸入命令: ll 可以查看當前目錄下存在目錄jdk1.7.0_07,然後將其移動到/usr/local/目錄下,並重命名為 jdk7,輸入命令:mv jdk1.7.0_07 /usr/local/jdk7

下面我們來設置jdk的環境變數這里彩全局設置方法,就是來修改 /etc/profile,它是所有用戶的共用的環境變數輸入命令:vi /etc/profile然後在打開的文件末尾添加如下內容:JAVA_HOME=/usr/local/jdk7JRE_HOME=/usr/local/jdk7/jrePATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libexport JAVA_HOME JRE_HOME PATH CLASSPATH

使環境變數立即生效,輸入命令:source /etc/profile
檢驗是否安裝成功
輸入命令:java #檢測jdk bin環境
接著輸入:javac #檢測jdk classpath環境
成功,你會看到如下java命令參數使用說明界面;

當前我們輸入以上的命令後,可能會報如下的錯誤:bash: /usr/local/jdk7/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: 沒有那個文件或目錄是因為64位系統中安裝了32位程序,而且我當前使用的正是64位的linux版本解決方法:yum install glibc.i686
我是在安裝了上面的 glibc.i686 等相關的包後,就可以正常執行 java,javac等命令了。並沒有安裝以下的包 重新安裝以後還有如下類系錯誤 再繼續安裝包 error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directoryyum install libstdc++.so.6
當然,如果你安裝的是64位的jdk,就不會報該錯誤了。

Ⅳ java:哪裡能看到JDK的源代碼

  1. 我認為你說的是Java的源碼,JDK是一個編譯

  2. Java源碼在Javajdk1.8.0_60src.zip中

  3. 如果你要的真的是Jdk的源碼的話,Orccle官網應該會有

Ⅳ 如何查看JDK源碼

在Eclipse中查看JDK類庫的源代碼方法設置:
1.點 「window」-> "Preferences" -> "Java" -> "Installed JRES";
2.此時"Installed JRES"右邊是列表窗格,列出了系統中的 JRE 環境,選擇JRE,然後點邊上的 "Edit...", 會出現一個窗口(Edit JRE);
3.選中rt.jar文件的這一項:「c:\program files\java\jre_1.5.0_06\lib\rt.jar」
點 左邊的「+」 號展開它;
4.展開後,可以看到「Source Attachment:(none)」,點這一項,點右邊的按鈕「Source Attachment...」, 選擇JDK目錄下的 「src.zip」文件;
5.一路點"ok",結束。

dt.jar是關於運行環境的類庫,主要是swing的包
tools.jar是關於一些工具的類庫
rt.jar包含了jdk的基礎類庫,也就是在java doc裡面看到的所有的類的class文件

使用方法:
可以在 Java 源代碼編輯器或代碼片段編輯測試窗中選擇類型、方法或欄位的名稱,然後對元素的定義打開編輯器。
在 Java 編輯器中,選擇類型、方法或欄位的名稱。也可以僅僅在名稱中單擊一次。
執行下列其中一項操作:
1.從菜單欄中,選擇瀏覽 > 打開聲明;
2.從編輯器的彈出菜單中,選擇打開聲明;
3.按 F3鍵,遷移到一個class文件拿去;
4、class文件畫面會有一個「關聯源代碼」按鈕,點擊這個按鈕,然後從系統文件選擇jdk下的src.zip文件。
這樣就可以直接看到源碼了。

Ⅵ openjdk和oraclejdk有什麼區別嗎

首先要先明確之間,以及OpenJDK 6、OpenJDK 7、OpenJDK 7u和OpenJDK 8等項目之間是什麼關系,這有助於確定接下來編譯要使用的JDK版本和源碼分支。
從前面介紹的Java發展史中我們了解到OpenJDK是Sun在2006年末把Java開源而形成的項目,這里的「開源」是通常意義上的源碼開放形式,即源碼是可被復用的,例如IcedTea、UltraViolet都是從OpenJDK源碼衍生出的發行版。但如果僅從「開源」字面意義(開放可閱讀的源碼)上看,其實Sun自JDK 1.5之後就開始以Java Research License(JRL)的形式公布過Java源碼,主要用於研究人員閱讀(JRL許可證的開放源碼至JDK 1.6 Update 23為止)。把這些JRL許可證形式的Sun/OracleJDK源碼和對應版本的OpenJDK源碼進行比較,發現除了文件頭的版權注釋之外,其餘代碼基本上都是相同的,只有字體渲染部分存在一點差異,Oracle JDK採用了商業實現,而OpenJDK使用的是開源的FreeType。當然,「相同」是建立在兩者共有的組件基礎上的,Oracle JDK中還會存在一些Open JDK沒有的、商用閉源的功能,例如從JRockit移植改造而來的Java Flight Recorder。預計以後JRockit的MissionControl移植到HotSpot之後,也會以Oracle JDK專有、閉源的形式提供。
Oracle的項目發布經理Joe Darcy在OSCON 2011上對兩者關系的介紹也證實了OpenJDK 7和Oracle JDK 7在程序上是非常接近的,兩者共用了大量相同的代碼(如下圖,注意圖中提示了兩者共同代碼的佔比要遠高於圖形上看到的比例),所以我們編譯的OpenJDK,基本上可以認為性能、功能和執行邏輯上都和官方的Oracle JDK是一致的。
Dalvik 與java虛擬機:
1.java虛擬機基於棧。 基於棧的機器必須使用指令來載入和操作棧上數據,所需指令更多更多 .
而dalvik虛擬機是基於寄存器的:java虛擬機運行的是java位元組碼。
(java類會被編譯成一個或多個位元組碼.class文件,打包到.jar文件中,java虛擬機從相應的.class文件和.jar文件中獲取相應的位元組碼)2.Dalvik和Java之間的另外一大區別就是運行環境——Dalvik經過優化,允許在有限的內存中同時運行多個虛擬機的實例OpenJDK :
[root@localhost ~]# java -version
java version "1.6.0_39"
OpenJDK Runtime Environment (IcedTea6 1.13.11) (rhel-1.13.11.0.el5_11-x86_64)OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)oracle jdk:
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)OpenJDK下載:
http://openjdk.java.net/install/index.htmlJDK 8:yum install java-1.8.0-openjdk
JDK 7:
yum install java-1.7.0-openjdk
JDK 6:yum install java-1.6.0-openjdk
1. HotSpot歷史
SUN的JDK版本從1.3.1開始運用HotSpot虛擬機, 2006年底開源,主要使用C++實現,JNI介面部分用C實現。
HotSpot是較新的Java虛擬機,用來代替JIT(Just in Time),可以大大提高Java運行的性能。
Java原先是把源代碼編譯為位元組碼在虛擬機執行,這樣執行速度較慢。而HotSpot將常用的部分代碼編譯為本地(原生,native)代碼,這樣顯著提高了性能。
HotSpot JVM 參數可以分為規則參數(standard options)和非規則參數(non-standard options)。
規則參數相對穩定,在JDK未來的版本里不會有太大的改動。
非規則參數則有因升級JDK而改動的可能。
規則和非規則參數這里不做介紹了,網上資料很多。
2.HotSpot基礎知識
HotSpot包括一個解釋器和兩個編譯器(client 和 server,二選一的),解釋與編譯混合執行模式,默認啟動解釋執行。
編譯器:java源代碼被編譯器編譯成class文件(位元組碼),java位元組碼在運行時可以被動態編譯(JIT)成本地代碼(前提是解釋與編譯混合執行模式且虛擬機不是剛啟動時)。
解釋器: 解釋器用來解釋class文件(位元組碼),java是解釋語言(書上這么說的)。
server啟動慢,佔用內存多,執行效率高,適用於伺服器端應用;client啟動快,佔用內存小,執行效率沒有server快,默認情況下不進行動態編譯,適用於桌面應用程序。
由-XX:+RewriteFrequentPairs參數控制 client模式默認關閉,server模式默認開啟在jre安裝目錄下的lib/i386/jvm.cfg 文件下。
java -version
Java HotSpot(TM) Client VM (build 14.3-b01, mixed mode, sharing)mixed mode 解釋與編譯 混合的執行模式 默認使用這種模式java -Xint -version
Java HotSpot(TM) Client VM (build 14.3-b01, interpreted mode, sharing)interpreted 純解釋模式 禁用JIT編譯
java -Xcomp -version
Java HotSpot(TM) Client VM (build 14.3-b01, compiled mode, sharing)compiled 純編譯模式(如果方法無法編譯,則回退到解釋模式執行無法編譯的方法)3.動態編譯
動態編譯(compile ring run-time),英文稱Dynamic compilation;Just In Time也是這個意思。
HotSpot對bytecode的編譯不是在程序運行前編譯的,而是在程序運行過程中編譯的。
HotSpot里運行著一個監視器(Profile Monitor),用來監視程序的運行狀況。
java位元組碼(class文件)是以解釋的方式被載入到虛擬機中(默認啟動時解釋執行)。 程序運行過程中,那一部分運用頻率大,那些對程序的性能影響重要。對程序運行效率影響大的代碼,稱為熱點(hotspot),HotSpot會把這些熱點動態地編譯成機器碼(native code),同時對機器碼進行優化,從而提高運行效率。對那些較少運行的代碼,HotSpot就不會把他們編譯。
HotSpot對位元組碼有三層處理:不編譯(位元組碼載入到虛擬機中時的狀態。也就是當虛擬機執行的時候再編譯),編譯(把位元組碼編譯成本地代碼。虛擬機執行的時候已經編譯好了,不要再編譯了),編譯並優化(不但把位元組碼編譯成本地代碼,而且還進行了優化)。
至於那些程序那些不編譯,那些編譯,那些優化,則是由監視器(Profile Monitor)決定。
4.為什麼不靜態編譯那?
為什麼位元組碼在裝載到虛擬機之前就編譯成本地代碼那?
動態編譯器也在許多方面比靜態編譯器優越。靜態編譯器通常很難准確預知程序運行過程中究竟什麼部分最需要優化。
函數調用都是很浪費系統時間的,因為有許多進棧出棧操作。因此有一種優化辦法,就是把原來的函數調用,通過編譯器的編譯,改成非函數調用,把函數代碼直接嵌到調用出,變成順序執行。
面向對象的語言支持多態,靜態編譯無效確定程序調用哪個方法,因為多態是在程序運行中確定調用哪個方法。
jdk 1.9 等價JDK9 J2SE9 JAVA9
jdk 1.8 等價JDK8 J2SE8 JAVA8
jdk 1.7 等價JDK7 J2SE7 JAVA7
jdk 1.6 等價JDK6 J2SE6 JAVA6
jdk 1.5 等價JDK5 J2SE5 JAVA5
jdk 1.4 等價J2SE1.4
jdk 1.3 等價J2SE1.3
jdk 1.2 等價J2SE1.2
jdk 1.1
openjdk源碼下載:
Oracle JDK只發布二進制安裝包,而OpenJDK只發布源碼復制代碼
獲取OpenJDK源碼有兩種方式:
第一種方式:
下載OpenJDK7u的源代碼:
hg clone http://hg.openjdk.java.net/jdk7u/jdk7u-devcd jdk7u-dev
chmod 755 get_source.sh
./get_source.sh
下載OpenJDK8u的源代碼:
hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-devcd jdk8u-dev
./get_source.sh
注意:這是最直接的方式,從版本管理中看變更軌跡比看Release Note效果更好。但不足之處是速度太慢,雖然代碼總容量只有300 MB左右,但是文件數量太多,在筆者的網路下全部復制到本地需要數小時。
第二種方式,即直接下載官方打包好的源碼包
讀者可以從Source Bundle Releases頁面(地址:http://jdk7.java.net/source.html)取得打包好的源碼,到本地直接解壓即可。
一般來說,源碼包大概一至兩個月左右會更新一次,雖然不夠及時,但比起從Mercurial復制代碼的確方便和快捷許多。
筆者下載的是OpenJDK 7 Update 6 Build b21版源碼包,2012年8月28日發布,大概99MB,解壓後約為339MB。
備註:推薦在linux平台或者mac平台上面編譯jdk

Ⅶ java學習下載源碼網站哪個最好用

你好, ZhiIsWiner

CSDN.成立時間比較早。下載需要財富值。剛注冊可以有財富的。
開源中國。成立時間相對CSDN較晚。代碼是免費的,可以直接復制。或者下載。

希望能幫到你。

閱讀全文

與jdk7源碼下載相關的資料

熱點內容
加密晶元的計算方法 瀏覽:187
手機存儲為什麼找不到微信文件夾 瀏覽:695
msf埠遷移命令 瀏覽:880
工商app積分怎麼查詢 瀏覽:143
鐵路app怎麼買火車票 瀏覽:309
移魅族除的app怎麼添加 瀏覽:240
兔籠子大號加密 瀏覽:171
單片機程序燒錄操作成功 瀏覽:878
指標高拋低吸點位源碼 瀏覽:205
25匹壓縮機銅管 瀏覽:570
單片機單燈左移05 瀏覽:150
買伺服器練手什麼配置 瀏覽:783
伺服器被毀該怎麼辦 瀏覽:939
python私有庫 瀏覽:514
Python有中文嗎 瀏覽:736
麥塊的伺服器為什麼都進不去 瀏覽:474
新買的伺服器如何打開 瀏覽:35
安卓軟體游戲怎麼開發 瀏覽:319
用撲克擺愛心解壓神器怎麼擺 瀏覽:70
松下製冷壓縮機 瀏覽:275