Java中的源文件、字節(jié)碼文件解讀
引言
很多朋友在編寫Java程序時(shí),通常使用的新手軟件為Eclipse,但他會(huì)生成兩個(gè)文件,那么這兩個(gè)文件是什么呢?
以HelloWorld為例 ??
源文件和字節(jié)碼文件
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello,World!"); } }
在我們進(jìn)行編譯運(yùn)行時(shí),常常使用cmd命令來執(zhí)行
- 首先是javac HelloWorld.java
- 然后是java HelloWorld
后綴名為.java的文件為源文件,后綴名為.class的文件為字節(jié)碼文件
由此我們可以得出結(jié)論 先產(chǎn)生.java的源文件才能產(chǎn)生.class的字節(jié)碼文件
注意:
眾所周知.Java文件中可以定義多個(gè)類,但我們要注意以下幾點(diǎn):
- public權(quán)限類只能有一個(gè)(也可以一個(gè)都沒有,但是只能有一個(gè))
- 這個(gè).java文件名只能是public權(quán)限的類的類名
- 如果這個(gè)文件中沒有public類,他的.java文件的名字是隨便的一個(gè)類名
- 當(dāng)使用javac命令生成編譯這個(gè).Java文件的時(shí)候,則會(huì)針對(duì)每一個(gè)類生成一個(gè).class文件
JDK、JRE
JDK、JRE和JVM的包含關(guān)系
1.JDK = JRE + 開發(fā)工具集(例如Javac,Java編譯工具等)
2.JRE = JVM + Java SE標(biāo)準(zhǔn)類庫(Java核心類庫)
3.JDK = JVM + Java SE標(biāo)準(zhǔn)類庫 + 開發(fā)工具集(若僅運(yùn)行開發(fā)好的.class文件 只需要JRE)
例題
學(xué)會(huì)了上面的內(nèi)容,那么下面這道題你答對(duì)了嗎???
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java IO流將一個(gè)文件拆分為多個(gè)子文件代碼示例
這篇文章主要介紹了java IO流將一個(gè)文件拆分為多個(gè)子文件代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12Java日期時(shí)間處理問題(從Date、Calendar到SimpleDateFormat)
這篇文章主要介紹了Java日期時(shí)間處理深度解析(從Date、Calendar到SimpleDateFormat),我們?cè)敿?xì)討論了Java中的日期和時(shí)間處理,包括Date、Calendar和SimpleDateFormat類的使用,以及Java?8引入的新的日期時(shí)間API的優(yōu)勢,需要的朋友可以參考下2024-08-08Idea啟動(dòng)多個(gè)SpringBoot項(xiàng)目的3種最新方案
SpringBoot自帶Tomcat,直接運(yùn)行main方法里面的SpringApplication.run即可,并且訪問時(shí)不需要帶項(xiàng)目名,這篇文章主要介紹了Idea啟動(dòng)多個(gè)SpringBoot項(xiàng)目的3種方案,需要的朋友可以參考下2023-02-02java線程池對(duì)象ThreadPoolExecutor的深入講解
在我們的開發(fā)中“池”的概念并不罕見,有數(shù)據(jù)庫連接池、線程池、對(duì)象池、常量池等等。下面這篇文章主要給大家介紹了關(guān)于java線程池對(duì)象ThreadPoolExecutor的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧2018-09-09