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