?? 2.html
字號:
<HTML><HEAD><TITLE>黃金書屋</TITLE><META content="text/html; charset=gb2312" http-equiv=Content-Type><link rel="stylesheet" href="/cssset.css"></HEAD><BODY bgColor=#ffffff leftMargin=0 link=#000000 topMargin=0 vLink=#000000><center> <script language="JavaScript" src="/top.js"></script></center><TABLE background=images/bj.jpg border=0 cellSpacing=0 width="100%"> <TR> <TD bgColor=#c6bba4 vAlign=top width="12%"></TD> <TD background=/images/bj.jpg vAlign=top width="76%"> <center> <iframe width=468 height=60 marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no bordercolor="#000000" src="/banner3.html"></iframe> </center> <br> </TD> <TD bgColor=#c6bba4 vAlign=top width="12%"></TD> </TR></TABLE><TABLE background=images/bj.jpg border=0 cellSpacing=0 width="100%"> <TR> <TD bgColor=#c6bba4 vAlign=top width="11%" align="right"> <br><br><br> <b><a href="/index.html">回首頁</a><br><br><a href='1.html'>上一頁</a><br><br><a href='3.html'>下一頁</a><br><br><a href='http://pub.goldnets.com:81/bbs/post.php?job=new&topic=12210' target=_blank> 我有話說 </a><br><br><a href='http://pub.goldnets.com:81/bbs/bbslist.php?topic=12210' target=_blank> 評論一覽 </a></center><br><!--title_end--></b> </TD> <TD bgColor=#c6bba4 vAlign=top width="1%"></TD> <TD background=/images/bj.jpg vAlign=top width="76%"> <br> <hr align="center" width="98%" size="1"> <br> <font color="blue">Java語言入門</font> >> <font color=red>第 二 章 Java程 序 開 發 與 運 行 環 境</font><hr width=90% color=#7A7A71><table width=88% border=0 align=center><tr><td><div style=font-size:12pt><pre> Java語言入門
第 二 章 Java程 序 開 發 與 運 行 環 境
2.1 JDK環 境
Java不 僅 提供了 一 個 豐 富 的 語 言 和 運 行 環 境, 而 且 還 提供
了 一 個 免 費 的Java開 發 工 具 集(Java Developers Kits, 簡 稱JDK)。
編 程 人 員 和 最 終 用 戶 可 以 利 用 這?copy;工 具 來 開 發java程
序 或 調 用Java 內 容。JDK包 括 以 下 工 具: javac Java語 言 編 譯
器, 輸 出 結 果 為Java字 節 碼 java Java字 節 碼 解 釋 器 javap
Disassembeler: Java字 節 碼 分 解 程 序, 本 程 序 返 回Java程 序 的
成 員 變 量 及 方 法 等 信 息。 javaprof 資 源 分 析 工 具, 用 于 分
析Java程 序 在 運 行 過 程 中 調 用 了 哪?copy;資 源, 包 括 類 和 方
法 的 調 用 次 數 和 時 間, 以 及 各 數 據 類 型 的 內 存 使 用 情 況
等。 javah C代 碼 處 理 工 具, 用 于 從Java類 調 用C++代 碼 java
Applet Viewer 小 應 用 程 序 瀏 覽 工 具, 用 于 測 試 并 運 行Java
小 應 用 程 序 java Debugger API Java調 試 工 具API Prototype Debugger
Java調 試 工 具 原 型
Java開 發 環 境 還 包 括Java類 庫(包 括I/O類 庫、 用 戶 界 面 類 庫、
網 絡 類 庫 等)和HotJava WWW 瀏 覽 器。 其 中,HotJava瀏 覽 器 提?copy;
了 在WWW環 境 下 運 行Java代 碼 的 一 個 運 行 系 統, 而 且 還 為
WWW開 發 人 員 提?copy;了 一 個Java開 發 框 架。Java解 釋 器 是 面 向
Java程 序 的 一 個 獨 立 運 行 系 統, 它 可 以 一 種 穩 定、 高 性 能
方 式 運 行 那?copy;獨 立 于 平 臺 的Java字 節 碼,Java編 譯 器 則 用
于 生 成 這?copy;字 節 碼。
2.1.1 Java程 序 的 編 譯
Java程 序 的 編 譯 程 序 是javac.exe。javac命 令 將Java程 序 編 譯
成 字 節 碼, 然 后 你 可 用java解 釋 器java命 令 來 解 釋 執 行
這?copy;Java字 節 碼。Java程 序 源 碼 必 須 存 放 在 后 綴 為.java的
文 件 里。Java 程 序 里 的 每 一 個 類,javac都 將 生 成 與 類 相 同
名 稱 但 后 綴 為.class文 件。 編 譯 器 把.class文 件 放 在.java文 件
的 同 一 個 目 錄 里, 除 非 你 用 了-d選 項。 當 你 引 用 到 某?copy;
自 己 定 義 的 類 時, 必 須 指 明 它 們 的 存 放 目 錄, 這 就 需 要
利 用 環 境 變 量 參 數 CLASSPATH。 環 境 變 量CLASSPATH是 由 一?copy;
被 分 號 隔 開 的 路 徑 名 組 成。 如 果 傳 遞 給javac編 譯 器 的 源
文 件 里 引 用 到 的 類 定 義 在 本 文 件 和 傳 遞 的 其 它 文 件 中
找 不 到, 則 編 譯 器 會 按 CLASSPATH定 義 的 路 徑 來 搜 索。 例 如:
CLASSPATH = .;C:\java\classes 則 編 譯 器 先 搜 索 當 前 目 錄, 如 果
沒 搜 索 到, 則 繼 續 搜 索C:\java\classes目 錄。 注 意, 系 統 總 是
將 系 統 類 的 目 錄 缺 省 地 加 在CLASSPATH后 面, 除 非 你 用 -
classpath選 項 來 編 譯。 javac_g 是 一 個 用 于 調 試 的 未 優 化 的
編 譯 器, 功 能 與 用 法 和javac一 樣。 javac的 用 法 如 下:
javac [-g][-O][-debug][-depend][-nowarn][-verbose][-classpath
path][-nowrite][-d dir] file.java...
以 下 是 每 個 選 項 的 解 釋。
選 項 解 釋:
-classpath path 定 義javac搜 索 類 的 路 徑。 它 將 覆 蓋 缺 省 的
CLASSPATH環 境 變 量 的 設 置。 路 徑 是 由 一?copy;由 逗 號 隔 開 的
路 徑 名 組 成, 一 般 格 式 如 下: .;<your_path> 例
如: .;C:\java\doc\classes;C:\tools\java\classes 表 示 編 譯 器 遇 到
一 個 新 類, 它 先 在 本 文 件 中 查 找 它 的 定 義, 如 果 沒 有, 則
在 本 文 件 所 處 目 錄 下 其 它 文 件 中 查 找 它 的 定 義, 如 果 還
沒 有, 則 繼 續 搜 索C:\java\doc\classes目 錄 中 的 所 有 文 件, 以
此 類 推。
-d directory 指 明 類 層 次 的 根 目 錄, 格 式 如 下:
javac -d <my_dir> MyProgram.java
這 樣 將MyProgram.java程 序 里 的 生 產 的.class文 件 存 放 在my_dir
目 錄 里.
-g 帶 調 試 信 息 編 譯, 調 試 信 息 包 括 行 號 與 使 用java調 試
工 具 時 用 到 的 局 部 變 量 信 息。 如 果 編 譯 沒 有 加 上-O優 化
選 項, 只 包 含 行 號 信 息。
-nowarn 關 閉 警 告 信 息, 編 譯 器 將 不 顯 示 任 何 警 告 信 息。
-O 優 化 編 譯static,final,private函 數, 注 意 你 的 類 文 件 可 能
更 大。
-verbose
讓 編 譯 器 與 解 釋 器 顯 示 被 編 譯 的 源 文 件 名 和 被 加 載 的
類 名。
環 境 變 量
CLASSPATH 用 來 提?copy;給 系 統 搜 索 用 戶 定 義 的 類 的 缺 省 路
徑。 各 路 徑 由 分 號 隔 開, 例 如:
.;C:\java\doc\classes;C:\tools\java\classes 表 示 編 譯 器 遇 到 一
個 新 類, 它 先 在 本 文 件 中 查 找 它 的 定 義, 如 果 沒 有, 則 在
本 文 件 所 處 目 錄 下 其 它 文 件 中 查 找 它 的 定 義, 如 果 還 沒
有, 則 繼 續 搜 索C:\java\doc\classes目 錄 中 的 所 有 文 件, 以 此
類 推。
2.1.2 Java程 序 的 調 試 使 用java調 試 器
jdb導 游
在 早 期 前Betal版 的Java調 試 器jdb是 命 令 行 形 式 的, 如 用Sun
公 司 的dbx調 試 器。 用jdb來 調 試Java應 用 程 序, 在 調 試?reg;
前, 要 確 證 你 的 應 用 程 序 是 帶 標 志 -g編 譯 的。 例 如: javac
-g HelloWorld.java
help命 令 將 顯 示jdb 里 的 可 用 命 令 列 表。
>help <命 令 列 表> threads [threadgroup]--列 出 線 程 thread <thread
id>- - 設 置 缺 省 線 程 Suspend [threads id(s)]- - 將 線 程 掛 起
resume [thread id(s)]- - 重 新 啟 動 線 程 where [id] |a1|- - 打 印
線 程 的 堆 棧 threadgroups--列 出 線 程 組 號 threadgroup <name>-
- 設 置 當 前 線 程 組 print <id> [id(s)]- - 打 印 對 象 或 域 dump
<id> [id(s)]- - 打 印 所 有 對 象 信 息 locals- - 打 印 當 前 堆
棧 所 有 局 部 變 量 classes- - 列 出 當 前 所 知 的 類 methods
<class id>- - 列 出 一 個 類 的 成 員 函 數 stop in
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -