java聯合編譯與普通編譯區別
你必須在包在最外面進行編譯,系統會自動將相關聯的編譯
比如說A類在包a中,B類在包b中,那麼你編譯時,目錄應該在a目錄之外,這樣你編譯時使用
javac a/A.java
就會級聯編譯了
㈡ java jdbc 預編譯語句和普通語句的區別
一般是在需要反復使用一個SQL語句時才使用預編譯語句,預編譯語句常常放在一個for或者while循環裡面使用,通過反復設置參數從而多次使用該SQL語句;為了防止SQL注入漏洞,在某些數據操作中也使用預編譯語句。這點是預編譯語句和普通語句最大的區別。
㈢ java文件與編譯後的class文件區別嗎
java文件,就是實際編程中編輯的文件,按java語法寫代碼;但java虛擬機jvm不能識別,而class文件,是通過java編譯器編譯出來的二進制文件。這份文件是供java虛擬機jvm運行時執行的文件。裡面按照java定義的規范所構建的文件內容。
class文件,可以讓你在任何一台安裝了java虛擬機的機器上運行。
㈣ 求教JAVA編譯與運行的區別。
編譯只是編譯成了位元組碼,就是可執行的.class文件
運行時識別,主要是java的RTTI(運行時類型識別)機制和反射機制,而兩者之間的區別在於:
」對RTTI來說,編譯器在編譯期打開和檢查.class文件。(換句話說,我們可以用「普通」的方式調用一個對象的所有方法。),而對於反射機制來說,.class文件在編譯期是不可獲取的,所以是在運行期打開和檢查.class文件。「
但是同樣的,反射也需要載入這個類的Class對象,所以那個類的class對象對於jvm必須是可取的的,比如在本地機器上,或者通過網路取得,比如取得一串位元組串。
具體的內容可以參考《Thinking in java》的」類型識別「那一章,講的比較詳細的
㈤ java 的聯合編譯問題
首先
java中一個主類中只能有一個類聲明成public,你聲明了兩個,你應該將publicclassFamily中的public去掉。
count=f.name(count);
f.name(值);這個方法是將值賦給Family類型的對象f中屬性為name
count不可能得到f.name()的值,類型不對一個String一個int;
你可以f.name(count);或f.name = count+"";
㈥ 請問java程序在編譯和運行時有什麼區別,系統分別都會做什麼
Java程序的編譯
使用命令: javac *.java
編譯時,會將寫的.java文件(高級語言),生成相應的位元組碼文件.class文件(二進制代碼)
Java程序的執行
使用命令:java *
流程: 載入到 -- 連接 ---- 初始化 ...
運行時,首先會由將相應的.class文件,載入到內存中,並驗證.class文件的有效性,將相應類的Class載入到內存中,並對類中的靜態變數進行初始化操作,然後就由 主 類開始執行
具體的可以看一下 JVM 類載入過程,以及jVM的內存分配機制
㈦ java語言的編譯過程與一般編程語言的編譯過程有何不同
Java代碼編譯和執行的整個過程包含了以下三個重要的機制:
Java源碼編譯機制
類載入機制
類執行機制
Java源碼編譯機制
Java源碼編譯由以下三個過程組成:
分析和輸入到符號表
註解處理
語義分析和生成class文件
JVM的類載入是通過ClassLoader及其子類來完成的
JVM是基於棧的體系結構來執行class位元組碼的。線程創建後,都會產生程序計數器(PC)和棧(Stack),程序計數器存放下一條要執行的指令在方
法內的偏移量,棧中存放一個個棧幀,每個棧幀對應著每個方法的每次調用,而棧幀又是有局部變數區和操作數棧兩部分組成,局部變數區用於存放方法中的局部變
量和參數,操作數棧中用於存放方法執行過程中產生的中間結果
㈧ java和c的編譯方式有什麼區別
我的第一次判斷失誤,請教了一位高手,理論解釋如下:
編譯器的問題,java的編譯器在遇到i++和i- -的時候會重新為變數運算分配一塊內存空間,以存放原始的值,而在完成了賦值運算之後,將這塊內存釋放掉,而C語言中的i=i++就只是完成i++的內容,所以結論會不同。
原理也可以這么說:
Java中:
int temp=i;//重新分配變數內存
i=i+1;
i=temp;
C中:
i=i;//i還是i
i++;
樓主,是不是考慮加點分,答案得來不容易啊 :-)
㈨ JAVA中: 編譯過的代碼和源代碼的區別是
源代碼就是你在電腦裏手敲進去的那些;
編譯過的代碼其實是你的編譯軟體將你手敲進去的那些代碼「翻譯」成了計算機可以識別讀懂的機器語言,換句話說也就是一堆二進制的代碼。
你寫程序的時候會用到某種軟體(比如java的eclipse,.NET的vs2005、vs2008等),當你要編譯時只需點下軟體的編譯按鈕,軟體會自動給你編譯。
㈩ 編譯型和解釋型的區別&Java從編譯到執行的過程
編譯執行:
編譯執行是一種計算機語言的執行方式。由編譯程序將目標代碼一次性編譯成目標程序,再由機器運行目標程序(效率高於解釋執行)
解釋執行:
使用解釋執行的程序我們一般稱為解釋程序。它將源語言直接作為源程序輸入,解釋執行解釋一句後就提交計算機執行一句,並不形成目標程序。解釋執行不依賴於平台。
Java從編譯到執行的過程: