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