導航:首頁 > 源碼編譯 > 將java源文件編譯

將java源文件編譯

發布時間:2022-12-09 23:36:40

⑴ 怎麼動態編譯java源文件

(Write once, run anywhere)」 的目標。Java類文件中包含的位元組代碼可以被不同平台上的JVM所使用。Java位元組代碼不僅可以以文件形式存在於磁碟上,也可以通過網路方式來下載,還可以只存在於內存中。JVM中的類載入器會負責從包含位元組代碼的位元組數組(byte[])中定義出Java類。在某些情況下,可能會需要動態的生成 Java位元組代碼,或是對已有的Java位元組代碼進行修改。這個時候就需要用到本文中將要介紹的相關技術。首先介紹一下如何動態編譯Java源文件。
動態編譯Java源文件
在一般情況下,開發人員都是在程序運行之前就編寫完成了全部的Java源代碼並且成功編譯。對有些應用來說,Java源代碼的內容在運行時刻才能確定。這個時候就需要動態編譯源代碼來生成Java位元組代碼,再由JVM來載入執行。典型的場景是很多演算法競賽的在線評測系統(如PKU JudgeOnline),允許用戶上傳Java代碼,由系統在後台編譯、運行並進行判定。在動態編譯Java源文件時,使用的做法是直接在程序中調用Java編譯器。
JSR 199引入了Java編譯器API。如果使用JDK 6的話,可以通過此API來動態編譯Java代碼。比如下面的代碼用來動態編譯最簡單的Hello World類。該Java類的代碼是保存在一個字元串中的。
publicclassCompilerTest{
publicstaticvoidmain(String[]args)throwsException{
Stringsource="publicclassMain{publicstaticvoidmain(String[]args){System.out.println(\"HelloWorld!\");}}";
JavaCompilercompiler=ToolProvider.getSystemJavaCompiler();
=compiler.getStandardFileManager(null,null,null);
=newCompilerTest.StringSourceJavaObject("Main",source);
Iterable<extendsJavaFileObject>fileObjects=Arrays.asList(sourceObject);
CompilationTasktask=compiler.getTask(null,fileManager,null,null,null,fileObjects);
booleanresult=task.call();
if(result){

⑵ 在使用jdk編譯時,如何如何將一個JAVA源文件編譯到一個指定的文件夾裡面

class文件編譯後會存放在d盤根目錄下

javac -d "d:" D.java

執行臨時設置classpath路徑下的class

java -classpath "d:" D


⑶ 編譯java程序需要使用什麼命令

編譯命令是 javac

  1. 首先使用記事本編輯一段簡單的Java代碼

    ⑷ 如何使用javac命令編譯java源程序

    1.建文本文檔,輸入自己的java程序。

閱讀全文

與將java源文件編譯相關的資料

熱點內容
php語言結構函數 瀏覽:128
python爬蟲抓取div 瀏覽:222
excel表格如何把文件夾調換位置 瀏覽:677
java中會存在內存泄漏 瀏覽:365
游戲中心的加密密碼是多少 瀏覽:617
同事喜歡命令 瀏覽:429
程序員300字 瀏覽:945
pubg如何開自定義伺服器 瀏覽:80
linuxshellif包含字元串 瀏覽:300
設置裡面的郵箱怎麼登錄安卓 瀏覽:717
androidwebview電話 瀏覽:248
為什麼優盤里的文件夾都不見了 瀏覽:603
單車旅行pdf 瀏覽:267
手機桌面合並文件夾打不開 瀏覽:435
linuxcnull 瀏覽:268
javaformat字元 瀏覽:676
精打細算的程序員 瀏覽:880
android游戲開發工具 瀏覽:787
javaobject判空 瀏覽:30
手機檢查源碼後門軟體 瀏覽:679