- Java編程從入門到精通
- 胡平 劉濤主編
- 1066字
- 2025-04-02 16:03:06
1.3.3 Java程序的種類
不同版本下的Java程序具有不同的開發(fā)方式和運行特點,這些程序可以被分為以下幾類。
1. Standalone Application
Standalone Application,即獨立應(yīng)用程序,通常簡稱為應(yīng)用程序。這種程序有且僅有一個main方法,虛擬機將該方法作為程序的執(zhí)行入口點。根據(jù)運行界面的不同,獨立應(yīng)用程序又可分為控制臺(Console)程序和圖形用戶界面(GUI)程序。以Java標準版開發(fā)的大多屬于獨立應(yīng)用程序,本書后續(xù)各章節(jié)的程序也是如此。
2. Applet
Applet,即小程序,也稱為瀏覽器小程序。這種程序不能獨立執(zhí)行,一般通過兩種方式:①嵌到HTML網(wǎng)頁中,由瀏覽器來執(zhí)行[5];②由JDK自帶的Applet查看器執(zhí)行。實際上,Applet的本質(zhì)仍是圖形用戶界面程序(只不過程序入口不再是main方法),它也是以標準版開發(fā)的。目前,Applet程序已很少使用。
3. JSP/Servlet
JSP(Java Server Page,Java服務(wù)器端網(wǎng)頁)是Java平臺下的動態(tài)網(wǎng)頁技術(shù)標準,屬于Java企業(yè)版定義的規(guī)范之一。JSP的實質(zhì)是嵌入了Java代碼的HTML頁面,其必須被部署到支持JSP規(guī)范的Web服務(wù)器[6]中,并通過瀏覽器進行訪問。Web服務(wù)器首先將JSP編譯為Servlet(服務(wù)器端小程序),然后執(zhí)行頁面中的Java代碼,并將動態(tài)生成的內(nèi)容填充到HTML頁面中,最后將HTML頁面交由瀏覽器渲染。
4. Android App
Android是Google于2007年11月發(fā)布的基于Linux平臺的智能手機操作系統(tǒng),Android系統(tǒng)從下至上包括Linux內(nèi)核層、系統(tǒng)運行庫層、應(yīng)用程序框架層以及應(yīng)用程序?qū)印D壳埃^大多數(shù)的Android App[7]是以Java語言編寫的,并由Android SDK(Software Development Kit,軟件開發(fā)工具)編譯、打包成一個擴展名為APK(Android PacKage,Android安裝包)的zip格式壓縮文件,該文件包含了Android系統(tǒng)特有的虛擬機所能理解的字節(jié)碼。
5. MIDlet
MIDlet(Mobile Information Device Applet,移動信息設(shè)備小程序)是指運行在支持Java ME規(guī)范的移動設(shè)備上的Java程序。實際上,在以Android和iOS為代表的智能手機操作系統(tǒng)出現(xiàn)之前,市場占有率最高的手機操作系統(tǒng)是Nokia的Symbian,而Symbian是支持MIDlet程序的。伴隨著Android和iOS的絕對壟斷,Symbian平臺早已落寞,目前MIDlet程序已使用較少,僅出現(xiàn)在某些特定領(lǐng)域(如智能卡)。
事實上,除了上述幾種程序之外,還有其他一些基于特定平臺、規(guī)范和API的Java程序,如JSF、Java FX等,但它們目前尚未成為主流,故未專門列出。
[1]一些第三方API也是以jar包的形式提供的。
[2]此處的版本是對Edition一詞的翻譯。實際上,SE、EE和ME各自都有不同的發(fā)布版本號(Version)。
[3]2017年11月,Oracle將Java EE移交給Eclipse基金會。2018年3月,Eclipse基金會宣布將Java EE更名為Jakarta EE。
[4]盡管同為支持Java的移動計算平臺,但Java ME與Android的虛擬機、API及程序開發(fā)方式都截然不同。
[5]這種方式只是通過瀏覽器將Applet下載到本機,Applet仍由本機上安裝的、已向瀏覽器注冊的JRE來執(zhí)行。
[6]一種安裝于服務(wù)器端的、能解釋JSP頁面中Java代碼的軟件,如Tomcat、Jetty、JBoss等。
[7]為區(qū)別于傳統(tǒng)的PC端應(yīng)用程序(Application),移動端的應(yīng)用程序通常稱為App。
- 騰訊iOS測試實踐
- Python數(shù)據(jù)可視化:基于Bokeh的可視化繪圖
- Mastering Entity Framework
- SQL 經(jīng)典實例
- Extreme C
- HTML5開發(fā)精要與實例詳解
- Raspberry Pi Robotic Blueprints
- Cocos2d-x Game Development Blueprints
- 分布式數(shù)據(jù)庫原理、架構(gòu)與實踐
- JavaScript從入門到精通(視頻實戰(zhàn)版)
- AngularJS UI Development
- MySQL核心技術(shù)與最佳實踐
- 面向物聯(lián)網(wǎng)的Android應(yīng)用開發(fā)與實踐
- 大象:Thinking in UML(第二版)
- Learning ClojureScript