當前位置:首頁 » 操作系統 » javac的源碼

javac的源碼

發布時間: 2023-07-19 18:59:54

❶ 怎樣將java源代碼生成java應用程序

  1. 用命令提示符來生成應用程序

    打開命令提示符,輸入javac 源代碼文件路徑源代碼文件名稱.java 或 javac -jar源代碼文件路徑源代碼文件名稱.jar

    然後就可以看見源代碼文件的旁邊多了一個 源代碼文件名稱.class文件 或源代碼文件名稱.jar

  2. 直接用IDE中的構建選項 NetbeansIDE 和 eclipse都是現在很受歡迎的IDE

❷ java源代碼怎麼打開

源代碼默認是打不開的,可以使用反編譯工具,進行逆向解析才能看到源代碼。
eclipse這個開發工具,默認有反編譯的插件,在查看的類,按住ctrl點擊滑鼠左鍵即可查看源代碼。

❸ openjdk javadoc在哪

請參考OpenJDK8u最新版的javadoc的實現:http://hg.openjdk.java.net/jdk8u/jdk8u/langtools/file/tip/src/share/classes/com/sun/tools/javadoc
不過要注意的是OpenJDK(也傳遞到Oracle JDK)的javadoc是在javac的基礎上實現的。而javac的源碼在隔壁的另一個目錄里:
jdk8u/jdk8u/langtools: 2baeb96fa198 /src/share/classes/com/sun/tools/javac/
其中javac的parser在com.sun.tools.javac.parser包下,而AST類型聲明在com.sun.tools.javac.tree包下。
javadoc要先讓javac把源碼的語法分析(parse)做好,得到裡面的javadoc注釋之後,再由javadoc自己的邏輯去分析注釋里的內容並且生成HTML文檔文件。

❹ 求解java多目錄源碼用javac怎麼編譯

寫到一半學校斷網,重新手打、、、=_=
以下是我原來寫好的部分:
其實我原來也不會,但是看了樓主的問題,我摸索了一下。
首先我在終端里輸入javac,彈出了幾個參數選項的解釋,其中有一個:
-classpath <路徑>
所以我猜它應該是可以添加搜索路徑之類的參數。
我寫了兩個java文件,放在兩個路徑下,其中有主函數的文件為:
package com.test;

import com2.test2.*;

public class testMult {

public static void main(String args[]) {

Mult m = new Mult();

m.a = "asd";

System.out.println(m.a);

}

}
可見我import了一個com2.test2的包,下面是這個包里的Java文件:
package com2.test2;

public class Mult {

public String a;

}
然後我在終端輸入了:
javac -classpath /Users/wulin/Documents/workspace/TestMultiDir/src /Users/wulin/Documents/workspace/TestMultiDir/src/com/test/testMult.java
然後編譯成功了。
其中值得注意的是classpath添加的路徑是包所在的目錄,在這里也就是com2所在的目錄 /Users/wulin/Documents/workspace/TestMultiDir/src
我用的系統是mac os,所以樓主如果用的是windows,那麼路徑分隔的符號可能要注意一下。

❺ java編碼理解

<%@ page contentType= text/ charset=utf pageEncoding= GBK %>

jsp頁面(pageEncoding)——根據pageEncoding的設定讀取jsp——>翻譯成統一的UTF JAVA源碼(即 java)——由JAVAC的JAVA源碼至java byteCode的編譯——>

編譯成UTF encoding的二進制碼(即 class)——Tomcat(或其的application container)載入和執行階段二的來的JAVA二進制碼——>輸出contentType編碼給瀏覽器

頁面輸入的參數用pageEncoding來編碼

頁面的默認編碼是什麼?

ntentType的默認編碼是什麼?

編碼和解碼過程各種文件時什麼編碼

response setContentType( text/ charset=gb ) 是在頁面顯示時設置的字元格式request setCharacterEncoding( gb ) 是servlet接受請求後對請求中的字元進行設置字元格式 因為默認通過網路傳輸的內容都被進行了iso 編碼 如果想在後處理的時候不讓中文成亂碼 那就得對得到的內容進行gb 編碼

JSP pageEncoding和contentType屬性

JSP要經過兩次的 編碼 第一階段會用pageEncoding 第二階段會用utf 至utf 第三階段就是由Tomcat出來的網頁 用的是contentType

關於JSP頁面中的pageEncoding和contentType兩種屬性的區別

pageEncoding是jsp文件本身的編碼

contentType的charset是指伺服器發送給客戶端時的內容編碼

JSP要經過兩次的 編碼 第一階段會用pageEncoding 第二階段會用utf 至utf 第三階段就是由Tomcat出來的網頁 用的是contentType

第一階段是jsp編譯成 java 它會根據pageEncoding的設定讀取jsp 結果是由指定的編碼方案翻譯成統一的UTF JAVA源碼(即 java) 如果pageEncoding設定錯了 或沒有設定 出來的就是中文亂碼

第二階段是由JAVAC的JAVA源碼至java byteCode的編譯 不論JSP編寫時候用的是什麼編碼方案 經過這個階段的敏埋結果全部是UTF 的encoding的java源碼

JAVAC用UTF 的encoding讀取java源碼 編譯成UTF encoding的二進制碼(即 class) 這是JVM對常數字串在二進制碼(java encoding)內表達的規范

第三階段是Tomcat(或其的application container)載入和執行階段二的來的JAVA二進制碼 輸出的結果 也就是在客戶端見到的 這時隱藏在階段一和階段二的參數contentType就發揮了功效

contentType的設定

pageEncoding 和contentType的預設都是 ISO 而隨便設定了其中一個 另一個就跟著一樣了(TOMCAT 是如此) 但這不是絕對的 這要看各自JSPC的處理方式 而pageEncoding不等於contentType 更有利亞洲區的文字 CJKV系JSP網頁的開發和展示 (例pageEncoding=GB 不等於 contentType=utf )

jsp文件不像 java java在被編譯器讀入的時候默認採用的是操作系統所設定的locale所對應的編碼 一般我們不管是在段侍記事本還是在ue中寫代碼 如果沒有經過特別轉碼的話 寫出來的都是本地編碼格式的內容 所以編譯器採用的方法剛好可以讓虛擬機得到正確的資料

但是jsp文件不是這樣 它沒有這個默認轉碼過程 但是指定了pageEncoding就可以實現正確轉碼了

舉個例子

<%@ page contentType= text/ charset=utf %>大都會列印出亂碼 因為我輸橋燃螞入的 你好嗎 是gbk的 但是伺服器是否正確抓到 你好嗎 不得而知

但是如果更改為

lishixin/Article/program/Java/hx/201311/26477

❻ 怎樣把java的源碼編譯成class文件

用dos就可以,點開始--運行cmd--找到你要編譯的java文件的地址然後javac 加上你的文件名就編譯出來了注意javac和文件名之間要加空格

❼ JAVA源代碼怎麼運行

.class文件是java編譯後的文件,它不是源代碼,真正的java源代碼是.java文件。
java源代碼是txt格式的.java文件,用記事本就可以打開。
用eclipse打開java文件的方式是:
如果java文件是一個eclipse工程(根目錄帶有.project文件),用file/import/general/exist java project/(大概是)然後找到你的目錄。
否則需要自己新建一個工程file/new/java project
然後把java文件拷貝到.src目錄下。

.class文件是直接的編譯好的文件,可以用jad把.class文件反編譯成java文件,不過反編譯的代碼和原來的代碼不一定完全一樣。

❽ 用Javac怎麼單獨編譯一個java文件

對單個*java文件進行編譯的方法是利用javac工具。
1. 編寫Hellworld.java源碼
新建一個Hellworld的java文件,代碼如下:
package com.csdn.test;
public class Say {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("hello,world!");
}
}
2、編譯Hellworld.java源碼
執行javac命令編譯源代碼,下面得藍色部分說明javac執行成功了,並在當前目錄下生成了Say.class文件,如下:
Microsoft Windows [版本 6.1.7600]
版權所有 (c) 2009 Microsoft Corporation。保留所有權利。
C:/Users/Administrator>d:
D:/>cd temp
D:/temp>javac Hellworld.java

❾ 修改java源碼解決keys報錯

編程錯誤解決方法
Java入門基礎第4天《Java編程規范及編譯源代碼常見錯誤的解決方法》

愛笑的陳sir
原創
關注
10點贊·484人閱讀
大家傍晚好呀!通過學習Java入門基礎第3天我們了解了怎麼用記事本編寫運行Java程序,但是這兩天我收到了很多大家的一部分問題?說一下問的最多的吧。如,我的程序運行不了,一行代碼,5個報錯,編寫、編譯錯誤、編碼格式錯誤等等,總之五花八門。
根據所述問題,今天聊聊Java編程規范。方便大家觀看,把之前的文章整合了。

Java入門基礎第1天(什麼是Java?)
Java入門基礎第2天(java jdk下載與安裝教程)
Java入門基礎第3天《使用記事本編寫運行Java程序》
Java編程規范及編譯源代碼常見錯誤的解決方法
一、編程規范
二、命名規則
三、編碼格式規定
四、javac 編譯器編譯源代碼文件常見的問題
五、 解釋執行.dass文件常見問題
一、編程規范
我們先簡單了解一下什麼是編程規范?

編蔽含做程規范是對編程的一種約定,主要作用是增強代碼的可讀性和可維護性,便於代碼重用

二、命名宏衡規則
基本要求是,程序中的各個要素都遵守命名規則,
然後在編碼中嚴格按照編碼格式編寫代碼。
命名規則包括以下幾點:

► 包的名稱由一個小寫字母序列組成。
► 類的名稱由大寫字母開頭,其他字母都由小寫的單片語成。
► 類的實例的名稱由一個小寫字母開頭,後面的單詞由大寫字母開頭。
► 常量的名稱都大寫,並且指出完整含義。 參數的名稱無其他具體規定。
► 數組的命名使用「類型[] 數組名」的形式。

三、編碼格式規定
► 程序最開始編寫導入包和類語句,如 import 語句。
import 語句可以有多行,編寫完 import 語句後空一行。
► 定義 public 類,頂格書寫。類的主體左括弧{不換行書寫,右括弧}頂格書寫。
► 定義 public 類中的變數,縮進書寫。
► 定義方法用縮進書寫,方法的左括弧{不換行書寫,右括弧}和方法首行第一個字元對齊。方法體要再次縮進書寫,最後一個變數定義和第一個方法定義之間、方法和方法之間最好空一行。

四、javac 編譯器編譯源代碼文件常見的問題
我們在使用javac 編譯器編譯源代碼時文件時,會出現幾個常見的報錯問題。

錯誤描述1、Error:cannot read:HelloJava.java javac。 工具程序找不到指定的 java文件

解決方法:這個需要檢查一下你的文件是否存儲在當前目錄中,或文件名是否錯誤。

錯誤描述2、 HelloJava.java:4:class HelloJava is public,should be declared in a file named MyApplication.java。

解決方法:這是你的源文件中類的名稱和源文件名稱不符,
需要確定源文件名稱和類名稱是否相同。

錯誤描述3、 HelloJava.java:6:cannot find symbol。

解決方法:可能是你的源程序文件中某些代碼部分輸入錯了,
最常見的原因可能是沒有注意到字母的大小寫。

錯誤描述4、Javac 不是內部或外部命令、可執行程序或批量文件。

解決方法:這是你的 path 設置有誤或這你沒有在 path 系統變數中加入 JDK 的 bin 目錄。

五、 解釋執行.dass文件常見問題
我們在解釋執老差行 .dass 文件時,可能會出現以下幾個常見的錯誤報錯問題:

錯誤描述1、 Exception in thread 「main」 java.lang.NoClassDe£FoundError。

報錯出現在Java 工具程序找不到所指定的 .class 類,
需要確定指定的類是否存儲在當前目錄中,名稱是否正確。

錯誤描述2、 Exception in thread 「main」 java.lang.NoSuchMetliodError:main。

問題出現在沒有指定 Java 程序的入口。
Java 工具程序指定的類必須有一個程序入口,
也就是必須包括 main(String args[]) 這個方法。

鼓勵: 如果你覺得博主的文章的不錯或者對你有幫助,
可以點一個免費的關注支持一下博主,
如果三連收藏支持就更好了吖,嘿嘿嘿,謝謝。

❿ Java里的位元組碼和源代碼分別啥意思,和起到什麼左右

/*java是一門高級編程語言,是用來寫程序代碼的。
用java寫的文本(字元串序列)就是源代碼。
計算機不能直接執行源代碼,必須用一個叫編譯器的程序(javac.exe)將源代碼
翻譯成位元組碼,然後讓一個叫解釋器的程序(java.exe)去執行位元組碼,即運行程序。

下面的就是一個小程序的源代碼,功能是輸出九九乘法表。

下圖中的Test.class就是這個源代碼文件翻譯後的由位元組碼組成的文件。
而最下面的那個黑框就是程序執行後的結果。
java Test就是在執行Test.class位元組碼文件,即運行這個程序。
*/
//這下面的就是源代碼
public class Test {
public static void main(String[] args) {
int i,j;

for(i=1;i<=9;i++) {
for(j=1;j<=i;j++)
System.out.printf("%dx%d=%-4d",j,i,j*i);
System.out.println();
}
}
}

熱點內容
蘋果2g和安卓哪個快 發布:2025-03-15 22:52:48 瀏覽:711
airpods怎麼連接安卓手機 發布:2025-03-15 22:47:11 瀏覽:294
安卓已經刪除的app在哪裡找 發布:2025-03-15 22:42:09 瀏覽:433
海量照片存儲 發布:2025-03-15 22:23:07 瀏覽:162
androidgif控制項 發布:2025-03-15 22:10:51 瀏覽:338
我的世界手機版非常好玩的伺服器推薦 發布:2025-03-15 22:04:48 瀏覽:178
怎樣解壓手機文件 發布:2025-03-15 22:04:47 瀏覽:525
我的世界手機基岩版怎麼做伺服器 發布:2025-03-15 22:04:11 瀏覽:100
郵件發送壓縮文件 發布:2025-03-15 22:04:06 瀏覽:820
資料庫中的數據特徵 發布:2025-03-15 21:56:20 瀏覽:29