javac是什么?
javac是Java編譯器,負責將Java源代碼轉換成字節碼文件。
javac 可以隱式編譯一些沒有在命令行中提及的源文件。用 -verbo 選項可跟蹤自動編譯。當編譯源文件時,編譯器常常需要它還沒有識別出的類型的有關信息。
javac的特點
javac具有簡單性、面向對象、分布性、解釋性、可靠、安全、平臺無關、可移植性、高性能、多線程、動態性等特點。提供了異常處理機制,程序員可以把錯誤代碼放在一起,這樣可以簡化錯誤處理任務,便于恢復。不支持指針,杜絕了內存的非法訪問。
javac命令和java命令做什么事情呢?
Java中提供了許多開發工具,這里面就包括了javac 和 java這兩個工具。
javac命令的作用是:編譯我們編寫的源代碼文件,也就是.java文件,編譯后得到一個.class文件。
java命令的作用是:運行我們編譯后的class文件。
比如:
編寫一個Test.java文件
編譯文件,javac Test.java 得到 Test.class文件
運行文件,java Test
javac與java的區別是什么?
javac命令和java命令做什么事情呢?
如何用javac 和java 編譯運行整個Java工程
前言 本文教你怎么用javac和java命令 以及如何利用腳本(shell或bat)方便處理 并用簡單的實例展示這些用法
IDE是把雙刃劍 它可以什么都幫你做了 你只要敲幾行代碼 點幾下鼠標 程序就跑起來了 用起來相當方便 你不用去關心它后面做了些什么 執行了哪些命令 基于什么原理 然而也是這種過分的依賴往往讓人散失了最基本的技能 當到了一個沒有IDE的地方 你便覺得無從下手 給你個代碼都不知道怎么去跑 好比給你瓶水 你不知道怎么打開去喝 然后活活給渴死
之前用慣了Myeclip Java文件編譯運行的命令基本忘得一干二凈 現在項目出了原型 放到服務器上去測試 SSH一登陸上服務器就傻眼了 都是命令行 以前程序圖標什么的都成了浮云 程序放上去了不知道怎么去編譯運行 只能補補課了 下面做下補課筆記
一 javac命令javac 用于編譯Java文件 格式為 java [options] [sourcefiles] [@files]其中 options 命令行選項 sourcefiles 一個或多個要編譯的源文件 @files 一個或多個對源文件進行列表的文件 有時候要編譯的文件很多 一個個敲命令會顯得很長 也不方便修改 可以把要編譯的源文件列在文件中 在文件名前加@ 這樣就可以對多個文件進行編譯 對編譯一個工程很有用 方便 省事
有幾個比較重要的選項 d 用于指定編譯成的class文件的存放位置 缺省情況下不指定class文件的存放目錄 編譯的class文件將和源文件在同一目錄下 classpath 可以簡寫成 cp 用于搜索編譯所需的class文件 指出編譯所用到的class文件的位置 如jar zip或者其他包含class文件的目錄 指定該選項會覆蓋CLASSPATH的設定 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批處理程序的語法自己百度一下 不難
開頭linux有很多不同的shell 通常使用bash(bourne again shell) 程序必須以下面的行開始 #!/bin/sh #!用來告訴系統用后面的參數來執行程序 這里使用的是/bin/sh要使你的腳本能夠執行 還必須讓這個文件有可執行權限 使用下面命令更改文件權限 chmod +x filename 注釋以#開始的句子表示注釋 一直到這行結束 多寫注釋有利于以后重新看的時候知道自己在做什么 變量shell的腳本的變量都是字符串 不用申明類型 定義的時候直接 變量=值 即可 用到變量的的時候用 $變量 或者 ${變量} echo命令用于打印 舉個例子 #!/bin/sh # 定義變量words 值為hello world words= hello world # 打印變量words的值echo $words 命令shell腳本里面可以直接任意使用linux命令 要用到什么命令直接敲進去即可 記住一些常用的命令 cd 打開目錄ls l 顯示目錄信息rm fr 遞歸刪除目錄及下面的文件 不提示信息mkdir 創建目錄pwd 顯示當前路徑kill pid 強制殺掉某個進程號的進程pkill 殺掉某個名字的進程ps aux 顯示運行進程信息netstat pan 查看網絡端口監聽情況四 例子下面是文件pile 用于編譯整個java工程 把編譯的文件放到指定目錄下
view plain #!/bin/sh # Define some constants ONSSERVER=ONSServer PROJECT_PATH=/root/iot oid JAR_PATH=$PROJECT_PATH/lib BIN_PATH=$PROJECT_PATH/bin SRC_PATH=$PROJECT_PATH/src/$ONSSERVER
# First remove the sources list file if it exists and then create the sources file of the project rm f $SRC_PATH/sources find $SRC_PATH/ name * java > $SRC_PATH/sources list
# First remove the ONSServer directory if it exists and then create the bin directory of ONSServer rm rf $BIN_PATH/$ONSSERVER mkdir $BIN_PATH/$ONSSERVER
# Compile the project javac d $BIN_PATH/$ONSSERVER classpath $JAR_PATH/jdom jar $JAR_PATH/oro jar @$SRC_PATH/sources list下面是文件run 用于執行程序 view plain #!/bin/sh
# Define some constants ONSSERVER=ONSServer PROJECT_PATH=/root/iot oid JAR_PATH=$PROJECT_PATH/lib BIN_PATH=$PROJECT_PATH/bin
lishixinzhi/Article/program/Java/hx/201311/27024
java編譯里的javac是什么?
本文發布于:2023-02-28 19:19:00,感謝您對本站的認可!
本文鏈接:http://www.newhan.cn/zhishi/a/167760945957448.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:javac(javac命令的作用是).doc
本文 PDF 下載地址:javac(javac命令的作用是).pdf
| 留言與評論(共有 0 條評論) |