- 相關(guān)推薦
jre是什么
JRE是Java Runtime Enviroment是指Java的運(yùn)行環(huán)境,是面向Java程序的使用者,而不是開(kāi)發(fā)者。JRE是我們運(yùn)行相應(yīng)軟件的時(shí)候都會(huì)出現(xiàn)的,那么它究竟是什么呢?接下來(lái)就由小編帶來(lái)jre是什么,希望對(duì)你有所幫助!
jre是什么
JRE(Java Runtime Environment,Java運(yùn)行環(huán)境),運(yùn)行JAVA程序所必須的環(huán)境的集合,包含JVM標(biāo)準(zhǔn)實(shí)現(xiàn)及Java核心類庫(kù)。
拓展閱讀:JRE管理機(jī)制
分類
Net Framework的類庫(kù)管理機(jī)制 .Net Framework的類庫(kù)管理機(jī)制相當(dāng)強(qiáng)大和復(fù)雜,分為私有類庫(kù)和共享類庫(kù)。
私有類庫(kù)就放在exe程序當(dāng)前路徑下,或其相對(duì)路徑中,只有當(dāng)前程序可見(jiàn)。
注意事項(xiàng)
1、共享類庫(kù)需要在GAC(Global Assembly Cache)中注冊(cè),注冊(cè)過(guò)程比較復(fù)雜,首先要用工具生成公開(kāi)/私有密鑰對(duì),然后結(jié)合密鑰和類庫(kù)版本號(hào)連編,最后使用工具注冊(cè)到GAC中好以后,會(huì)被放在"C:Winntassemblygac類庫(kù)的名稱空間版本號(hào)"目錄下,不同的類庫(kù)版本在注冊(cè)的時(shí)候會(huì)按照版本號(hào)分開(kāi)放置:
某類庫(kù)1.0版本 C:Winntassemblygac名稱1.0名稱.dll
某類庫(kù)1.1版本 C:Winntassemblygac名稱1.1名稱.dll
2、可以同時(shí)存在一個(gè)類庫(kù)的n個(gè)版本,至于在程序中用哪個(gè)版本,在程序的配置文件中聲明,CLR會(huì)根據(jù)聲明來(lái)調(diào)用相應(yīng)的版本的類庫(kù)。我覺(jué)得.Net實(shí)現(xiàn)方法未免太復(fù)雜了一些,將所有共享類庫(kù)都塞到一個(gè)系統(tǒng)目錄下,并且同一個(gè)類庫(kù)還有n個(gè)版本,將來(lái).Net第三方開(kāi)發(fā)的類庫(kù)逐漸豐富起來(lái)以后,.Net類庫(kù)的GAC也會(huì)越來(lái)越龐大,會(huì)不會(huì)也搞得和Windows注冊(cè)表一樣難以維護(hù)?軟件發(fā)布到服務(wù)器上的時(shí)候,類庫(kù)要再注冊(cè)一次,服務(wù)器會(huì)逐漸形成一個(gè)龐大的樹(shù)狀的GAC,GAC里面存放著組件的n個(gè)版本。試想經(jīng)過(guò)一段時(shí)間之后,C:Winntassemblygac目錄會(huì)越來(lái)越龐大,有的組件甚至有n個(gè)版本都放在那里,你又不敢隨便刪除,不知道是不是有程序需要使用,我不明白MS為什么要把這么簡(jiǎn)單的事情搞到這么復(fù)雜?
討論:全局程序集緩存不會(huì)是無(wú)限大的,所以“將來(lái).Net第三方開(kāi)發(fā)的類庫(kù)逐漸豐富起來(lái)以后,Net類庫(kù)的GAC也會(huì)越來(lái)越龐大,會(huì)不會(huì)也搞得和Windows注冊(cè)表一樣難以維護(hù)?”這是杞人憂天。原因如下:第一是操作系統(tǒng)的生命周期一般不會(huì)是無(wú)限長(zhǎng)的,而且越來(lái)越短,Windows為證,同時(shí).Net Framework也在不斷更迭,在十年左右的時(shí)間里,全球的程序產(chǎn)量是有限的,高質(zhì)量的第三方開(kāi)發(fā)的類庫(kù)更是有限,需要注冊(cè)到GAC的就更少了。
什么是JDK和JRE?它們的概念與區(qū)別分析
1.JRE是啥
先說(shuō)JRE,在我們裝JDK的時(shí)候,經(jīng)常會(huì)發(fā)現(xiàn)即安裝了JDK也安裝了JRE,也不知道他們有什么區(qū)別。
JRE(Java Runtime Environment)是JAVA運(yùn)行時(shí)環(huán)境,它是運(yùn)行已編譯Java程序所需的所有內(nèi)容的集合,包括Java虛擬機(jī)(JVM),Java核心類庫(kù)和一些基礎(chǔ)的構(gòu)件。
有些人認(rèn)為如果是運(yùn)行,那JVM不就夠了嗎,其實(shí)還不夠,因?yàn)樵诮忉宑lass文件時(shí),JVM需要調(diào)用解釋所需要的類庫(kù) lib。jre的安裝目錄下,里面有兩個(gè)文件夾bin和lib,籠統(tǒng)的分析下,這里可以認(rèn)為bin里的就是jvm,lib中則是jvm工作所需要的類庫(kù),而jvm和 lib合起來(lái)就稱為jre。
jre里有運(yùn)行.class的java.exe文件,至于虛擬機(jī)則是jre安裝目錄/bin/server目錄下的jvm.dll文件
但是,它不能用于創(chuàng)建新程序。它只包括了運(yùn)行的能力,不具備開(kāi)發(fā)的能力,它無(wú)法將java文件編譯成.class字節(jié)碼文件,但是它可以直接跑.class字節(jié)碼文件,你在其他電腦上編譯好java程序,拿到僅有JRE環(huán)境的電腦也可以正常使用。
2.JDK是啥
JDK(Java Development Kit)是Java的開(kāi)發(fā)工具包,它不僅提供了Java程序運(yùn)行所需的JRE,還提供了一系列的編譯,運(yùn)行等工具,如javac,java,javaw等。通過(guò)這里,我們可以明白三個(gè)J的包括關(guān)系了:JDK》JRE》JVM,所以我們?cè)诎惭bJDK時(shí),通常不需要考慮JRE,JVM之類的,只要你安裝好了JDK,其他兩個(gè)就都有了。
簡(jiǎn)單列舉一下JDK包括的一些開(kāi)發(fā)工具:
javac – 編譯器,將源程序轉(zhuǎn)成字節(jié)碼。
jar – 打包工具,將相關(guān)的類文件打包成一個(gè)文件。
javadoc – 文檔生成器,從源碼注釋中提取文檔。
jdb – debugger,查錯(cuò)工具。
java – 運(yùn)行編譯后的java程序(.class后綴的)。
appletviewer:小程序?yàn)g覽器,一種執(zhí)行HTML文件上的Java小程序的Java瀏覽器。
Javah:產(chǎn)生可以調(diào)用Java過(guò)程的C過(guò)程,或建立能被Java程序調(diào)用的C過(guò)程的頭文件。
Javap:Java反匯編器,顯示編譯類文件中的可訪問(wèn)功能和數(shù)據(jù),同時(shí)顯示字節(jié)代碼含義。
Jconsole: Java進(jìn)行系統(tǒng)調(diào)試和監(jiān)控的工具。
有時(shí)候還會(huì)有人提到SDK,SDK(Software Development Kit )是指軟件開(kāi)發(fā)包,它不僅限于JAVA,很多軟件也有自己的SDK,更像一個(gè)統(tǒng)稱,是專門(mén)給第三方開(kāi)發(fā)者提供的軟件開(kāi)發(fā)工具集合。
所以SDK實(shí)際上和JDK沒(méi)啥直接聯(lián)系,SDK比較抽象,JDK則是具體指Java開(kāi)發(fā)工具包,它們兩都不是一個(gè)次元的,硬要說(shuō)的話,JDK可以被描述成Java開(kāi)發(fā)的SDK。
【jre是什么】相關(guān)文章:
拉拉褲是什么_成長(zhǎng)褲是什么12-31
語(yǔ)文是什么09-04
理療是什么11-15
題記是什么12-01
關(guān)于mrp是什么07-31
rpm是什么單位11-09
散粉是什么08-11
信托的目的是什么12-05
鮮嫩近義詞是什么11-09
羽絨棉是什么01-16