class文件和字節(jié)碼文件的區(qū)別
Class文件和字節(jié)碼文件是Java編譯和執(zhí)行過(guò)程中的兩個(gè)重要概念。
Class文件是Java源代碼編譯后生成的二進(jìn)制文件,包含了類(lèi)的結(jié)構(gòu)、字段、方法等信息。它是平臺(tái)無(wú)關(guān)的,可以在不同的Java虛擬機(jī)上執(zhí)行。字節(jié)碼文件是Class文件中的一部分,它是一種中間形式的二進(jìn)制代碼,由Java編譯器將源代碼編譯成的。字節(jié)碼文件是Java虛擬機(jī)可執(zhí)行的指令集,它包含了一系列的字節(jié)碼指令,用于在Java虛擬機(jī)上執(zhí)行程序。因此,Class文件是字節(jié)碼文件的容器,而字節(jié)碼文件是實(shí)際被Java虛擬機(jī)執(zhí)行的代碼。
鈕山17558515474: Java的各種文件類(lèi)型與含義. -
海東地區(qū)行程: ______ java類(lèi)的源代碼.jsp頁(yè)面.class編譯后的類(lèi)文件.xml一般是配置文件當(dāng)然也可以用來(lái)傳數(shù)據(jù)時(shí)候用.properties這也是配置文件.數(shù)據(jù)文件.
鈕山17558515474: Java中編譯生產(chǎn)的.class文件是什么?它是起什么作用的? -
海東地區(qū)行程: ______ 字節(jié)碼文件,用于虛擬機(jī)解釋執(zhí)行程序
鈕山17558515474: 字節(jié)碼文件對(duì)象到底是指什么 -
海東地區(qū)行程: ______ 就是.class文件,.java文件編譯后就會(huì)生成.class文件(即字節(jié)碼文件),然后編譯器加載這個(gè)字節(jié)碼文件,類(lèi)加載器按類(lèi)名加載文件中的類(lèi),執(zhí)行入口main方法.
鈕山17558515474: Java編譯時(shí)注解和運(yùn)行時(shí)注解有什么區(qū)別 -
海東地區(qū)行程: ______ 1 2 3 區(qū)別如下: 1)編譯時(shí)注解,注解內(nèi)容只存在源文件,在編譯期間將被丟棄,不能通過(guò)JVM獲取注解信息; 2)運(yùn)行時(shí)注解,編譯時(shí)被存儲(chǔ)在.class字節(jié)碼文件,可以通過(guò)JVM運(yùn)行時(shí)獲取注解信息(且只限于被RUNTIME注解的注解).
鈕山17558515474: java中的class文件 -
海東地區(qū)行程: ______ 你編寫(xiě)的是源文件,當(dāng)你編譯之后就產(chǎn)生了clss文件, 我們都知道計(jì)算機(jī)只能執(zhí)行機(jī)器代碼,所以你編寫(xiě)的java源文件計(jì)算機(jī)是不能執(zhí)行的,只有在編譯器將源文件編譯成clss文件才能執(zhí)行.你打開(kāi)class文件也是看不懂的,因?yàn)槿嵌M(jìn)制代碼.
鈕山17558515474: JAVA的程序有的為什么要兩個(gè)文件?
海東地區(qū)行程: ______ 你說(shuō)的是.java文件和.class文件? .java文件是程序的源文件,就是你寫(xiě)的源代碼 .class文件是.java文件編譯后的字節(jié)碼文件 程序在執(zhí)行過(guò)程中,都會(huì)把.java文件編譯成.class字節(jié)碼文件才能運(yùn)行 程序真正執(zhí)行的是.class文件 .class文件看不要源代碼,但是可以通過(guò)反編譯得到.java源文件
鈕山17558515474: Dalvik虛擬機(jī)和JVM的區(qū)別.Java里面的,Android里面的區(qū)別 -
海東地區(qū)行程: ______ 1、Dalvik 和標(biāo)準(zhǔn) Java 虛擬機(jī)(JVM)的首要差別 Dalvik 基于寄存器,而 JVM 基于棧.基于寄存器的虛擬機(jī)對(duì)于更大的程序來(lái)說(shuō),在它們編譯的時(shí)候,花費(fèi)的時(shí)間更短. JVM字節(jié)碼中,局部變量會(huì)被放入局部變量表中,繼而被壓入堆棧供操...
鈕山17558515474: java class文件中字節(jié) 高位指什么意思? -
海東地區(qū)行程: ______ Java Class文件就是Java通過(guò)JVM(Java虛擬機(jī))編譯后產(chǎn)生的字節(jié)碼.按照二進(jìn)制的那個(gè)方法你也就知道什么是高偉什么是低位了.這個(gè)一樓的做了介紹,我就不來(lái)重復(fù)了 希望能幫到你
鈕山17558515474: JAVA中的字節(jié)碼是有多少個(gè)類(lèi)就有多少個(gè)字節(jié)碼嗎? -
海東地區(qū)行程: ______ 怎么可能呢,定義了多少個(gè)class就會(huì)生成多少個(gè)字節(jié)碼文件的.但是如果一個(gè)類(lèi)中定義了多個(gè)類(lèi),這多個(gè)類(lèi)中最多只能有一個(gè)public修飾的類(lèi),而且這個(gè)類(lèi)的類(lèi)名必須和文件名一致,其余的類(lèi)可以隨意.但是有多少個(gè)類(lèi)就會(huì)產(chǎn)生多少個(gè)字節(jié)碼文件的.
鈕山17558515474: Java源程序編譯后的class文件是否是目標(biāo)程序? -
海東地區(qū)行程: ______ class文件徑打破了C或者C++等語(yǔ)言所遵循的傳統(tǒng),使用這些傳統(tǒng)語(yǔ)言寫(xiě)的程序通常首先被編譯,然后被連接成單獨(dú)的、專(zhuān)門(mén)支持特定硬件平臺(tái)和操作系統(tǒng)的二進(jìn)制文件.通常情況下,一個(gè)平臺(tái)上的二進(jìn)制可執(zhí)行文件不能在其他平臺(tái)上工作.而Java class文件是可以運(yùn)行在任何支持Java虛擬機(jī)的硬件平臺(tái)和操作系統(tǒng)上的二進(jìn)制文件.
Class文件是Java源代碼編譯后生成的二進(jìn)制文件,包含了類(lèi)的結(jié)構(gòu)、字段、方法等信息。它是平臺(tái)無(wú)關(guān)的,可以在不同的Java虛擬機(jī)上執(zhí)行。字節(jié)碼文件是Class文件中的一部分,它是一種中間形式的二進(jìn)制代碼,由Java編譯器將源代碼編譯成的。字節(jié)碼文件是Java虛擬機(jī)可執(zhí)行的指令集,它包含了一系列的字節(jié)碼指令,用于在Java虛擬機(jī)上執(zhí)行程序。因此,Class文件是字節(jié)碼文件的容器,而字節(jié)碼文件是實(shí)際被Java虛擬機(jī)執(zhí)行的代碼。
java編譯中出現(xiàn)了Exception in thread “main" java.lang.UnsupportedClas...
這個(gè)問(wèn)題確實(shí)是由較高版本的JDK編譯的java class文件試圖在較低版本的JVM上運(yùn)行產(chǎn)生的錯(cuò)誤。1、解決措施就是保證jvm(java命令)和jdk(javac命令)版本一致。如果是linux版本,則在命令行中分別輸入java -version和javac -version命令來(lái)查看版本是否一致。這里假設(shè)都是1.7版本。2、如果都一致,但還是解...
java編譯中出現(xiàn)了Exception in thread “main" java.lang.UnsupportedClas...
出現(xiàn)這種情況是由較高版本的JDK編譯的java class文件試圖在較低版本的JVM上運(yùn)行產(chǎn)生的錯(cuò)誤。1、解決措施就是保證jvm(java命令)和jdk(javac命令)版本一致。如果是linux版本,則在命令行中分別輸入java -version和javac -version命令來(lái)查看版本是否一致。這里假設(shè)都是1.7版本。2、如果都一致,但還是解...
相關(guān)評(píng)說(shuō):
海東地區(qū)行程: ______ java類(lèi)的源代碼.jsp頁(yè)面.class編譯后的類(lèi)文件.xml一般是配置文件當(dāng)然也可以用來(lái)傳數(shù)據(jù)時(shí)候用.properties這也是配置文件.數(shù)據(jù)文件.
海東地區(qū)行程: ______ 字節(jié)碼文件,用于虛擬機(jī)解釋執(zhí)行程序
海東地區(qū)行程: ______ 就是.class文件,.java文件編譯后就會(huì)生成.class文件(即字節(jié)碼文件),然后編譯器加載這個(gè)字節(jié)碼文件,類(lèi)加載器按類(lèi)名加載文件中的類(lèi),執(zhí)行入口main方法.
海東地區(qū)行程: ______ 1 2 3 區(qū)別如下: 1)編譯時(shí)注解,注解內(nèi)容只存在源文件,在編譯期間將被丟棄,不能通過(guò)JVM獲取注解信息; 2)運(yùn)行時(shí)注解,編譯時(shí)被存儲(chǔ)在.class字節(jié)碼文件,可以通過(guò)JVM運(yùn)行時(shí)獲取注解信息(且只限于被RUNTIME注解的注解).
海東地區(qū)行程: ______ 你編寫(xiě)的是源文件,當(dāng)你編譯之后就產(chǎn)生了clss文件, 我們都知道計(jì)算機(jī)只能執(zhí)行機(jī)器代碼,所以你編寫(xiě)的java源文件計(jì)算機(jī)是不能執(zhí)行的,只有在編譯器將源文件編譯成clss文件才能執(zhí)行.你打開(kāi)class文件也是看不懂的,因?yàn)槿嵌M(jìn)制代碼.
海東地區(qū)行程: ______ 你說(shuō)的是.java文件和.class文件? .java文件是程序的源文件,就是你寫(xiě)的源代碼 .class文件是.java文件編譯后的字節(jié)碼文件 程序在執(zhí)行過(guò)程中,都會(huì)把.java文件編譯成.class字節(jié)碼文件才能運(yùn)行 程序真正執(zhí)行的是.class文件 .class文件看不要源代碼,但是可以通過(guò)反編譯得到.java源文件
海東地區(qū)行程: ______ 1、Dalvik 和標(biāo)準(zhǔn) Java 虛擬機(jī)(JVM)的首要差別 Dalvik 基于寄存器,而 JVM 基于棧.基于寄存器的虛擬機(jī)對(duì)于更大的程序來(lái)說(shuō),在它們編譯的時(shí)候,花費(fèi)的時(shí)間更短. JVM字節(jié)碼中,局部變量會(huì)被放入局部變量表中,繼而被壓入堆棧供操...
海東地區(qū)行程: ______ Java Class文件就是Java通過(guò)JVM(Java虛擬機(jī))編譯后產(chǎn)生的字節(jié)碼.按照二進(jìn)制的那個(gè)方法你也就知道什么是高偉什么是低位了.這個(gè)一樓的做了介紹,我就不來(lái)重復(fù)了 希望能幫到你
海東地區(qū)行程: ______ 怎么可能呢,定義了多少個(gè)class就會(huì)生成多少個(gè)字節(jié)碼文件的.但是如果一個(gè)類(lèi)中定義了多個(gè)類(lèi),這多個(gè)類(lèi)中最多只能有一個(gè)public修飾的類(lèi),而且這個(gè)類(lèi)的類(lèi)名必須和文件名一致,其余的類(lèi)可以隨意.但是有多少個(gè)類(lèi)就會(huì)產(chǎn)生多少個(gè)字節(jié)碼文件的.
海東地區(qū)行程: ______ class文件徑打破了C或者C++等語(yǔ)言所遵循的傳統(tǒng),使用這些傳統(tǒng)語(yǔ)言寫(xiě)的程序通常首先被編譯,然后被連接成單獨(dú)的、專(zhuān)門(mén)支持特定硬件平臺(tái)和操作系統(tǒng)的二進(jìn)制文件.通常情況下,一個(gè)平臺(tái)上的二進(jìn)制可執(zhí)行文件不能在其他平臺(tái)上工作.而Java class文件是可以運(yùn)行在任何支持Java虛擬機(jī)的硬件平臺(tái)和操作系統(tǒng)上的二進(jìn)制文件.