導航:首頁 > 編程語言 > 常用的java基礎組件

常用的java基礎組件

發布時間:2023-09-13 13:32:42

java容器的組件包括什麼

JAVA的容器包括如下:
List,Map,Set , ,List ,LinkedList ,ArrayList ,Vector ,Stack ,Set
Map ,Hashtable ,HashMap ,WeakHashMap
數據容器主要分為了兩類:
Collection: 存放獨立元素的序列。
Map:存放key-value型的元素對。(這對於需要利用key查找value的程序十分的重要!)
從類體系圖中可以看出,Collection定義了Collection類型數據的最基本、最共性的功能介面,而List對該介面進行了拓展。
其中各個類的適用場景有很大的差別,在使用時,應該根據需要靈活的進行選擇。此處介紹最為常用的四個容器:
LinkedList :其數據結構採用的是鏈表,此種結構的優勢是刪除和添加的效率很高,但隨機訪問元素時效率較ArrayList類低。
ArrayList:其數據結構採用的是線性表,此種結構的優勢是訪問和查詢十分方便,但添加和刪除的時候效率很低。
HashSet: Set類不允許其中存在重復的元素(集),無法添加一個重復的元素(Set中已經存在)。HashSet利用Hash函數進行了查詢效率上的優化,其contain()方法經常被使用,以用於判斷相關元素是否已經被添加過。
HashMap: 提供了key-value的鍵值對數據存儲機制,可以十分方便的通過鍵值查找相應的元素,而且通過Hash散列機制,查找十分的方便。

❷ java常用編譯組件的種類及其特點

1、JDK (Java Development Kit)Java開發工具

從初學者角度來看,採用JDK開發Java程序能夠很快理解程序中各部分代碼之間的關系,有利於理解Java面向對象的設計思想。JDK的另一個顯著特點是隨著Java (J2EE、J2SE以及J2ME)版本升級而升級。但它的缺點也是非常明顯的就是從事大規模企業級Java應用開發非常困難,不能進行復雜的Java軟體開發,也不利於團體協同開發。

2、Java Workshop

3、NetBeans 與Sun Java Studio 5

NetBeans是開放源碼的Java集成開發環境(IDE),適用於各種客戶機和Web應用。Sun Java Studio是Sun公司最新發布的商用全功能Java IDE,支持Solaris、Linux和Windows平台,適於創建和部署2層Java Web應用和n層J2EE應用的企業開發人員使用。

NetBeans是業界第一款支持創新型Java開發的開放源碼IDE。開發人員可以利用業界強大的開發工具來構建桌面、Web或移動應用。同時,通過NetBeans和開放的API的模塊化結構,第三方能夠非常輕松地擴展或集成NetBeans平台。

NetBeans3.5.1主要針對一般Java軟體的開發者,而Java One Studio5則主要針對企業做網路服務等應用的開發者。Sun不久還將推出Project Rave,其目標是幫助企業的開發者進行軟體開發。

NetBeans 3.5.1版本與其他開發工具相比,最大區別在於不僅能夠開發各種台式機上的應用,而且可以用來開發網路服務方面的應用,可以開發基於J2ME的移動設備上的應用等。在NetBeans 3.5.1基礎上,Sun開發出了Java One Studio5,為用戶提供了一個更加先進的企業編程環境。在新的Java One Studio5里有一個應用框架,開發者可以利用這些模塊快速開發自己在網路服務方面的各種應用程序。

4、Borland 的JBuilder

Jbuilder進入了Java集成開發環境的王國,它滿足很多方面的應用,尤其是對於伺服器方以及EJB開發者們來說。下面簡單介紹一下Jbuilder的特點:

1)Jbuilder支持最新的Java技術,包括Applets、jsP/Servlets、JavaBean以及EJB(Enterprise JavaBeans)的應用。

2)用戶可以自動地生成基於後端資料庫表的EJB Java類,Jbuilder同時還簡化了EJB的自動部署功能.此外它還支持CORBA,相應的向導程序有助於用戶全面地管理IDL(分布應用程序所必需的介面定義語言Interface Definition Language)和控制遠程對象。

3)Jbuilder支持各種應用伺服器。Jbuilder與Inprise Application Server緊密集成,同時支持WebLogic Server,支持EJB 1.1和EJB 2.0,可以快速開發J2EE的電子商務應用。

4)Jbuilder能用Servlet和JSP開發和調試動態Web 應用。

5)利用Jbuilder可創建(沒有專有代碼和標記)純Java2應用。由於Jbuilder是用純Java語言編寫的,其代碼不含任何專屬代碼和標記,它支持最新的Java標准。

6)Jbuilder擁有專業化的圖形調試介面,支持遠程調試和多線程調試,調試器支持各種JDK版本,包括J2ME/J2SE/J2EE。

JBuilder環境開發程序方便,它是純的Java 開發環境,適合企業的J2EE開發;缺點是往往一開始人們難於把握整個程序各部分之間的關系,對機器的硬體要求較高,比較吃內存,這時運行速度顯得較慢。

5、Oracle 的JDeveloper

Oracle9i JDeveloper(定為9.0版,最新為10g)為構建具有J2EE功能,XML和Web services的復雜的,多層的 Java應用程序提供了一個完全集成的開發環境。它為運用Oracle9i資料庫和應用伺服器的開發人員提供特殊的功能和增強性能,除此以外,它也有資格成為用於多種用途Java開發的一個強大的工具。

Oracle9i JDeveloper的主要特點如下:

① 具有UML(Unified Modeling Language,一體化建模語言)建模功能。可以將業務對象及e-business應用模型化。

② 配備有高速Java調試器(Debuger)、內置Profiling工具、提高代碼質量的工具「CodeCoach」等。

③ 支持SOAP(Simple Object Access Protocol)「簡單對象訪問協議」、UDDI (Universal Description, Discovery and Integration)「統一描述、發現和集成協議」、WSDL (Web Services Description Language)「WEB服務描述語言」等Web服務標准。

JDeveloper 不僅僅是很好的 Java 編程工具,而且是 Oracle Web 服務的延伸,支 Apache SOAP,以及 9iAS ,可擴充的環境和 XML 和 WSDL 語言緊密相關。Oracle9i Jdeveloper完全利用Java編寫,能夠與以前的 Oracle伺服器軟體以及其他廠商支持J2EE的應用伺服器產品相兼容,而且在設計時著重針對Oracle9i,能夠無縫化跨平台之間的應用開發,提供了業界第一個完整的、集成了J2EE和XML的開發環境,允許開發者快速開發可以通過Web、無線設備及語音界面訪問的Web服務和交易應用,以往只能通過將傳統Java編程技巧與最新模塊化方式結合到一個單一集成的開發環境中之後才能完成J2EE應用開發生命周期管理的事實,從根本上得到改變。缺點就是對於初學者來說,較復雜,也比較難。

6、IBM的Visual Age for Java

Visual Age for Java是一個非常成熟的開發工具,它的特性以於IT開發者和業余的Java編程人員來說都是非常用有用的。它提供對可視化編程的廣泛支持,支持利用CICS連接遺傳大型機應用,支持EJB的開發應用,支持與Websphere的集成開發,方便的bean創建和良好的快速應用開發(RAD)支持和無文件式的文件處理。

IBM為建設Web站點所推出的 WebSphere Studio Advanced Edition及其包含的Visua Age for Java Professional Edition軟體已全面轉向以Java為中心,這樣,Java開發人員對WebSphere全套工具的感覺或許會好了許多。Studio所提供的工具有:Web站點管理、快速開發 JDBC頁向導程序、HTML編輯器和HTML語法檢查等。這確實是個不錯的HTML站點頁面編輯環境。Studio和VisualAge集成度很高,菜單中提供了在兩種軟體包之間快速移動代碼的選項。這就讓使用 Studio的Web頁面設計人員和使用VisualAge的Java程序員可以相互交換文件、協同工作。

Visual Age for Java支持團隊開發,內置的代碼庫可以自動地根據用戶做出改動而修改程序代碼,這樣就可以很方便地將目前代碼和早期版本做出比較。與Visual Age緊密結合的Websphere Studio本身並不提供源代碼和版本管理的支持,它只是包含了一個內置文件鎖定系統, 當編輯項目的時候可以防止其他人對這些文件的錯誤修改,軟體還支持諸如Microsoft Visual SourceSafe這樣的第三方源代碼控制系統。Visual Age for Java完全面向對象的程序設計思想使得開發程序非常快速、高效。你可以不編寫任何代碼就可以設計出一個典型的應用程序框架。Visual Age for Java作為IBM電子商務解決方案其中產品之一,可以無縫地與其他IBM產品,如WebSphere、DB2融合, 迅速完成從設計、開發到部署應用的整個過程。

Visual Age for Java獨特的管理文件方式使其集成外部工具非常困難,你無法讓Visual Age for Java與其他工具一起聯合開發應用。

7、BEA 的 WebLogic Workshop

BEA WebLogic Workshop是一個統一、簡化、可擴展的開發環境,使所有的開發人員都能在 BEA WebLogic Enterprise Platform之上構建基於標準的企業級應用,從而提高了開發部門的生產力水平,加快了價值的實現。

WebLogic Workshop除了提供便捷的Web服務之外,它能夠用於創建更多種類的應用。作為整個 BEA WebLogic Platform的開發環境。不管是創建門戶應用、編寫工作流、還是創建Web應用,Workshop 8.1都可以幫助開發人員更快更好地完成。

WebLogic Workshop的主要特點如下:

① 使 J2EE 開發切實可行,提高開發效率

BEA WebLogic Workshop 使開發人員遠離 J2EE 內在的復雜性,集中精力專注業務邏輯,無須操心單調乏味的基礎結構代碼。這種創新意味著,已被企業驗證的 J2EE 的強大功能,最終被大多數不熟悉 Java 和 J2EE 的應用開發人員所掌握,從而使 IT 部門的工作效率提高一個數量級。

可視化設計器以及直觀的概念,如事件、屬性和控制項等,實現了基於事件的開發。Workshop 簡化的程序設計模型,使開發人員不必掌握復雜的 J2EE API 和面向對象的程序設計原理。所有開發人員,包括 J2EE 專家和具有可視化和過程化語言技能的應用開發人員在內,都可以共同工作在 BEA WebLogic Enterprise Platform 之上。Workshop 的可視化開發環境,創建帶有代碼注釋的標准 Java 文件,用來說明由運行時框架實施的企業級需求。J2EE 和其他高級開發人員,藉助功能強大的代碼編輯功能,可以訪問 Java 源代碼,從而彌補了可視化設計器的不足。

② 構建企業級應用

通過在可伸縮、安全可靠的企業級架構上實施各種應用,BEA WebLogic Workshop 大大降低了開發風險。而且,所有應用的創建都使用標準的 J2EE 組件,既保護了您的技術投資,又保持了最大的靈活性。 BEA WebLogic Workshop 運行框架,是統一整個架構的匯聚層,使單一、簡化的程序設
計模型擴展到所有的 BEA WebLogic Enterprise Platform 應用類型。通過解釋設計時創建的注釋代碼,運行時框架可以實現必要的 J2EE 組件,並且提取出與 J2EE 應用開發有關的所有底層細節。

③ 降低 IT 復雜性

BEA WebLogic Workshop 提供各種 Java 控制項,使得與 IT 資源的連接更輕而易舉。另外,在構建任何 BEA WebLogic Platform 的應用中,Java 控制項不僅可擴展而且完全相同。這種強大、有效的方法能夠:降低 IT 技術的復雜性,優化信息的可用性,推動包含"最佳業務方案"的可重用服務的開發,使開發人員能以更低的成本、更短的時間實現更大的產出。

利用 BEA WebLogic Workshop,任何開發人員都能以最大的生產效率,構建各種Web 服務、Web 應用、門戶和集成項目。 BEA WebLogic Workshop是BEA的產品戰略核心,它幫助客戶接觸和利用面向服務架構(SOA)的強大功能。 BEA Weblogic Workshop 8.1極大簡化了當前實際企業集成環境中企業級應用和服務的構建,並成為全面支持關鍵企業級應用(如非同步、真正松耦合和粗粒度消息傳送等)的自然選擇。它的缺點就是過於復雜,對於初學者來說,理解起來較為困難。

8、WebGain 的Visual Cafe for Java

Visual Cafe 是只能在Symantec公司的Java虛擬機、Netscape公司的Java虛擬機和Microsoft虛擬機上工作的調試器。這對於開發者來講是一個重要的特性,因為用戶開發的Java代碼中的許多軟體bug就可能中會在某種特定的虛擬機上起作用。

在修改後進行編譯基繼續進行調試時,Visual Cafe會自動將文件存檔,使用Visual Cafe創建的原生應用具有許多特點。除了明顯的速度提高之外,Symantec使類庫的二進制方式比正常的JDK小Visual Cafe為所指定的關系自動生成或更新必要的Java代碼。利用 Visual Cafe,用戶可以從一個標准對象資料庫中集合完整的Java應用程序和Applet,而不必再編寫源代碼。Visual Cafe還提供了一個擴充的源代碼開發工具集。

Visual Cafe綜合了Java軟體的可視化源程序開發工具,它允許開發人員在可視化視圖和源視圖之間進行有效地轉換。在可視化視圖中進行的修改立即反映在源代碼中。對源代碼的改變自動更新可視化視圖。

Visual Cafe具有許多源文件方面的特性,如全局檢索和替換。絕大多數Java開發工具的文獻的問題在於簡單地挨個介紹開發工具的每部分組件,但用戶在開應用時還需要一個面向任務的手冊,利用這個手冊你可以不必知道工具每一部分的特定功能就可以開始創建自己的應用。Visual Cafe提供了非常全面的用戶指南,它對最開始的安裝到創建第一個Java應用和Applet都提供了全面的幫助,Visual Cafe將自動生成所指明關系的必要 Java代碼。Visual Cafe可以在Windows 95和Windows NT平台下運行,Symantec公司為Java開發工作提供一個在 Macintosh操作系統下可以運行的RAD工具。Visual Cafe編譯器速度很快,在國際化支持方面比較突出;缺點就是對於初學者來說,較復雜,也比較難。

9、Macromedia的JRUN

Macromedia公司的JRun是一個具有最廣闊適用性的Java引擎,用於開發及實施由Java Servlets和JavaServer Pages編寫的伺服器端 Java應用。JRun是第一個完全支持JSP 1.0 規格書的商業化產品,全球有超過80,000名開發人員使用JRun在他們已有的Web伺服器上添加伺服器端Java的功能。其中Web伺服器包括了Microsoft IIS,Netscape Enterprise Server,Apache 等。

JRun是開發實施伺服器端Java的先進引擎。如果我們希望在我們的Web應用中添加伺服器端Java功能,那麼JRun將成為我們的正確選擇。

JRun目前有3個版本,它是第一個支持Java Server Pages(JSP)規格書1.0的商業化產品。JSP是一種強大的伺服器端技術,它是用於創建復雜Web應用的一整套快速應用開發系統。JRun可以使我們開始開發並測試Java應用。它最多接受5個並發的連接並且包括全部 Java Servlet API,支持JavaServer Pages(JSP),支持所有主要的Web servers和計算機平台。 JRun Pro能夠在生產環境下承受大訪問量的負載,幫助我們實施應用、服務或Web站點(包括內聯網)。JRun Pro 支持無限量並發式連接運行多個Jav
a虛擬機,包括多個並發的Java虛擬機(JVM)。提供一個遠程管理applet以及一個遠程可再分布式的管理applet。JRun Pro Unlimited包括了所有JRun Pro的功能,除次以外,還可以運行無限量的,並發的JVM。

JRun依靠其內置的JRun Web Server可以單獨運行。使用伺服器端Java,用戶可以開發出復雜的商業應用系統。最重要的一點是,由於 servlets的平台獨立性,以及更加簡單的開發、更快速的實施、更經濟的維護成本,它是CGI(Common Gateway Interface) 或Perl scripts的極佳的替代產品。缺點就是對於初學者來說,較復雜,也比較難。

10、JCreator

JCreator 是一個Java程序開發工具,也是一個Java集成開發環境(IDE)。無論你是要開發Java應用程序或者網頁上的Applet元件都難不倒它。在功能上與Sun公司所公布的JDK等文字模式開發工具相較之下來得容易,還允許使用者自訂義操作窗口界面及無限Undo/Redo等功能。

JCreator為用戶提供了相當強大的功能,例如項目管理功能,項目模板功能,可個性化設置語法高亮屬性、行數、類瀏覽器、標簽文檔、多功能編繹器,向導功能以及完全可自定義的用戶界面。通過JCreator,我們不用激活主文檔而直接編繹或運行我們的JAVA程序。

JCreator能自動找到包含主函數的文件或包含Applet的Html文件,然後它會運行適當的工具。在JCreator中,我們可以通過一個批處理同時編繹多個項目。JCreator的設計接近Windows界面風格,用戶對它的界面比較熟悉。其最大特點是與我們機器中所裝的JDK完美結合,是其它任何一款IDE所不能比擬的。它是一種初學者很容易上手的java開發工具,缺點是只能進行簡單的程序開發,不能進行企業J2EE的開發應用。

11、Microsoft VJ++

Visual J++ 是Microsoft 公司推出的可視化的Java 語言集成開發環境(IDE),為Java 編程人員提供了一個新的開發環境,是一個相當出色的開發工具。無論集成性、編譯速度、調試功能、還是易學易用性,都體現了Microsoft 的一慣風格。Visual J++ 具有下面的特點:

1)Visual J++ 把Java 虛擬機(JVM)作為獨立的操作系統組件放入Windows,使之從瀏覽器中獨立出來。

2)Microsoft 的應用基本類庫(AFC,Application Foundation Class Library)對SUN 公司的JDK 作了擴展,使應用基本類庫更加適合在Windows 下使用。

3) Visual J++ 的調試器支持動態調試,包括單步執行、設置斷點、觀察變數數值等。

4) Visual J++ 提供了一些程序向導(Wizards)和生成器(Builders),它們可以方便地幫助用戶快速地生成Java 程序,幫助你在自己的工程中創建和修改文件。

5) Visual J++ 界面友好,其代碼編輯器具有智能感知、聯機編譯等功能,使程序編寫十分方便。Visual J++ 中建立了Java 的 WFC,這一新的應用程序框架能夠直接訪問Windows 應用程序介面(API),使你能夠用Java 語言編寫完全意義上的Windows 應用程序。

6)Visual J++ 中表單設計器的快速應用開發特性使用WFC 創建基於表單的應用程序變得輕松、簡單。通過WFC 可以方便地使用ActiveX 數據對象(ADO,ActiveX Data Objects)來檢索數據和執行簡單數據的綁定。通過在表單設計器中使用 ActiveX 數據對象,可以快速地在表單中訪問和顯示數據。

Visual J++能結合微軟的一貫的編程風格,很方便進行Java 的應用開發,但它的移植性較差,不是純的Java 開發環境。

12、Eclipse

Eclipse是一種可擴展的開放源代碼IDE。2001年11月,IBM公司捐出價值4,000萬美元的源代碼組建了Eclipse聯盟,並由該聯盟負責這種工具的後續開發。集成開發環境(IDE)經常將其應用范圍限定在「開發、構建和調試」的周期之中。為了幫助集成開發環境(IDE)克服目前的局限性,業界廠商合作創建了Eclipse平台。Eclipse允許在同一IDE中集成來自不同供應商的工具,並實現了工具之間的互操作性,從而顯著改變了項目工作流程,使開發者可以專注在實際的嵌入式目標上。

Eclipse框架的這種靈活性來源於其擴展點。它們是在XML中定義的已知介面,並充當插件的耦合點。擴展點的范圍包括從用在常規表述過濾器中的簡單字元串,到一個Java類的描述。任何Eclipse插件定義的擴展點都能夠被其它插件使用,反之,任何Eclipse插件也可以遵從其它插件定義的擴展點。除了解由擴展點定義的介面外,插件不知道它們通過擴展點提供的服務將如何被使用。

利用Eclipse,我們可以將高級設計(也許是採用UML)與低級開發工具(如應用調試器等)結合在一起。如果這些互相補充的獨立工具採用Eclipse擴展點彼此連接,那麼當我們用調試器逐一檢查應用時,UML對話框可以突出顯示我們正在關注的器件。事實上,由於 Eclipse並不了解開發語言,所以無論Java語言調試器、C/C++調試器還是匯編調試器都是有效的,並可以在相同的框架內同時瞄準不同的進程或節點。

Eclipse的最大特點是它能接受由Java開發者自己編寫的開放源代碼插件,這類似於微軟公司的 Visual Studio和Sun微系統公司的NetBeans平台。Eclipse為工具開發商提供了更好的靈活性,使他們能更好地控制自己的軟體技術。Eclipse聯盟已經宣布將在2004年中期發布其3.0版軟體。這是一款非常受歡迎的java開發工具,這國內的用戶越來越多,實際上實用它 java開發人員是最多的。缺點就是較復雜,對初學者來說,理解起來比較困難。

13、Ant

Another Neat Tool(Ant)是一種基於Java的build工具。理論上來說,它有些類似於(Unix)C中的make ,但沒有 make的缺陷。因為Ant的原作者在多種(硬體)平台上開發軟體時,無法忍受這些工具的限制和不便。類似於make的工具本質上是基於shell(語言)的:他們計算依賴關系,然後執行命令(這些命令與你在命令行敲的命令沒太大區別)。這就意味著你可以很容易地通過使用OS特有的或編寫新的(命令)程序擴展該工具;然而,這也意味著你將自己限制在了特定的OS,或特定的OS類型上,如Unix。Ant就不同了。與基於shell命令的擴展模式不同, Ant用Java的類來擴展。(用戶)不必編寫shell命令,配置文件是基於XML的,通過調用target樹,就可執行各種task。每個task由實現了一個實現了特定Task介面的對象來運行。

Ant支持一些可選task,一個可選task一般需要額外的庫才能工作。可選 task與Ant的內置task分開,單獨打包。這個可選包可以從你下載Ant的同一個地方下載。ANT本身就是這樣一個流程腳本引擎,用於自動化調用程序完成項目的編譯,打包,測試等。除了基於JAVA是平台無關的外,腳本的格式是基於XML的,比make腳本來說還要好維護一些。Ant是Apache 提供給Java開發人員的構建工具,它可以在Windows OS和Unix OS下運行,它不僅開放源碼並且還是一個非常好用的工具。Ant是 Apache Jakarta中一個很好用的Java開發工具,Ant配置文件採用XML文檔編寫,所以Java程序員對其語法相當熟悉,Ant是專用於 Java項目平台,能夠用純Java來開發,它能夠運行於Java安裝的平台,即體現了它的跨平台功能。它的缺點顯示執行結果只能是DOS字元界面,不能進行復雜的java程序開發。

14、IntelliJ

Intellij IDEA 是一款綜合的Java 編程環境,被許多開發人員和行業專家譽為市場上最好的IDE。它提供了一系列最實用的的工具組合:智能編碼輔助和自動控制,支持 J2EE,Ant,JUnit和CVS集成,非平行的編碼檢查和創新的GUI設計器。IDEA把Java開發人員從一些耗時的常規工作中解放出來,顯著地提高了開發效率。具有運行更快速,生成更好的代碼;持續的重新設計和日常編碼變得更加簡易,與其它工具的完美集成;很高的性價比等特點。在4.0版本中支持Generics,BEA WebLogic集成,改良的CVS集成以及GUI設計器。

IntelliJ IDEA能盡可能地促進程序員的編程速度。它包括了很多輔助的功能,並且與Java結合得相當好。不同的工具窗口圍繞在主編程窗口周圍,當滑鼠點到時即可打開,無用時也可輕松關閉,使用戶得到了最大化的有效屏幕范圍。以技術為導向的IDEA集成了調試器,支持本地和遠程的調試,即使我們需要修改一些設置上的東西使我們的工作順利進展。另外,它還提供了通常的監視,分步調試以及手動設置斷點功能,在這種斷點模式下,我們可以自動地在斷點之外設置現場訪問,甚至可以瀏覽不同的變數的值。IDE支持多重的JVM設置,幾個編譯程序和Ant建造系統,並且,它使得設置多重的自定義的類途徑變得簡單。

IntelliJ Idea是一個相對較新的Java IDE。它是Java開發環境中最為有用的一個。高度優化的IntelleJ Idea使普通任務變得相當容易,Idea支持很多整合功能,更重要的使它們設計的好容易使用。Idea支持XML中的代碼實現,Idea同時還會校正XML,Idea支持 JSP的結構。作用於普通Java代碼的眾多功能同樣適用於JSP(比如整合功能),同時支持JSP調試;支持EJB,盡管它不包括對個別應用伺服器的特殊支持。Idea支持Ant建立工具,不僅是運行目標它還支持編譯與運行程序前後運行目標,另外也支持綁定鍵盤快捷鍵。在編輯一個Ant建立XML文件時,Idea還對組成Ant工程的XML部分提供支持。IntelliJ IDEA 被稱為是最好的JAVA IDE開發平台,這套軟體就是以其聰明的即時分析和方便
的 refactoring 功能深獲大家所喜愛。缺點是較復雜,對初學者來說,理解起來比較困難。

小結

現在常用的Java項目開發環境有:JBuilder、VisualAge for Java、Forte for Java, Visual Cafe、Eclipse、NetBeans IDE、JCreator +J2SDK、jdk+記事本、EditPlus+ J2SDK等等。一般開發J2EE項目時都需要安裝各公司的應用伺服器(中間件)和相應的開發工具,在使用這些開發工具之前,我們最好能熟知這些軟體的優點和缺點,以便根據實際情況選擇應用。編程工具只是工具,為了方便人們工作而開發的,各有特點,因此,選工具主要的依據自己將要從事的領域是什麼,而不是盲目的認為那種工具好,那種工具不好。最後希望大家都能找到自己合適的java 開發工具。

❸ javaee三大組件是什麼

Servlet,JSP,EJB
Servlet(Server Applet),全稱Java Servlet,未有中文譯文。是用Java編寫的伺服器端程序。其主要功能在於互動式地瀏覽和修改數據,生成動態Web內容。狹義的Servlet是指Java語言實現的一個介面,廣義的Servlet是指任何實現了這個Servlet介面的類,一般情況下,人們將Servlet理解為後者。
Servlet運行於支持Java的應用伺服器中。從實現上講,Servlet可以響應任何類型的請求,但絕大多數情況下Servlet只用來擴展基於HTTP協議的Web伺服器。
JSP全名為Java Server Pages,中文名叫java伺服器頁面,其根本是一個簡化的Servlet設計,它[1] 是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標准。JSP技術有點類似ASP技術,它是在傳統的網頁HTML(標准通用標記語言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標記(tag),從而形成JSP文件,後綴名為(*.jsp)。 用JSP開發的Web應用是跨平台的,既能在Linux下運行,也能在其他操作系統上運行。
它實現了Html語法中的java擴展(以 <%, %>形式)。JSP與Servlet一樣,是在伺服器端執行的。通常返回給客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。
EJB是sun的JavaEE伺服器端組件模型,設計目標與核心應用是部署分布式應用程序。簡單來說就是把已經編寫好的程序(即:類)打包放在伺服器上執行。憑借java跨平台的優勢,用EJB技術部署的分布式系統可以不限於特定的平台。EJB (Enterprise JavaBean)是J2EE(javaEE)的一部分,定義了一個用於開發基於組件的企業多重應用程序的標准。其特點包括網路服務支持和核心開發工具(SDK)。 在J2EE里,Enterprise Java Beans(EJB)稱為Java 企業Bean,是Java的核心代碼,分別是會話Bean(Session Bean),實體Bean(Entity Bean)和消息驅動Bean(MessageDriven Bean)。

❹ Java中有哪些中間組件

javax.swing包中JComponent(輕組件)類是java.awt包中Container類的一個直接子類、Componenet類的一個間接子類。javax.swing包中的JFame類和JDialog類分別是java.awt包中類和Dialog類的直接子類、Window類的間接子類。
組件(component):Java把由Component類的子類或間接子類創建的對象稱為一個組件,是圖形用戶界面中的可見部分,如按鈕、標簽.
容器(container): Java把由Container的子類或間接子類創建的對象稱為一個容器,是圖形用戶界面中容納其它組件的部分,如窗體。
認識幾個方法
add( ):將組件添加到該容器中。
removeAll() :移掉容器中的全部組件。
remove(Component c) 移掉容器中參數指定的組件。
validate():每當容器添加新的組件或移掉組件時,調用該方法以保證容器中的組件能正確顯示出來。
public void setBounds(int a,int b,int width,int height) 調用該方法可以設置出現在屏幕上時的初始位置是(a,b),即距屏幕左面a個像素、距屏幕上方b個像素;窗口的寬是width,高是height。
public void setSize(int width,int height):設置窗口的大小,窗口在屏幕出現是默認位置是(0,0)。
public void setVisible(boolean b):設置窗口是可見還是不可見,窗口默認是不可見的。
public void setResizable(boolean b):設置窗口是否可調整大小,窗口默認是可調整大小的。
public void setDefaultCloseOperation(int operation) :設置單擊窗體右上角的關閉圖標後,程序會做出怎樣的處理。
JTextField文本框
用來建立文本框的,用戶可以在文本框輸入單行的文本。
構造方法
JTextField(int x):創建文本框對象,可以在文本框中輸入若干個字元,文本框的可見字元個數由參數x指定。
JTextField(String s) :創建文本框對象,則文本框的初始字元串為s,可以在文本框中輸入若干個字元。
主要方法
public void setText(String s):設置文本框中的文本為參數s指定的文本。
public String getText() :獲取文本框中的文本。
public void setEditable(boolean b) :指定文本框的可編輯性(默認為可編輯的)。
public void setHorizontalAlignment(int alignment) :設文本在文本框中的對齊方式,其中alignment的有效值確定對齊方式,如:LEFT、CENTER、RIGHT。
JTextArea 文本區
JTextArea類用來建立文本區,用戶可以在文本區輸入多行的文本。
構造方法
JTextArea(int rows, int columns):構造一個可見行和可見列分別是rows、columns的文本區。
常用方法
setLineWrap(boolean b):決定輸入的文本能否在文本區的右邊界自動換行。
setWrapStyleWord(boolean b):決定是以單詞為界(b取true時)或以字元為界(b取false時)進行換行。
getText():獲取文本區的文本。
setText(String s) :設置文本內容。
append(String s):尾部加文本。
insert(String s,int x):在文本區的指定位置處插入文本。
public void ():拷貝選定的區域。
public void cut():剪切選定的區域。
public void paste():在指定的區域粘貼。

列表組件
用戶可以在下拉列表看到第一個選項和它旁邊的箭頭按鈕。
當用戶單擊箭頭按鈕時,選項列表打開。
常用方法
public JComboBox() 創建一個沒有選項下拉列表。
public void addItem(Object anObject) 增加選項。
public int getSelectedIndex() 返回當前下拉列表中被選中的選項的索引,索引的起始值是0。
public Object getSelectedItem() 返回當前下拉列表中被選中的選項。
public void removeItemAt(int anIndex) 從下拉列表的選項中刪除索引值是anIndex 選項。
public void removeAllItems() 刪除全部選項。
public void addItemListener(ItemListener) 向下拉列表增加ItemEvent事件的監視器。
下拉式列表上的ItemEvent事件
對於下拉式列表事件源,可以發生ItemEvent事件。
表格組件
使用JTable可以創建一個表格對象。
構造方法
JTable (Object[ ][ ] data , Object[ ] columnName)
表格的視圖將以行和列的形式顯示數組data每個單元中對象的字元串表示。
參數columnName用來指定表格的列名。
用戶在表格單元中輸入的數據都被認為是一個Object對象。
用戶通過表格視圖對表格單元中的數據進行編輯,以達到修改二維數組data中對應的數據。
例:
Object[][] a = new Object[3][4];
Object[] name = {"商品名稱","單價","銷售量","銷售額"};
JTable table=new JTable(a,name);

❺ 學習JAVA要裝那些組件啊

1 JDK(Java Development Tools)Java開發工具,包括jdk和jre(Java 運行環境)。(前面的JDK是軟體名稱,後面的jdk是組成部分)
2 安裝一個開發工具,比如:Eclipse(MyEclipse),JBuilder,NetBeans,
說明:開發Java,JDK是必須安裝的,
JDK下載地址:http://java.sun.com/javase/downloads/index.jsp(第二項)
下載後安裝(包括jdk,jre)安裝後配置環境變數(網上有)
開發工具:目前最流行的是Eclipse(MyEclipse),MyEclipse是Eclipse的插件,
Eclipse下載地址:http://www.eclipse.org/downloads/
MyEclipse下載地址:http://www.myeclipseide.com/mole-htmlpages-display-pid-4.html

❻ java中常用的組件有哪些

1.標識(Label)
(1) 語法格式: Label(String s)
(2) 功能: 構造一個顯示字元串s的標識。
2.按鈕(Button)
(1) 語法格式:Button (String s)
(2) 功能:構造一個以字元串s為標識的按鈕。
3.復選框(Checkbox)
(1)語法格式: Checkbox (String s)
(2)功能:構造一個以字元串s為標識的復選框條目,未被選中。
4.單選按鈕(Radio Buttons)
(1) 語法格式: CheckboxGroup( )
(2) 功能: 構造一個條目組。
5.選擇菜單(Choice Menu)
(1) 語法格式: Choice ( )
(2) 功能:構造一個選擇菜單。
(3) 說明:構造完之後,再使用Choice類中的addItem方法加入菜單的條目。
6.列表框(Scrolling List) l
(1) 語法格式:List (int n, boolean b)
(2) 功能:構造一個有n個列表項的列表框,並根據b的值決定是否允許多選。
7.單行文本輸入框(TextField)
(1) 語法格式:TextField (int i)
(2) 功能:構造一個字元串長度為i單行文本輸入框
8.多行文本輸入框(TextArea)
(1) 語法格式: TextArea (int i, int j)
(2)功能: 構造一個多行文本輸入框,行數為i,列數為j

❼ java框架有哪些常用框架

十大常用框架:

一、SpringMVC

二、Spring

三、Mybatis

四、Dubbo

五、Maven

六、RabbitMQ

七、Log4j

八、Ehcache

九、Redis

十、Shiro

❽ java Swing 編寫需要用的一些常用組件,求代碼~~

這個看你設計成什麼樣子,都有不同的需求,代碼只能參考一下。
package com.hengjun.hjropcs.commons;

import java.awt.Dimension;
import java.awt.Font;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import javax.swing.ComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.JTextField;
import javax.swing.UIManager;

import com.hengjun.commons.lang.Func1;
import com.hengjun.commons.lang.HJCollectionUtils;
import com.hengjun.commons.swing.DimensionUtility;
import com.hengjun.commons.swing.HJComboBoxUtils;
import com.hengjun.commons.swing.combobox.decorators.SpellComboBoxDecorator;
import com.hengjun.commons.ui.DisplayData;
import com.hengjun.framework.enums.EDataStatus;
import com.hengjun.framework.framework_core.model.BaseModel;
import com.hengjun.framework.framework_core.support.constant.MessageConstants;
import com.hengjun.hjrop.model.dbmodel.RopRegion;
import com.hengjun.hjrop.model.dbmodel.RopStation;
import com.hengjun.hjropcs.cache.CacheRegion;
import com.hengjun.hjropcs.commons.hjcombobox.Builder;
import com.hengjun.hjropcs.commons.hjcombobox.RegionComboBox.CBuilder;
import com.hengjun.hjropcs.core.ui.FullSizeComboBoxUI;

public class HJCommonCombox extends JComboBox{

//批量修改用,=1 帶拼音搜索,批量修改時第一項插入一個new 對象,而不是CommonObject中的對象;
//因為點擊+-號時可以直接更改index=0項的text即可,效率高
public final static int MULTI_MODIFY_WITH_SPELL=1;
//批量修改用,=2 不帶拼音搜索
public final static int MULTI_MODIFY_WITHOUT_SPELL=2;

//active數據,不帶有第一行的empty
public final static int ACTIVE_RECORDS_WITH_SPELL_WITHOUT_EMPTY=3;

//默認的下拉框長度
// public static final int COMBOBOX_MAX_WIDTH = 170;
private boolean isSupportSpell=false;
//產生一個新的數據model,第一條數據為new DisplayData(null,"","")
protected List proceNewModelData(List activeViewForMulti){
if(activeViewForMulti==null || activeViewForMulti.size()==0){
return activeViewForMulti;
}
List ret=new ArrayList(activeViewForMulti);
ret.set(0, new DisplayData(null,"",""));
return ret;

}
public boolean isSupportSpell() {
return isSupportSpell;
}

public void setSRTDimension(){
this.setMaximumSize(DimensionUtility.SRTDimension);
this.setMinimumSize(DimensionUtility.SRTDimension);
}
public void setSRTDimension(Dimension dimension){
this.setMaximumSize(dimension);
this.setMinimumSize(dimension);
}
public void setSupportSpell(boolean isSupportSpell) {
this.isSupportSpell = isSupportSpell;
}
/**
* 默認創建的是含有所有active數據的下拉框
*/
public HJCommonCombox(){
this.setMaximumSize(DimensionUtility.componentDimension);
this.setMinimumSize(DimensionUtility.componentDimension);
}
public HJCommonCombox(Builder builder){
//默認是allActive數據
List model=getActiveModelData();
//如果是批量修改用,基於active數據
if(builder.isMultiModify()){
model=getActiveMultiModelData();
model= proceNewModelData(model);
}
//如果需要所有數據
if(builder.isAll()){
model=getAllModelData();//getActiveModelData;
}
//如果不需要第一項empty值
if(!builder.isWithEmpty()){
HJComboBoxUtils.showList(this, model,1);
}
if(builder.isWithEmpty()){
HJComboBoxUtils.showList(this, model);
}
//如果需要拼音搜索
if(builder.isSupportSpell()){
SpellComboBoxDecorator scb = new SpellComboBoxDecorator(this);
scb.initialize();
}
this.setMaximumSize(DimensionUtility.componentDimension);
this.setMinimumSize(DimensionUtility.componentDimension);

}
//根據filter名稱和builder,返回List
public List<DisplayData> getListData(String filter,Builder builder){
List model=getFilterActiveModelData(filter);
//如果是批量修改用,基於active數據
if(builder.isMultiModify()){
model=getFilterActiveMultiModelData(filter);
model= proceNewModelData(model);
}
//如果需要所有數據
if(builder.isAll()){
model=getFilterAllModelData(filter);//getActiveModelData;
}
//如果不需要第一項empty值
if(!builder.isWithEmpty()){
if (!HJCollectionUtils.isEmpty(model)){
model=model.subList(1,model.size());
}
}else{//需要則直接返回
// HJComboBoxUtils.showList(this, model);
}
return model;
}
public HJCommonCombox(String filter,Builder builder){
//默認是allActive數據
List model=getFilterActiveModelData(filter);
//如果是批量修改用,基於active數據
if(builder.isMultiModify()){
model=getFilterActiveMultiModelData(filter);
model= proceNewModelData(model);
}
//如果需要所有數據
if(builder.isAll()){
model=getFilterAllModelData(filter);//getActiveModelData;
}
//如果不需要第一項empty值
if(!builder.isWithEmpty()){
HJComboBoxUtils.showList(this, model,1);
}else{
HJComboBoxUtils.showList(this, model);
}
//如果需要拼音搜索
if(builder.isSupportSpell()){
SpellComboBoxDecorator scb = new SpellComboBoxDecorator(this);
scb.initialize();
}
this.setMaximumSize(DimensionUtility.componentDimension);
this.setMinimumSize(DimensionUtility.componentDimension);

}
/**
* 當內容比較長的時候,做得處理
*/
public void updateUI() {
setUI(new FullSizeComboBoxUI());
}
/**
* @param isSupportSpell is true;表示支持拼音搜索
*/
public HJCommonCombox(boolean isSupportSpell){
this();
if(isSupportSpell){
this.isSupportSpell=isSupportSpell;
SpellComboBoxDecorator scb = new SpellComboBoxDecorator(this);
scb.initialize();

}
}
/**@deprecated 請使用 HJCommonCombox(Builder builder)模式
* @param isSupportSpell is true;表示支持拼音搜索
*/
public HJCommonCombox(boolean isSupportSpell,boolean isAll){
this(isSupportSpell);
}

public void setSelectedItem(Object o){
ComboBoxModel cm=getModel();
HJComboBoxUtils.setSelectedItem(o, cm);
}
/**
* 全部置空,在批量修改中使用
*/
public static void allSetEmpty(HJCommonCombox cmbBox){
if(cmbBox.getModel().getSize()>0){
cmbBox.setSelectedIndex(0);
cmbBox.setEnabled(false);
DisplayData dd=(DisplayData) cmbBox.getItemAt(0);
dd.setText(MessageConstants.ALL_SET_EMPTY);
JTextField editor = (JTextField)cmbBox.getEditor().getEditorComponent();
editor.setText(MessageConstants.ALL_SET_EMPTY);
}
}
public void setSelectedIndex(int anIndex) {
if(getModel().getSize()>0){
super.setSelectedIndex(anIndex);
}
}
/**
* 全部置空復位
* @param cmbBox
*/
public static void allSetEmptyReset(HJCommonCombox cmbBox){
if(cmbBox.getModel().getSize()>0){
cmbBox.setSelectedIndex(0);
cmbBox.setEnabled(true);
DisplayData dd=(DisplayData) cmbBox.getItemAt(0);
dd.setText("");
// cmbBox.rep
JTextField editor = (JTextField)cmbBox.getEditor().getEditorComponent();
editor.setText("");

}
}
/**
*
* @param collection
* @param converter
* @param allRecods 返回所有的對象
* @param allActiveRecords 返回所有狀態為active的對象
* @return 不需要返回值,修改傳入的2個list即可
*/
public static <T, TResult> void select(Collection<T> collection, Func1<T, TResult> converter,List allRecods,List allActiveRecords) {
BaseModel temp=null;
for (T t : collection) {
temp=(BaseModel)t;
if(temp!=null){
if(EDataStatus.VALID.getKey()==temp.getDataStatus()){
allActiveRecords.add(converter.func(t));
}
allRecods.add(converter.func(t));
}

}

}
public static <T, TResult> void select(Collection<T> collection, Func1<T, TResult> converter,List inputRecods) {
BaseModel temp=null;
for (T t : collection) {
temp=(BaseModel)t;
if(temp!=null){
inputRecods.add(converter.func(t));
}

}

}
public static <T, TResult> void select(Collection<T> collection, Func1<T, TResult> converter,List allRecods,List allActiveRecords,List allActiveRecordsWithMulti) {
BaseModel temp=null;
Object a=null;
for (T t : collection) {
temp=(BaseModel)t;
if(temp!=null){
a=converter.func(t);
if(EDataStatus.VALID.getKey()==temp.getDataStatus()){
allActiveRecords.add(a);
allActiveRecordsWithMulti.add(a);
}
allRecods.add(a);
}

}

}
protected List<DisplayData> getActiveModelData(){
return null;
}
protected List<DisplayData> getAllModelData(){
return null;
}
protected List<DisplayData> getActiveMultiModelData(){
return null;
}
protected List<DisplayData> getFilterActiveModelData(String filter){
return null;
}
protected List<DisplayData> getFilterAllModelData(String filter){
return null;
}
protected List<DisplayData> getFilterActiveMultiModelData(String filter){
return null;
}

}

閱讀全文

與常用的java基礎組件相關的資料

熱點內容
蘋果免費讀書app推薦 瀏覽:497
劉駿微信 瀏覽:113
書旗舊版本80 瀏覽:467
教編程考什麼證 瀏覽:990
下載編程貓後哪裡有客服 瀏覽:13
如何編輯歌曲文件格式 瀏覽:638
cf無限領取cdk工具 瀏覽:350
如何讓手機文件保存到電腦上 瀏覽:459
sa資料庫默認密碼是多少 瀏覽:191
電腦正在查找文件 瀏覽:541
一個文件盒省內寄順豐多少錢 瀏覽:41
誅仙62坐騎怎麼升級到63 瀏覽:926
linux以日期查看日誌記錄 瀏覽:446
工業大數據是什麼東西 瀏覽:881
魅族note3怎麼重置網路 瀏覽:510
c語言程序設計模 瀏覽:92
兒童怎麼做可編程機 瀏覽:603
數據計算屬於什麼統計學 瀏覽:921
07word怎麼去掉標記 瀏覽:979
qq緩存的數據是什麼 瀏覽:348

友情鏈接