更新時間:2021-12-10 11:06:09 來源:動力節點 瀏覽934次
大家都知道Java軟件開發工具有很多,本文面向 Java 技術新手,它描述了創建各種類型的桌面應用程序所涉及的技術以及您可能決定何時使用它們。
要使用本文中的任何技術,您必須 在計算機上安裝Java 平臺。
在您閱讀許多可用的 Java 技術之前,您必須了解誰將使用您的應用程序,他們將如何使用它,它是駐留在單個機器上還是網絡上,以及什么樣的外觀或圖形用戶界面( GUI)應用程序將具有 - 如果有的話。
在創建應用程序之前,請考慮以下五個方面:
應用程序分布
GUI 或缺少 GUI
應用程序的功能
應用程序的部署
其他 Java 技術
首先,您必須決定是否分發您的應用程序。一個 分布式應用程序是一種在多臺計算機上運行并通過網絡進行通信的程序。一些分布式應用程序是兩個獨立的軟件程序:后端服務器軟件和前端客戶端軟件。后端軟件在共享系統(如 Solaris 操作環境或 Linux)上運行,并管理共享資源,如磁盤、打印機和調制解調器。后端軟件還包含應用程序的主要處理能力。前端客戶端軟件在工作站或個人計算機上運行。這是用戶在使用應用程序時看到的內容。前端客戶端軟件處理用戶界面功能,例如從鍵盤接收輸入并將輸出顯示到屏幕上。
分布式應用程序可以很簡單,需要一臺客戶端計算機和一臺服務器,或者更復雜,允許使用多臺客戶端計算機和多臺服務器。非分布式應用程序運行在本地機器上,不需要訪問后端服務器。例如,您可以編寫一個簡單的計算器程序,該程序可能只能在本地運行,但您也可以使這些類型的應用程序分布式。
通常,您創建的應用程序將是分布式程序,并且會在網絡或 Internet 上運行,供許多計算機使用。
要創建分布式應用程序,您需要了解和使用 Java 遠程方法調用 (Java RMI),其中可以從其他 Java 虛擬機 (JVM) *可能在不同主機上調用遠程 Java 對象的方法 。Java RMI 使用 對象序列化來編組和解組參數并且不截斷類型,支持真正的面向對象的多態性。
以下是您將用于實現 Java RMI 的一些包:
java.rmijava.rmi.activationjava.rmi.dgcjava.rmi.registryjava.rmi.server請注意,以下包名稱以javax,而不是開頭 java:
javax.rmijavax.rmi.CORBAjavax.rmi.ssl有關使用 Java RMI 的背景信息和說明。
應用程序通常包含許多具有各種功能的小程序。一些小程序具有圖形用戶界面(GUI),如果只是一個簡單的窗口或對話框,許多小程序沒有 GUI。然而,應用程序本身可能有一個主 GUI,它由菜單、按鈕、工具欄、文本字段和其他圖形功能組成。GUI主要用于用戶輸入,無論用戶是點擊按鈕還是輸入信息,GUI都可以為用戶提供額外的信息。此外,GUI 組件經常向用戶顯示信息。
要創建 GUI,您可以使用 Java Foundation Classes/Swing (JFC/Swing) 和 Abstract Window Toolkit (AWT) API。這些包中的許多類和接口允許您輕松創建按鈕、復選框對象、文本字段和其他組件,以及用于組織它們的組件。
到目前為止,為應用程序創建框架和所有 GUI 組件的最簡單方法是使用集成開發環境 (IDE),例如 NetBeans IDE。此 IDE 允許您在為您編寫復雜的組件代碼時將組件拖放到位。它易于學習并為您節省大量時間。但是每個開發人員都必須了解 JFC/Swing 和 AWT 代碼的工作原理,因此您應該學習手動編寫足夠多的組件來理解這些概念。
表 1:用于 GUI 程序的主要包
對于 AWT | 對于 JFC/Swing |
---|---|
java.applet java.awt java.awt.color java.awt.datatransfer java.awt.dnd java.awt.event java.awt.font java.awt.geom java.awt.im java.awt.im.spi java.awt.image java.awt.image.renderable java.awt.print |
javax.swing javax.swing.border javax.swing.colorchooser javax.swing.event javax.swing.filechooser javax.swing.plaf javax.swing.plaf.basic javax.swing.plaf.metal javax.swing.plaf.multi javax.swing.plaf.synth javax.swing.table javax.swing.text javax.swing.text.html javax.swing.text.html.parser javax.swing.text.rtf javax.swing.tree javax.swing.undo |
當然,您不必導入所有這些包,只需導入您使用的包即可。如果您使用 NetBeans IDE,您會發現該 IDE 會在您使用 JFC/Swing 或 AWT 組件時在您的代碼中創建導入語句。您可以從它們的名稱中很好地了解這些包中的許多包的作用。
本文無法討論您可能在應用程序中使用的所有功能,但某些功能對于許多或大多數應用程序是通用的。
要讓按鈕、菜單和文本字段在您的 GUI 中執行某些操作,您需要了解事件處理的工作原理。一個 事件處理程序是包含在用戶按下按鈕或者選擇一個菜單會發生什么指令的類。從那里,可以進行許多操作:應用程序可以將信息顯示回 GUI,將數據寫入文件或數據庫,進行數學運算并在條形圖中顯示結果,或者執行一些像打開對話框這樣簡單的操作供用戶輸入更多信息。
讀寫數據
將用戶輸入寫入平面文件系統是應用程序中的常見操作,就像從文件中讀取以寫回 GUI 一樣。例如,用戶可以在 GUI 表單中輸入姓名、地址和電話號碼以在服務器上注冊軟件。處理此數據的一種方法是讓應用程序將數據寫入主機或服務器上的文件。
該包通過數據流、序列化和文件系統提供系統輸入和輸出 (I/O)。I/O 流代表輸入源或輸出目的地。流可以表示許多不同類型的源和目標,包括磁盤文件、設備、其他程序和內存陣列。流支持許多不同類型的數據,包括簡單字節、原始數據類型、本地化字符和對象。一些流只是簡單地傳遞數據,而另一些流則以有用的方式操作和轉換數據。java.io無論它們在內部如何工作,所有流都向使用它們的程序呈現相同的簡單模型: 流是一個數據序列。java.io包中使用的兩個比較流行的類是和 。兩者都創建鏈接到文件的字節流。 FileInputStream FileOutputStream存儲數據的常用方法是使用數據庫管理系統。要編寫應用程序以將數據寫入數據庫然后檢索結果,您需要學習 JDBC API。JDBC API 提供了來自 Java 編程語言的通用數據訪問,允許您訪問幾乎任何數據源——從關系數據庫到電子表格和平面文件。JDBC 技術還提供了構建工具和替代接口的通用基礎。
JDBC API 支持用于數據庫訪問的兩層和三層模型。
在 兩層模型中,Java 小程序或應用程序直接與數據源對話。這需要可以與應用程序訪問的特定數據源通信的 JDBC 技術驅動程序。用戶的命令被傳遞到數據庫或其他數據源,這些語句的結果被發送回用戶。數據源可能位于用戶通過網絡連接到的另一臺機器上。這被稱為 客戶端-服務器配置:用戶的機器是客戶端,容納數據源的機器是服務器。例如,該網絡可以是公司內部網,用于連接公司內部的員工,也可以是 Internet。
在 三層模型中,應用程序將命令發送到服務的中間層,然后服務層將命令發送到數據源。數據源處理命令并將結果發送回中間層,然后中間層將它們發送給用戶。管理信息系統 (MIS) 主管發現三層模型非常有吸引力,因為中間層可以保持對訪問和可以對公司數據進行的更新類型的控制。另一個優點是三層模型簡化了應用程序的部署。例如,可以在不干擾用戶體驗的情況下更改數據庫中的數據或添加新組件。最后,在很多情況下,三層架構可以提供性能優勢,因為多個事務和內存的效率更高。
要編寫使用 JDBC API 訪問數據庫的應用程序,您將使用以下內容:
包中的類和接口 。 java.sql數據庫管理系統,例如 Java DB數據庫系統。作為 Java EE 下載的一部分,您還可以下載帶有Sun Java System Application Server Platform Edition 9 的Java DB 。
適合您的數據庫管理系統的驅動程序。
要下載服務器和數據庫以及用于編寫應用程序的 IDE,請訪問 NetBeans IDE 5.0 下載頁面。
執行計算和管理數據
您的大部分應用程序都包含必須在幕后出現的指令代碼。您可能會使用字符串和數字進行大量編程。因為您必須用 Java 編程語言鍵入所有數據,所以您應該熟悉使用該 包。 java.lang在 java.lang包中,你應該了解 strings,一個字符序列。字符串在 Java 技術編程中被廣泛使用。在 類用于創建和操作字符串,是 類。 String StringBuilder您還應該熟悉包中的 類及其子類 ,這使您能夠使用這些類的實例化而不是原始數字類型。的 和 類提供用于寫入格式化的數字輸出的方法。最后, 該類包含數學函數來補充語言中內置的運算符。此類具有三角函數、指數函數等的方法。 Number java.lang PrintStream DecimalFormat Math為了處理或操作各種類型的數據,您需要了解 集合框架,這是一種用于表示和操作集合的統一架構。甲 集合,有時被稱為一個容器,是一個對象,組中的多個元素到單個單元中。集合用于存儲、檢索、操作和交流聚合數據。通常,集合表示形成自然組的數據項,例如一手撲克牌、一組卡片、一個郵件文件夾、一組信件或將姓名映射到電話號碼的電話簿。
圖 1 顯示了集合框架以及包中涉及和發現的一些流行接口 。 java.util核心 Collection接口是集合框架的基礎。A Set是一種特殊的 Collection,a SortedSet是一種特殊的 Set,依此類推。另請注意,層次結構由兩個不同的樹組成。A Map不是真的, Collection即使它以類似的方式用作集合。該 Map界面提供了三個集合視圖,允許將映射的內容視為一組鍵、一組值或一組鍵值映射。
并發
應用程序通常必須一次做不止一件事。例如,流音頻應用程序必須同時從網絡上讀取數字音頻、解壓縮、管理播放和更新其顯示給用戶。文字處理程序應該始終準備好響應鍵盤和鼠標事件,無論它是多么忙于重新格式化文本或更新顯示。可以做這些事情的軟件被稱為 并發軟件。
包中提供基本貨幣支持 。 java.util.concurrent
錯誤處理
Java 編程語言使用異常來處理錯誤和其他意外事件。一個 例外是,在程序的執行過程中發生的事件和中斷的程序的指令的正常流動。當方法中發生錯誤時,該方法會創建一個對象并將其交給運行時系統。該對象稱為異常對象,包含有關錯誤的信息,包括錯誤類型和發生錯誤時程序的狀態。創建異常對象并將其交給運行時系統稱為拋出異常。
要處理應用程序中的異常,您需要了解如何編寫代碼以便應用程序可以捕獲或拋出異常。您可以在 Java 教程的異常課程中了解有關異常處理的所有詳細信息 。
當您希望應用程序在瀏覽器中運行或應用程序與網頁內容緊密集成時,請使用 Java 插件技術部署小應用程序。當您希望您的應用程序獨立于用戶桌面時。
Java Web Start 技術要求將應用程序打包在 Java Archive (JAR) 文件中。JAR 文件格式使您能夠將多個文件捆綁到一個歸檔文件中。通常,JAR 文件包含與小程序和應用程序相關聯的類文件和輔助資源。
JAR 文件采用 ZIP 文件格式打包,因此您可以將它們用于無損數據壓縮、存檔、解壓縮和存檔解包等任務。這些任務是 JAR 文件最常見的用途之一,您將通過僅使用這些基本功能發現 JAR 文件的許多好處。
如果您想利用 JAR 文件格式提供的高級功能,例如電子簽名,您首先需要熟悉基本操作。要使用 JAR 文件執行基本任務,請使用作為Java 開發工具包 (JDK)一部分提供的 JAR 工具 。使用 JAR 文件: Java 教程中的基礎這一課 解釋了使用 JAR 工具的詳細信息。
將應用程序打包成 JAR 文件后,就可以使用 Java Web Start 技術來部署應用程序。Java Web Start 軟件提供了通過單擊啟動全功能應用程序的能力。用戶可以下載和啟動應用程序,例如完整的電子表格程序或 Internet 聊天客戶端,而無需經過復雜的安裝過程。
相反,使用 Java Web Start 軟件,用戶通過單擊網頁中的鏈接來啟動基于 Java 技術的應用程序。
本節將討論您應該考慮的其他一些 Java 技術。
應用安全
大多數開發人員都非常關心應用程序安全性,Java 技術在許多方面幫助解決了這個問題。Java 安全技術包括大量 API文檔、工具和常用安全算法、機制和協議的實現。Java 平臺安全 API 跨越廣泛的領域,包括密碼學、公鑰基礎設施、安全通信、身份驗證和訪問控制。Java 安全技術為您提供了編寫應用程序的綜合安全框架,同時也為用戶或管理員提供了一套安全管理應用程序的工具。
全屏獨占模式API
如果您的應用程序需要高性能圖形,例如游戲或幻燈片放映等程序,那么您應該了解全屏獨占模式 API。全屏獨占模式是一項強大的新功能,可讓您暫停窗口系統,以便應用程序可以直接繪制到屏幕上。
國際化
國際化是設計應用程序的過程,以便它可以在不進行工程更改的情況下適應各種語言和地區。有時術語 國際化縮寫為 i18n,因為第一個和最后一個字母之間有 18 個字母。Java 教程中的 國際化小道教您需要了解的有關國際化和本地化的知識。本地化,通常縮寫為 L10N,是通過添加特定于區域設置的組件和翻譯文本來使軟件適應特定區域或語言的過程。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習