Related Posts Plugin for WordPress, Blogger... 簡單易懂的低調手札: [memo] JAVA 入門問題集

2011年7月18日 星期一

[memo] JAVA 入門問題集

Q:什麼是 jdk ? 什麼是 jre ?


JDK


JDK 是整個Java的核心,包括了Java運行環境(Java Runtime
Envirnment),一堆Java工具和Java基礎的類庫(rt.jar)。不論什麼Java應用服務器實質都是內置了某個版本的JDK.最主流的
JDK是Sun公司發佈的JDK,除了Sun之外,還有很多公司和組織都開發了自己的JDK,例如IBM公司開發的JDK,BEA公司的Jrocket,
還有GNU組織開發的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)運行效率要比Sun
JDK包含的JVM高出許多。而專門運行在x86平台的Jrocket在服務端運行效率也要比Sun
JDK好很多。但不管怎麼說,我們還是需要先把Sun JDK掌握好。


JDK一般有三種版本:SE(J2SE),standard
edition,標準版,是我們通常用的一個版本EE(J2EE),enterpsise
edtion,企業版,使用這種JDK開發J2EE應用程序,ME(J2ME),micro
edtion,主要用於移動設備、嵌入式設備上的java應用程序Java開發工具(JDK)是許多Java專家最初使用的開發環境。儘管許多編程人員已
經使用第三方的開發工具,但JDK仍被當作Java開發的重要工具。JDK由一個標準類庫和一組建立,測試及建立文檔的Java實用程序組成。其核心
Java API是一些預定義的類庫,開發人員需要用這些類來訪問Java語言的功能。Java
API包括一些重要的語言結構以及基本圖形,網絡和文件I/O.一般來說,Java
API的非I/O部分對於運行Java的所有平台是相同的,而I/O部分則僅在通用Java環境中實現。


作為JDK實用程序,工具庫中有七種主要程序。


◆Javac:Java編譯器,將Java源代碼轉換成字節碼。


◆Java:Java解釋器,直接從類文件執行Java應用程序字節代碼。


◆appletviewer:小程序瀏覽器,一種執行HTML文件上的Java小程序的Java瀏覽器。


◆Javadoc:根據Java源碼及說明語句生成HTML文檔。


◆Jdb:Java調試器,可以逐行執行程序,設置斷點和檢查變量。


◆Javah:產生可以調用Java過程的C過程,或建立能被Java程序調用的C過程的頭文件。


◆Javap:Java反彙編器,顯示編譯類文件中的可訪問功能和數據,同時顯示字節代碼含義。






JRE


JRE(Java Runtime
Environment,Java運行環境),運行JAVA程序所必須的環境的集合,包含JVM標準實現及Java核心類庫。是Sun的產品,包括兩部
分:JavaRuntimeEnvironment和JavaPlug-inJavaRuntimeEnvironment(JRE)是可以在其上運行、
測試和傳輸應用程序的Java平台。它包括Java虛擬機、Java平台核心類和支持文件。它不包含開發工具——編譯器、調試器和其它工具。JRE需要輔
助軟件 ——JavaPlug-in——以便在瀏覽器中運行applet.J2RE是Java2 Runtime
Environment,即Java運行環境,有時簡稱JRE.如果你只需要運行Java程序或Applet,下載並安裝它即可。如果你要自行開發
Java軟件,請下載JDK.在JDK中附帶有JRE.注意由於Microsoft對Java的支持不完全,請不要使用IE自帶的虛擬機來運行
Applet,務必安裝一個JRE或JDK.


 


Q:Java "2"?



A:昇陽在1998年十二月發表了Java "2", 其實只是從版本1.2之後的稱為Java 2, 不用對這個'2'有太多的疑問.
參考連結:http://java.sun.com/products/jdk/1.2/java2.html

Q:JDK, SDK, JRE, 我到底要裝什麼?


 
A:JDK和SDK其實我們通常指的都是同一個東西, 而JDK與JRE的差別是, JDK可以拿來編譯你所寫的Java程式, 如果你想要學Java, 就請裝JDK, 如果只是要執行Java的程式, 你只要裝JRE就可以了. (JRE是JDK的子集)

Q:Java? JavaScript?


 
A:Java和JavaScript一點關係都沒有. 他們只不過是名字都有個Java.
套一句以前TAHO說的話, "熱狗和狗有關嗎?"

Q:Java不是號稱跨平台嗎? 為什麼還要裝JRE?


 
A:
因為用Java寫出來的程式是byte code, 要透過JVM(Java Virtual Machine)來執行,
其實跨平台的道理就是在不同的平台上裝上不同的JVM, 讓你的程式和平台中間多了一個中介. 所以你寫的程式在任何平台都可以執行(當然要是Pure
Java Code), 不過要有適合的JVM.

Q:學Java除了JDK, 還要有什麼?


 


A:Java的API相當的多, 普通人是沒有辦法全記下來的, 最好可以去sun下載Java API Doc回來, 以方便隨時查閱.

Q:寫Java程式要用什麼?



A:最簡單的就是記事本, 也可以用UltraEdit, Context, JCreator. 這些是初級的編輯器, 通常新手我個人還是不太建議直接使用IDE, 如JBuilder之類的, 那對新手可能有點吃力.

Q:要看什麼書?



A:
這個問題見人見智, 我建議先到天瓏書局看看朱仲傑的書, 其實我沒有看過, 不過它廣受好評, 至於侯捷先生所翻譯的Thinking in Java
2, 我有看過一些, 我覺得對於完全的新手來講可能有點難度, 建議是對Java已經有點瞭解, 或是寫過C/C++的人去看比較好.
我個人是認為Java太廣, 太大了, 光是一本書也是絕對不夠的, 在讀完一本書之後, 可以去看O'reilly針對各種主題的書(Java
networking, Java IO....), 循序漸進.
另外, 原文書中, Core Java 2也是不錯的書.
另外有一本有名的書, 是Deitel出的Java: How to program, 現在已經出到5th edition了,
不過我比較不建議這本書, 因為它到ch8, ch9才開始針對OO做完整的介紹, 我個人覺得不太好.

Q:J2SE, J2EE, J2ME到底分別是什麼?



A:J2SE是Java 2 Standard Edition, 新手都是從這個開始學
J2EE主要用在網路企業, 服務等, 而J2ME是用在小型行動裝置(手機、PDA...etc)
基本上J2SE是J2EE和J2ME的基礎.


Q:什麼是SDK ? 什麼是API ? 什麼是KIT ?


A:SDK是software development tool kit,翻譯成中文就是"軟體發展工具
組",通常是某一廠商針對某一平台或某一系統提供可以開發應用程式的工具組,


通常你問別人我想學SDK,他會問你要學什麼方面的SDK?(我就曾經問過這
樣的問題.)而微軟提供可開發window應用程式的SDK就是 win32/win64 API.

API是 application program interface 應用程式介面,它可提供一個一致的介面讓你設計你想要的應用程式,通常是一些function之類的東西.


API 目的是讓程式可以利用此介面來跟driver或是os作溝通


SDK:Soft develop kit 是開發軟體時才會用到的,一般user使用,是不用裝的。

SDK 是 軟體發展工具,K 就是 Kit 縮寫,意思就是"工具組"也是指 Windows 內建的"系統函數庫"。


早期,在 MS C 5/6/7 (1988 ~ 1993) 要在 DOS 下寫 Windows 程式只能使用 SDK 來實作,


直到 MS C 7 推出 MFC 1.0 後,開發 Windows 程式才變的輕鬆。現在已經變成 API 的說明書。


由於用法混亂,假設你同時看到這三個名詞,你可以這樣去分別:

1.API 為函數庫,你要直接控制某硬體或軟體時,需要使用

2.SDK 為說明書,說明 API 如何呼叫、如何使用

3.KIT 為工具組,可能有現成的範例或簡易工具,讓你不用寫程式也可以初步控制硬體。


1 則留言: