① 如何在Eclipse中查看JDK類庫的源代碼 (轉載)
1.點 「window」-> "Preferences" -> "java" -> "Installed JRES"
2.此時"Installed JRES"右邊是列表窗格,列出了系統中的 JRE 環境,選擇你的JRE,然後點邊上的 "Edit...", 會出現一個窗口(Edit JRE)
3.選中rt.jar文件的這一項:「c:program filesjavajre_1.5.0_06lib
t.jar」
點 左邊的「+」 號展開它,
4.展開後,可以看到「Source Attachment:(none)」,點這一項,點右邊的按鈕「Source Attachment...」, 選擇你的JDK目錄下的 「src.zip」文件
5.一路點"ok",結束。
dt.jar是關於運行環境的類庫,主要是swing的包
tools.jar是關於一些工具的類庫
rt.jar包含了jdk的基礎類庫,也就是你在java doc裡面看到的所有的類的class文件
② mv /usr/local/ jdk1.8.0_11是什麼命令
使用linux之安裝jdk 7
卸載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
輸入命令: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,就不會報該錯誤了。
安裝jdk1.8.0_11是相同的。
③ jdk是什麼
JDK是Java語言的軟體開發工具包,主要用於移動設備、嵌入式設備上的java應用程序。JDK是整個java開發的核心,它包含了JAVA的運行環境(JVM+Java系統類庫)和JAVA工具。
自從Java推出以來,JDK已經成為使用最廣泛的Java SDK。由於JDK的一部分特性採用商業許可證,而非開源。
因此,2006年Sun微系統宣布將發布基於GPL的開源JDK,使JDK成為自由軟體。在去掉了少量閉源特性之後,Sun微系統最終促成了GPL的OpenJDK的發布。
組件
1、 javac – 編譯器,將源程序轉成位元組碼
2、 jar – 打包工具,將相關的類文件打包成一個文件
3、 javadoc – 文檔生成器,從源碼注釋中提取文檔
4、 jdb – debugger,查錯工具
5、 java – 運行編譯後的java程序(.class後綴的)
6、 appletviewer:小程序瀏覽器,一種執行HTML文件上的Java小程序的Java瀏覽器。
7、 Javah:產生可以調用Java過程的C過程,或建立能被Java程序調用的C過程的頭文件。
8、 Javap:Java反匯編器,顯示編譯類文件中的可訪問功能和數據,同時顯示位元組代碼含義。
9、 Jconsole: Java進行系統調試和監控的工具。
一、系統需求
無論Linux、Windows或者Mac OS系統,JDK均有X86與X64甚至安騰架構的發行版本。且均為多語言發行,即根據系統語言的不同自動顯示不同語言的信息。
二、其他 JDK
除了本文中討論的最廣泛使用的 JDK 之外,還有其他 JDK 通常可用於各種平台,其中一些從 Sun JDK 源代碼開始,而另一些則沒有。都遵循基本的 Java 規范,但通常在明確未指定的領域有所不同,例如垃圾收集、編譯策略和優化技術。他們包括:
1、 Azul SystemsZing,適用於 Linux 的低延遲 JDK;
2、 適用於 Linux、Windows、Mac OS X、嵌入式和雲的基於Azul Systems/OpenJDK的 Zulu;
3、 OpenJDK/IcedTea;
4、 AicasJamaicaVM;
5、 IBM J9JDK,適用於 AIX、Linux、Windows、MVS、OS/400、Pocket PC、z/OS;
以上內容參考網路-jdk
④ 我安裝了JAVA jdk1.8.0_11,按照網路上的視頻方法,先製作了源代碼,可是無法編譯出來,希望高手可以指導
貼出你的代碼先。另外下面的提示很明顯了啊。下面這個運行試試
publicclassHelloWorld{
publicstaticvoidmain(String[]args){
System.out.println("Hellojava");
}
}
另外類申明必須要跟文件名保持一致! 例如你的類叫HelloWorld,那麼文件名就應該是HelloWorld.java而不是Hello.java
⑤ java的JDK更新到什麼版本了
Standard Edition(標准版)的最新版:jdk 14。
Early-Access(先行版)的最新版:jdk15。
LTS(長期支持版)的最新版:jdk 11.0.6。
JRE(Java Runtime Environment,Java運行時環境),包含了java虛擬機、java基礎類庫。是使用java語言編寫的程序運行所需要的軟體環境。
它相當於操作系統部分,提供了Java程序運行時所需要的基本條件和許多Java基礎類,例如,IO類、GUI控制項類、網路類等。JRE是提供給普通用戶使用的,如果你只想運行別人開發好的Java程序,那麼,你的計算機上必須且只需安裝JRE。
JDK(Java Development Kit,Java開發工具包),它包含編譯工具、解釋工具、文檔製作工具、打包工具多種與開發相關的工具,是提供給Java開發人員使用的。JDK包含了JRE,同時還包含了編譯java源碼的編譯器javac,還包含了很多java程序調試和分析的工具:jconsole,jvisualvm等工具軟體,還包含了java程序編寫所需的文檔和demo例子程序。
⑥ 如何在Eclipse中查看JDK類庫的源代碼
1.點 「window」-> "Preferences" -> "Java" -> "Installed JRES"
2.此時"Installed JRES"右邊是列表窗格,列出了系統中的 JRE 環境,選擇你的JRE,然後點邊上的 "Edit...", 會出現一個窗口(Edit JRE)
3.選中rt.jar文件的這一項:「c:program filesjavajre_1.5.0_06lib
t.jar」
點 左邊的「+」 號展開它,
4.展開後,可以看到「Source Attachment:(none)」,點這一項,點右邊的按鈕「Source Attachment...」, 選擇你的JDK目錄下的 「src.zip」文件
5.一路點"ok",結束。
dt.jar是關於運行環境的類庫,主要是swing的包
tools.jar是關於一些工具的類庫
rt.jar包含了jdk的基礎類庫,也就是你在java doc裡面看到的所有的類的class文件
⑦ Java11的新功能有哪些
Java 11 JDK中已計劃的新功能
目前來看,JDK 11已有九個已經確認的新功能,而且還有更多新功能仍在考慮之中。計劃的新功能包括:
HTTP客戶端(標准),這個功能於JDK 9中引入並在JDK 10中得到了更新,現在終於轉正了。該API通過CompleteableFutures提供非阻塞請求和響應語義,可以聯合使用以觸發相應的動作。自從JDK 9和10中引入該功能後,JDK 11完全重寫了該功能,現在其實現完全是非同步的。RX Flow的概念也得到了實現,這樣就無需為了支持HTTP/2而創造許多概念了。現在,在用戶層請求發布者和響應發布者與底層套接字之間追蹤數據流更容易了。這降低了復雜性,並最大程度上提高了HTTP/1和HTTP/2之間的重用的可能性。Epsilon垃圾回收器,被稱為「no-op」回收器,它僅負責內存分配,卻沒有實現任何實際的內存回收機制。Epsilon回收器可以用於性能測試、內存壓力測試和虛擬機介面。它還可以用於短生命周期的任務。lambda參數的局部變數語法,可以消除隱含類型表達式中正式參數定義的語法與局部變數定義語法的不一致。這樣就能在隱含類型的lambda表達式中定義正式參數時使用var了。Java的類文件格式將被擴展,以支持新的常量池,CONSTANT_Dynamic。其目標是降低開發新形式的可實現類文件約束帶來的成本和干擾。採用Curve25519和Curve448加密的密鑰交換比現有的Diffie-Hellman橢圓曲線密鑰交換方式更有效、更安全。根據IETF的資料,Curve25519和Curve448兩種橢圓曲線採用常量時間的實現方式,以及不會發生異常的數乘實現,能更好地抵抗各種旁路攻擊,包括時序攻擊、緩存攻擊等。該提案的目標是為密鑰交換方法提供一個API和實現,同時開發一個平台無關、純Java的的實現。由於該提案採用了復雜且精密的模算數,因此還是有風險的。飛行記錄儀(Flight Recorder)將提供低開銷的數據收集框架,用來調試Java應用程序和HotSpot JVM。飛行記錄儀是Oracle的商業版JDK的功能,但在JDK 11中,其代碼將移動到公開代碼庫中,這樣所有人都能使用該功能了。Iclouded將作為API,以事件的形式產生或消耗數據,同時提供緩存機制、二進制數據工具,同時支持配置和事件過濾。該提案還提議為OS、HotSpot和JDK庫提供事件。更新platform API以支持Unicode版本10.0,從而使Java跟上潮流。預計以下的類將支持:lang包中的Character和Stringawt.font包中的NumericShapertext包中的Bidi、BreakIterator和Normalizer實現ChaCha20和Poly1305加密演算法。ChaCha20是種相對較新的流加密演算法,能代替舊的、不安全的R4流加密。ChaCha20將與Poly1305認證演算法配對使用。ChaCha20和ChaCha20-Poly1305加密實現將通過crypto.CipherSpi API於SunJCE(Java加密擴展)中提供。增強Java啟動器,使之能夠運行單一文件的Java源代碼,使得應用程序可以直接從源代碼運行。單文件程序常見於小型工具,或開發者初學Java時使用。而且,單一源代碼文件有可能會編譯成多個類文件,這會增加打包開銷。由於這些原因,在運行程序之前進行編譯,已成為了不必要的步驟。Java JDK 11仍在開發中的新功能
Java 11的創建者們還在考慮幾個對JDK 11的變更或新功能的提案:
給Java添加raw字元串字面值。這樣可以更容易地以人類可閱讀的形式書寫字元序列,而無需特殊的Java標記。這樣也能更容易地將非Java語法的字元串提供給Java使用,還能支持多行字元串,而無需使用特殊的標記。擴展switch語句,使之能作為語句或表達式使用。這樣還能改進switch處理null值的方式。這些改動可以簡化編程,同時為switch支持模式匹配做准備。嵌套的訪問控制,對應於Java當前的嵌套類型。嵌套可以讓邏輯上屬於同一代碼實體但被編譯到不同的類文件中的類互相訪問對方的私有成員,而無需讓編譯器插入擴大訪問許可權的方法。JDK 11刪除的功能
Java EE和CORBA模塊從Java SE9就成了不推薦使用(deprecated),並計劃在未來的版本中刪除。這個未來版本就是JDK 11。
Java SE 6於2006年12越發布,它為Java EE平台提供了整套的Web服務技術棧:JAX-WS(Java API for XML-based Web Services),JAXB(Java Architecture for XML Binding),JAF(JavaBeans Activation Framework),以及Common Annotations for Java。這些年來,Java EE版本在不斷進化,這給Java SE造成了許多麻煩,例如加入與Java SE無關的技術,以及同時維護兩個Java版本的困難變得更大。由於獨立的Java EE版本由第三方網站提供,Oracle說Java SE或JDK中已經沒有必要提供Java EE了。
當然,一些依賴於JDK中的Java EE API及工具的應用程序將無法編譯或運行。將JDK 6、7或8移植到新版本時將會產生二進制不兼容和源代碼不兼容。Oracle說,受到這些影響的開發者可以部署相應的Java EE版本。
CORBA來自於二十世紀九十年代,Oracle說,現在用CORBA開發現代Java應用程序已經沒有意義了,維護CORBA的成本已經超過了保留它帶來的好處。
但是刪除CORBA將使得那些依賴於JDK提供部分CORBA API的CORBA實現無法運行。目前還沒有第三方CORBA版本,也不確定是否會有第三方願意接手CORBA API的維護工作。
JavaFX已經被移除,因此已經與Java JDK每年兩次的更新無關。
⑧ jdk11.0.2的代碼jdk13.0.2可以直接使用嗎
一般是可以的
⑨ Java jdk的安裝目錄下沒有 src.zip壓縮包怎麼回事我從官網下載的jdk,怎麼會這樣
src.zip只有源碼,eclipse會自動解析,沒有也不會出任何問題.
你說的scanner類,是java.util.Scanner包下的,直接引用就可以了 import java.util.Scanner;
⑩ Java1.8 JDK源碼中,對兩個類進行 按位與 操作是什麼意思
Integers=11;
Integera=12;
System.out.println(s|a);
你就這么理解吧。|這個符號就叫做與操作。