javac類型
Ⅰ javac是什麼
javac是Java編譯器,負責將Java源代碼轉換成位元組碼文件。
javac 可以隱式編譯一些沒有在命令行中提及的源文件。用 -verbose 選項可跟蹤自動編譯。當編譯源文件時,編譯器常常需要它還沒有識別出的類型的有關信息。
javac的特點
javac具有簡單性、面向對象、分布性、解釋性、可靠、安全、平台無關、可移植性、高性能、多線程、動態性等特點。提供了異常處理機制,程序員可以把錯誤代碼放在一起,這樣可以簡化錯誤處理任務,便於恢復。不支持指針,杜絕了內存的非法訪問。
Ⅱ javac不能運行是怎麼回事
Classpath=.;%JAVA_HOME%lib;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar
這個地方最後面 你沒有寫分號 正確的為:
Classpath=.;%JAVA_HOME%lib;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;
不寫分號容易出 什麼找不到main的錯誤
如果javac不是內部命令,恭喜你,重新安裝JDK 並且重新配置環境變數吧。我以前也遇到過一次。不信你去JDK路徑看看 根本沒有javac.exe這個東西
Ⅲ 用javac命令編譯成功後生成的文件叫
二進制文件。
Javac命令編譯後生成的文件可以在Java虛擬機中運行
編譯後生成的文件為二進制文件
編譯後生成文件的後綴名為.class。
JVM(java虛擬機)可以將java文件編譯為機器語言,是通過位元組碼的形式進行的存儲,此位元組碼文件的擴展名就是class文件,此擴展類型文件可以被虛擬機所識別和進行執行。
Ⅳ javac 找不到符號和不兼容的類型
因為q和w沒定義 你可以用你定義了的 f、g變數試試 至於你說的不兼容類型 也是這個原因 我理解你的意思是 想把e的值加法求出來 。 所以你在列印e的時候不要加雙引號(system.out.print(e).),那樣你列印的只是雙引號 裡面的內容 ,學java不要急 一定要多練習 。多調代碼~~
Ⅳ java的數字與字元的強轉 ,究竟按照那種編碼方式來轉跟什麼有關系
文件編碼是給你和IDE看的 編譯後就不存在這問題。 java運行時的編碼說白了就是固定的編碼,和運行環境掛鉤,不同環境解釋出來不同的字元。控制台所支持的編碼裡面 4 那一位有可能不是什方片。 和運行環境有關。
給你摘抄一段:
- 編譯:我們用javac編譯JAVA文件時,javac不會智能到猜出你所要編譯的文件是什麼編碼類型的,所以它需要指定讀取文件所用的編碼類型。默認 javac使用平台預設的字元編碼類型來解析JAVA文件。平台預設編碼是操作系統決定的,我們使用的是中文操作系統,語言區域設置通常都是中國大陸,所 以平台預設編碼類型通常是GBK。這個編碼類型我們可以在JAVA中使用System.getProperty(「file.encoding」)來查 看。所以javac會默認使用GBK來解析JAVA文件。如果我們要改變javac所用的編碼類型,就要加上-encoding參數,如javac -encoding utf-8 Test.java。
這里要另外提一下的是eclipse使用的是內置的編譯器,並不能添加參數,如果要為javac添加參數則建議使用ANT來編譯。不過這並非出現亂碼的塬因,因為eclipse可以為每個JAVA文件設置字元編碼類型,而內置編譯器會根據此設置來編譯JAVA文件。
運行:編譯後字元數據會以UNICODE格式存入位元組碼文件中。然後eclipse會調用java命令來運行此位元組碼文件。因為位元組碼中的字元總是 UNICODE格式,所以java讀取位元組碼文件並沒有編碼轉換過程。虛擬機讀取文件後,字元數據便以UNICODE格式存儲在內存中了。
Ⅵ 如何用java以及javac編譯工程
一、javac命令
javac 用於編譯Java文件,格式為:
java [options] [sourcefiles] [@files]
其中:
options:命令行選項;
sourcefiles:一個或多個要編譯的源文件;
@files:一個或多個對源文件進行列表的文件,有時候要編譯的文件很多,一個個敲命令會顯得很長,也不方便修改,可以把要編譯的源文件列在文件中,在文件名前加@,這樣就可以對多個文件進行編譯,對編譯一個工程很有用,方便,省事。
有幾個比較重要的選項:
-d 用於指定編譯成的class文件的存放位置,預設情況下不指定class文件的存放目錄,編譯的class文件將和源文件在同一目錄下;
-classpath 可以簡寫成-cp,用於搜索編譯所需的class文件,指出編譯所用到的class文件的位置,如jar、zip或者其他包含class文件的目錄,指定該選項會覆蓋CLASSPATH的設定;多個路徑可用分號「;」分隔,linux系統上用冒號「:」分隔,看具體情況,反正不是冒號「:」,就是分號「;」,報錯了改下。
-sourcepath用於搜索編譯所需的源文件(即java文件),指定要搜索的源文件的位置,如jar、zip或其他包含java文件的目錄;
需要注意windows下和linux下文件路徑分隔符和文件列表(即-classpath和-sourcepath指定的文件)分隔符的區別:
windows下文件路徑分隔符用 \ ,文件列表分隔符用分號 ;
linux下文件路徑分隔符用 / ,文件列表分隔符用冒號 :
二、java命令
java 用於執行程序,格式如下:
java [options] classfile
options:命令行選項,一般用於 -classpath 指定要執行的文件所在的位置以及需要用到的類路徑,包括jar、zip和class文件目錄,會覆蓋CLASSPATH的設定
三、腳本
如果要敲的命令很長,每次要編譯運行的時候都要重新敲一遍,這是一件很痛苦的事情,所以用腳本可以大大方便你的工作 量。在linux下用shell腳本,windows下用bat批處理程序。因為是在linux下,我這里只是簡單介紹一下shell,關於bat批處理 程序的語法自己網路一下,不難。
1. 開頭
linux有很多不同的shell,通常使用bash(bourne again shell),程序必須以下面的行開始:
#!/bin/sh
#!用來告訴系統用後面的參數來執行程序,這里使用的是/bin/sh
要使你的腳本能夠執行,還必須讓這個文件有可執行許可權,使用下面命令更改文件許可權:
chmod +x filename
2. 注釋
以#開始的句子表示注釋,一直到這行結束,多寫注釋有利於以後重新看的時候知道自己在做什麼
3. 變數
shell的腳本的變數都是字元串,不用申明類型,定義的時候直接 變數=值 即可,用到變數的的時候用 $變數 或者 ${變數},echo命令用於列印,舉個例子:
#!/bin/sh
# 定義變數words,值為hello world
words="hello world"
# 列印變數words的值
echo $words
4. 命令
shell腳本裡面可以直接任意使用linux命令,要用到什麼命令直接敲進去即可。記住一些常用的命令:
cd 打開目錄
ls -l 顯示目錄信息
rm -fr 遞歸刪除目錄及下面的文件,不提示信息
mkdir 創建目錄
pwd 顯示當前路徑
kill -9 pid 強制殺掉某個進程號的進程
pkill 殺掉某個名字的進程
ps aux 顯示運行進程信息
netstat -pan 查看網路埠監聽情況