- 軟件大?。?span>149.00M
- 軟件語(yǔ)言:中文
- 軟件類型:國(guó)產(chǎn)軟件
- 軟件類別:免費(fèi)軟件 / 編程工具
- 更新時(shí)間:2019-07-20 11:44
- 運(yùn)行環(huán)境:WinXP, Win7, Win8, Win10
- 軟件等級(jí):
- 軟件廠商:
- 官方網(wǎng)站:http://m.siawh.com/
153.32M/中文/2.6
322.46M/中文/2.8
15.91M/中文/5.0
2.49M/中文/0.0
67.48M/中文/10.0
jdk11是java程序員常用的工具,現(xiàn)在發(fā)行了11版本了,更新了不少細(xì)節(jié)的地方這些都需要自己在使用中去發(fā)現(xiàn),而且還有更多的不同jdk版本提供下載,可以按照自己的需求進(jìn)行選擇,而且整個(gè)軟件非常好用,喜歡就來(lái)綠色資源網(wǎng)下載吧!
jdk | ||
jdk12 | jdk 1.9 | JDK v8.0 |
jdk6.0 | java jdk1.6 32位 | oracle jdk1.6驅(qū)動(dòng) |
1.下載好安裝包之后,點(diǎn)擊開(kāi)始安裝
2.一般直接選擇默認(rèn)路徑,當(dāng)然也能改,但是路徑別出現(xiàn)中文就行了
3.安裝完成,現(xiàn)在開(kāi)始配置環(huán)境變量
4.我這里演示的是win7系統(tǒng),點(diǎn)擊計(jì)算機(jī)選擇屬性
5.點(diǎn)擊高級(jí)系統(tǒng)設(shè)置,然后點(diǎn)擊環(huán)境變量
6.選擇系統(tǒng)變量的Path然后點(diǎn)擊編輯
7.在變量值最后輸入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;(注意原來(lái)Path的變量值末尾有沒(méi)有;號(hào),如果沒(méi)有先輸入;號(hào)再輸入上面的代碼)
8.選擇CLASSPATH 變量,點(diǎn)擊編輯,輸入 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一點(diǎn))
9.如果沒(méi)有java_home新建一個(gè),小編這里上次裝了一個(gè)jdk12所以有
10.新建 JAVA_HOME 變量 。變量值填寫你安裝jdk剛剛選擇的目錄(本人是 C:\Program Files\Java\jdk-11.0.4)
11.按一下win+r(win就是ctrl和alt中間那個(gè)按鍵),然后輸入cmd
12.輸入java -version ,如圖就是安裝配置成功了
我們尋求降低創(chuàng)建新形式的可實(shí)現(xiàn)類文件常量的成本和中斷,這反過(guò)來(lái)又為語(yǔ)言設(shè)計(jì)者和編譯器實(shí)現(xiàn)者提供了更廣泛的表達(dá)性和性能選擇。我們通過(guò)創(chuàng)建一個(gè)新的常量池形式來(lái)實(shí)現(xiàn)這一點(diǎn),該形式可以使用用戶提供的行為進(jìn)行參數(shù)化,采用帶有靜態(tài)參數(shù)的引導(dǎo)方法。我們還將調(diào)整JVM和引導(dǎo)程序方法之間的鏈接時(shí)握手,以便使所使用的引導(dǎo)程序API invokedynamic適用于動(dòng)態(tài)常量。根據(jù)invokedynamic我們的經(jīng)驗(yàn),我們將調(diào)整兩者invokedynamic和動(dòng)態(tài)常量的自舉握手,放松對(duì)參數(shù)列表處理到引導(dǎo)方法的某些限制。這項(xiàng)工作需要JDK庫(kù)的一些原型設(shè)計(jì)支持幾種常量類型的代表性樣本,特別是變量句柄(JEP 193)。為了支持這種原型設(shè)計(jì),這項(xiàng)工作將與其他關(guān)于常量表達(dá)式的基本語(yǔ)言支持的工作相協(xié)
描述
就像invokedynamic調(diào)用站點(diǎn)的鏈接涉及從JVM到基于Java的鏈接邏輯的上行調(diào)用一樣,我們可以將相同的技巧應(yīng)用于常量池條目的解析。甲CONSTANT_Dynamic 恒定池條目編碼以執(zhí)行分辨率自舉方法(A MethodHandle),所述常數(shù)(的類型Class),以及任何靜態(tài)引導(dǎo)參數(shù)(常數(shù)的任意序列,在動(dòng)態(tài)常數(shù)之間的常量池限制周期。)
我們添加了一個(gè)新的常量池形式,CONSTANT_Dynamic(新的常量標(biāo)記17),它的標(biāo)記字節(jié)后面有兩個(gè)組件:bootstrap方法的索引,格式與a中的索引相同 CONSTANT_InvokeDynamic,a CONSTANT_NameAndType,編碼預(yù)期類型。
行為上,CONSTANT_Dynamic通過(guò)對(duì)以下參數(shù)執(zhí)行其引導(dǎo)方法來(lái)解析常量:1。本地Lookup 對(duì)象,2。String表示常量的名稱組件,3。Class表示期望的常量類型,以及4.任何剩余的引導(dǎo)參數(shù)。與此同時(shí)invokedynamic,多個(gè)線程可以競(jìng)爭(zhēng)解決,但將選擇一個(gè)獨(dú)特的贏家,并丟棄任何其他競(jìng)爭(zhēng)的答案。而不是CallSite像invokedynamic指令所要求的那樣返回一個(gè)對(duì)象,bootstrap方法將返回一個(gè)值,該值將立即轉(zhuǎn)換為所需的類型。
與此同時(shí)invokedynamic,除了類型之外,name組件是一個(gè)附加通道,用于將表達(dá)式信息傳遞給bootstrap方法。預(yù)期正如invokedynamic指令查找名稱組件的用途(例如,方法名稱或某些特殊描述符)一樣,動(dòng)態(tài)常量也將找到名稱的用途(例如,enum常量的名稱或符號(hào)常量的拼寫) )。把CONSTANT_NameAndType在兩地使得一個(gè)更經(jīng)常的設(shè)計(jì)。在效果上,CONSTANT_Methodref和 CONSTANT_Fieldref常數(shù)用來(lái)指的類名稱的成員,而類似的CONSTANT_InvokeDynamic和 CONSTANT_Dynamic常數(shù)用于指命名實(shí)體與用戶編程的引導(dǎo)程序。
具有兩個(gè)invokedynamic和 的常量的類型組件CONSTANT_Dynamic確定調(diào)用站點(diǎn)的有效類型或常量(分別)。引導(dǎo)方法不會(huì)貢獻(xiàn)或約束此類型信息,因此引導(dǎo)方法可能(通常是)弱類型,而字節(jié)碼本身始終是強(qiáng)類型的。
為了放寬對(duì)引導(dǎo)說(shuō)明符的長(zhǎng)度限制,將調(diào)整定義引導(dǎo)方法調(diào)用的語(yǔ)言(具有完全向后兼容性),以允許變量arity(ACC_VARARGS)引導(dǎo)方法將所有剩余的靜態(tài)參數(shù)吸收到其尾隨參數(shù)中,即使存在是2 ^ 16-1。(類文件格式已經(jīng)允許這樣,但是沒(méi)有辦法讀取過(guò)長(zhǎng)的引導(dǎo)參數(shù)列表。)為了保持一致性,如果目標(biāo)方法具有可變的arity ,那么 invokeWithArguments方法MethodHandle也將以這種方式擴(kuò)展。這樣的引導(dǎo)方法調(diào)用可以在弱類型的方法來(lái)指定invokeWithArguments和invoke,就像今天它在來(lái)指定invoke一個(gè)人。
控制引導(dǎo)鏈接錯(cuò)誤已被證明是來(lái)自用戶的錯(cuò)誤和RFE的重復(fù)來(lái)源,并且invokedynamic隨著引導(dǎo)方法變得更加復(fù)雜(因?yàn)樗鼈儽仨毦哂袆?dòng)態(tài)常量),趨勢(shì)可能會(huì)加速。如果我們能找到一種方法來(lái)提供對(duì)引導(dǎo)方法異常的更全面控制,并且可以簡(jiǎn)單地完成,我們將考慮將其作為此JEP的一部分提供。否則,它將列入未來(lái)的增強(qiáng)功能列表。
動(dòng)機(jī)
Java虛擬機(jī)規(guī)范的4.4節(jié)描述了常量池的格式。添加新的常量池形式(例如Java 7 的支持MethodHandle和MethodType引入)是一項(xiàng)重大的工作,并在生態(tài)系統(tǒng)中發(fā)出漣漪,因?yàn)樗鼤?huì)影響解析或解釋類文件的所有代碼。這為創(chuàng)建新的恒定池形式提供了很高的標(biāo)準(zhǔn)。
使用invokedynamic,將常量池中存儲(chǔ)復(fù)雜數(shù)據(jù)的值相乘,因?yàn)閕nvokedynamic引導(dǎo)程序的靜態(tài)參數(shù)列表 是一系列常量。invokedynamic協(xié)議的設(shè)計(jì)者 (例如LambdaMetafactoryJava 8中添加的)通常很難滿足根據(jù)現(xiàn)有常量集編碼行為的需要 - 這反過(guò)來(lái)又需要在引導(dǎo)程序本身中具有額外的容易出錯(cuò)的驗(yàn)證和提取邏輯。更豐富,更靈活,更高類型的常量消除了invokedynamic協(xié)議開(kāi)發(fā)的摩擦,這反過(guò)來(lái)又促進(jìn)了復(fù)雜邏輯從運(yùn)行時(shí)到鏈接時(shí)的移動(dòng),提高了程序性能并簡(jiǎn)化了編譯器邏輯。
支持批量比例常量,如數(shù)組或資源表
進(jìn)一步調(diào)整bootstrap方法握手
可以與動(dòng)態(tài)常數(shù)協(xié)同的自舉方法的其他用途
將動(dòng)態(tài)常量附加到ConstantValue靜態(tài)字段的屬性
展示Java語(yǔ)言中常量的延遲初始化
將新常量與特殊Java語(yǔ)言規(guī)則集成在一起用于常量表達(dá)式
src/share/classes/java/lang:
包含實(shí)現(xiàn)Unicode字符數(shù)據(jù)庫(kù)的Character和的 源。String
src/share/classes/java/text:
包含源,用于提供類語(yǔ)言環(huán)境敏感的服務(wù),例如DateFormat,NumberFormat, Collator,Normalizer,Bidi, BreakIterator,等。
src/share/classes/java/util:
包含源語(yǔ)言環(huán)境的工具類如 Locale,Currency,Calendar, TimeZone,ResourceBundle,等。
src/share/classes/sun/[text|util]/resources:
包含上述區(qū)域設(shè)置敏感類所需的區(qū)域設(shè)置數(shù)據(jù)。
src/share/classes/java/awt/im:
包含 Input Method Framework的API類的源。
src/share/classes/sun/awt/im:
包含 輸入法框架的實(shí)現(xiàn)類的源。
src/solaris/classes/sun/awt/fontconfigs, src/windows/classes/sun/awt/windows:
包含 字體配置文件的源
請(qǐng)描述您所遇到的錯(cuò)誤,我們將盡快予以修正,謝謝!
*必填項(xiàng),請(qǐng)輸入內(nèi)容