⑴ java官網上怎麼下載java ee 的幫助文檔,給個鏈接,怎麼都是在線的 我以前下過se的文檔可以在電腦上看
Java jdk1.6.0.02虛擬機
Java Development Kit(JDK) v1.5
JAVA JDK1.50的中文簡體API文檔
JAVA中文幫助文檔jdk1.5
Java JDK5.0學習筆記(PDF)
Java SE Development Kit (JDK) for Windows 7 Build b26
Java Development Kit(JDK) v1.4.2
Java EE SDK 5 Update 5 (with JDK 6u6)-windows
jdk-6u6-windows-i586-p(JDK 1.6.0 u6 多國語言版)
Java開發工具包 JDK 1.5.02
JDK6API中文參考CHM
JDK 6.0 For Linux
jdk1.6中文幫助文檔
jdk-1_5_0_14-windows-i586-p.exe(54278424 bytes)
jdk-1_5_0_15-windows-i586-p
jdk-7-ea-bin-b23-windows-i586-30_oct
Java SE Runtime Environment (JRE) 6 Update 5
Sun Java Runtime Environment V1.4.2.12
java虛擬機
Java 2 SDK 1.4.2.08
Java 2 Runtime Environment v5.0
JAVA通用模擬器MidpX
Java 2 Platform Standard Edition 5.0 Update 8
Sun Java SE Runtime Environment 6.0 Update 10
JAVA 反編譯器-基於jad內核的Frontend 2.0 plus(cracked)
Java SE Runtime Environment (JRE) 6 Update 5
Java 2 SDK Standard Edition 1.4.2
手機java電子書閱讀器
JAVA 2 1.4.2 編程工具
JAVA控制項
Java V6 Update 5 for XP & Vista
Java電子圖書製作工具
JAVA模擬器 DMIDP2 完美版
==============================
下載地址:http://www.weinet.com/jiaocheng/2008-06/537.htm
參考資料:http://www.weinet.com/java/
你看看這個地址行不,行的話記得給分,我也是查出來的,你看看可以不
⑵ Java EE 中輕量級框架與重量級框架的概念
操作簡單,要求硬體配置低。
量級主要是看容器的依賴性所決定的,依賴性越小,越輕量,
Jim Rivera是 BEA 公司的一位技術主管,負責通過技術傳播推廣BEA 產品的應用。Jim 於1999 年加入BEA,擔任 BEA WebLogic Server 6、7 和8 版本的技術產品經理。在這個崗位上,Jim 負責各種伺服器組件的策略和路線圖,包括 EJB、Web services、XML 和集群。Jim 在dev2dev 上有一個blog。dev2dev 通過電子郵件采訪了 Jim,獲得他對輕量級Java、應用程序框架和持久性框架,以及它們與應用伺服器上企業計算的關系的看法。
輕量級Java
dev2dev: 您是如何定義「輕量級Java」的?
Jim: 我認為,在Java 應用程序開發環境中,「輕量級Java」主要是指兩個東西:簡化的編程模型和更具響應能力的容器。輕量級Java 旨在消除與傳統 J2EE API 有關的不必要的復雜性和限制。它也將縮短應用程序的部署時間,這對於支持開發最佳實踐(比如頻繁單元測試)非常重要。
dev2dev: 對您來說哪種輕量級技術是最重要的,輕量級Java 對終端用戶有什麼幫助?
Jim: 很顯然,控制反轉 (IoC)模式在這個領域有著重大的影響。使用IoC,開發人員不需要編寫復雜的代碼來執行查詢、處理基礎架構異常或管理連接,就能夠解決對象依賴性問題。這有助於簡化代碼、將業務邏輯與基礎架構分離,從而使應用程序更易於維護。
輕量級Java 的另一個關鍵特徵是,它不會強迫業務對象遵循平台特定介面。這允許開發人員在普通舊式Java 對象(POJO)中實現業務邏輯,從而提高生產率。
與具體的類相反,當把開發的最佳實踐與界面相結合時,這些特性也使得對代碼進行單元測試容易得多。由於業務邏輯實現在 POJO中,所以不再需要將對象部署到重量級容器中以在單元測試中練習它。因此,將對象宿主在諸如 JUnit 之類的簡單測試環境中和為快速迭代單元測試「模擬」外部依賴性就變得微不足道了。
dev2dev: 作為一個技術傳播者,您一定目睹了許多新的和已部署的技術。您是否看到了轉向輕量級技術的趨勢?
Jim: 當然。在早期的採用者當中,明確地存在轉向諸如 Spring、Hibernate 和Beehive 之類框架的趨勢。它在應用程序的構建方式上有了明顯的不同,對未來 J2EE技術的方向有著積極的影響。例如,EJB 3.0就基本上是以使得輕量級Java盛行的概念為基礎的。
重量級
dev2dev:人們在想起應用伺服器供應商時,通常把它們置於「重量級陣營」。我想您正在努力改變這種狀況,對吧?換言之,許多人認為應用程序供應商已經在實現重量級組件(比如 EJB 2.0)上付出了很大的代價,它們不願意輕易放棄這些成果。
Jim: 首先,我認為沒有理由放棄在 EJB 上的現有投資,因為在某些場景中它仍然是最好的技術,例如當您希望通過 RMI遠程公開業務服務時。當然,諸如 EJB 之類的開放標准在保護客戶投資方面的價值也不能低估。
已經說過,我覺得人們經常過分強調 EJB在應用伺服器中的實際價值。盡管這一點未必對所有的應用伺服器供應商都適用,但是 BEA 只投入了相對較少的一部分開發資源來支持 J2EE API。我們工作最主要的目標是為宿主應用程序構建最可靠、可伸縮和容錯的內核。這些品質以及分布式事務服務、高速消息傳遞、遺留系統集成、高級 Web 服務、配置管理、診斷和故障排除和高級安全性,代表了 WebLogic Server 的真正價值,而且對總體擁有成本(TCO)有著巨大的影響。幸運的是,這些附加值對基於Spring 或Beehive 的應用程序的相關性和適用性與採用EJB 構建的應用程序是一樣的。雖然輕量級Java 技術使得應用程序的開發和維護更容易,但是它們不會代替真正高端應用伺服器的品質。實際上,我們認為輕量級Java 與WebLogic Server 是一致的。
dev2dev: BEA 有沒有一個輕量級 Java 策略?BEA 實現輕量級 Java 的方法是什麼?
Jim: 我們的策略是接納所有有利於提高開發人員生產率、在市場上為部署這些技術提供最佳平台的技術。輕量級 Java有助於降低開發成本,WebLogic Server 則有助於降低運營成本,它們是一個非常強大的組合。
應用程序框架
dev2dev:由BEA贊助的Beehive項目顯然是一個輕量級 Java組件模型。您能否談談關於 Beehive 的情況,以及它在你們的整個策略中的地位?
Jim: Beehive是一個應用程序框架,致力於使J2EE 應用程序和基於SOA 的應用程序的開發更容易,它基於我們發布WebLogic Workshop 的經驗。它基於 POJO 和用於配置依賴性、服務質量等的元數據提供一個編程模型。元數據以 J2SE 5.0 代碼註解和外部 XML文件的形式獲得支持。存在一些用於訪問 J2EE資源、定義業務和 Web 服務以及基於 MVC模式開發 Web 應用程序的組件。在我們努力提高開發人員生產率、鞏固 Java 整體市場的過程中,Beehive 是非常關鍵的一部分。
dev2dev: Beehive 可以被認為是一個「應用程序框架」。在Spring Framework中提供了一種非常流行的輕量級 Java 方法。Spring(以及其他類似的框架)對於 BEA 有多重要?
Jim: 任何能夠幫助我們的客戶提高生產率的東西都對我們非常重要。我們歡迎並且接納這些技術,在適當的時候也可以在技術層面上集成或者共享這些技術。
dev2dev: 你們考慮過明確支持這些框架嗎?
Jim: 就像我原來說過的,WebLogic Server具有很多方面的特性,能夠提供基於輕量級 Java 技術的應用程序。許多都是隱含的,然而在某些情況下,最小量的集成工作就能為輕量級 Java 開發人員提供重要的價值。舉個例子,當今存在的一些適配器允許 Spring 應用程序使用 WebLogic Server 的分布式事務能力,無需改變任何應用程序代碼。我們正在調查許多其他的機會,當然也一直在傾聽客戶的需求。
dev2dev: 我們已經看到輕量級框架對EJB 3 的一些影響。您認為這會擴展到J2EE的其他方面嗎?
Jim: 是的。我認為 JSR 175(即Java元數據)對於簡化 J2EE 編程模型是一種關鍵的支持技術。EJB 3.0使用了它,而且它也是 JSR 181(即Web Services 元數據,一個BEA 倡導的規范)的基礎。沒有理由相信它會就此停止。
輕量級持久性
dev2dev: IoC 容器看起來是輕量級 Java 的中心。另外的一個關鍵因素是POJO 和輕量級持久性。您能針對這個問題談談看法嗎?
Jim: 同樣,共同的主題是簡化編程模型。沒有比POJO更簡單的了。當然,企業開發要求我們有能力應用附加的品質,比如持久性規則、事務語義和 POJO 的安全約束。盛行很廣的方式是在元數據中定義這些品質,要麼作為代碼註解,要麼放在外部文件中。
dev2dev: 您是否覺得因為有多種方法用於完成持久性這樣的事情而存在一些危險?比如,我們很快將會有EJB 2、EJB 3、JDO、Hibernate,等等。
Jim: 我認為這只是成熟領域的一個實際情況。多年來,J2EE 規范沒有完全涵蓋這個特定的領域,自然就會導致其他規范的出現。就我所知道的在 JCP中發生的事情,我們似乎正在走向統一。這對於整個行業來說是一件好事。
未來
dev2dev: 您能預見一下輕量級 Java和 BEA 的未來嗎?
Jim: 我們將會繼續活躍於這個領域中,既通過諸如 Apache Beehive、XMLBeans、Eclipse和JCP 之類的渠道推動創新,又吸收諸如 Spring 這樣的其他領先技術,並且為了客戶的利益而展開協作。
艾伯特.愛因斯坦曾經說過:「一切都應該盡可能地簡單,但是不能更簡單。」確實如此,簡化一門理論的基本假設,使我們可以專注於真正關鍵的地方,這正是一直以來對科學真理的追求。企業軟體開發同樣如此。
提供一個將復雜的事物(例如,事務、安全或持久性)對開發者進行隱藏的應用框架是簡化企業軟體開發的關鍵。一個設計良好的框架可以提高代碼重用率、開發者的生產力及軟體的質量。然而,現有J2EE1.4的EJB2.1框架被普遍認為設計差,且過於復雜。不滿於EJB2.1的框架結構,Java開發者嘗試了各種各樣的中間件服務傳遞方法。最引人注目的是,以下兩個框架引起了開發者極大興趣並得到了大量正面的反饋。他們以未來企業Java應用所選框架的姿態展現。
Spring框架雖然很流行但並不是一個標準的開源框架。它主要由Interface21 Inc開發和控制。Spring框架結構是基於依賴注入(Dependency Injection (DI))的設計模式。它可以獨立或在現有的應用伺服器上運行,而且大量地使用了xml配置文件
EJB3.0是由Java Community Process (JCP)制訂的標准框架,為所有主要的J2EE廠商支持。JBoss已經提供了試用版EJB3.0標準的開源或商業性質實現。EJB3.0充分利用了Java的注釋
這兩個框架結構都有一個共同核心設計理念:將中間件服務傳遞給耦合鬆散的POJOS (Plain Old Java Objects, 簡單潔凈Java對象)。 這樣的框架利用截取執行上下文或在運行時將服務對象注入POJO來把應用服務「纏繞」到POJO。POJO本身並不關心這種「纏繞」,對這種框架結構也沒有什麼依賴。因此,開發者可專注於業務邏輯和脫離框架的POJO單元測試。除此之外, 由於POJO並不須要繼承框架的類或實現其介面,開發者能夠極其靈活地搭建繼承結構和建造應用。
然而,在擁有同一理念的同時,兩個框架結構使用不同的方式來傳遞POJO服務。許多書籍或文章都將Spring 或EJB3.0和EJB2.1做了比較,但是對Spring 和EJB3.0的比較並沒有仔細研究過。在本文中,我將對Srping和EJB3.0框架背後的關鍵不同處進行考察,並討論其優缺點。本文的觀點也適用於其它更少為人知的框架,因為他們都是對「耦合鬆散的POJO」的設計。希望這篇文章可以幫助你選擇適合你需求的最好框架。
廠商無關性
開發者選擇Java平台其中最引人注目的理由之一:廠商無關性。EJB3.0正是一套設計為廠商無關的開放性標准。EJB3.0標准為所有企業Java社團里開源或商業性質廠商所開發和支持。它將開發者與應用伺服器實現完全隔離。例如,JBoss的 EJB3.0實現基於Hibernate,Oracle的基於TopLink,但是開發者並不須要學習Hibernate- 或TopLink的具體API來使應用可在Jboss或Oracle上運行。廠商無關性使EJB3.0與現今其它POJO中間件框架區別開來。
但是,正如許多EJB3.0評論家迅速所指出的,在本文撰寫時EJB3.0標准還沒有到達一個最終版本。大概還有一到兩年的時間EJB3.0才能廣泛地為所有主要J2EE廠商所支持。即使你的應用伺服器本身不支持EJB3.0,你仍然可以通過下載安裝」內嵌的」EJB3.0產品來運行EJB3.0的應用。例如,JBoss的內嵌EjB3.0是開源產品且可以在任何J2SE5.0兼容的環境運行(例如, 在任何Java伺服器上),此產品正處於軟體測試階段。其它廠商不久也將發布自己的內嵌EJB3.0產品,特別是針對標准中關於數據持久性的部分。
另一方面,Spring一直以來都是非標準的技術,在未來可預知的一段時間內這種情況將持續下去。雖然你可以在任何應用伺服器上使用Spring框架,Spring應用會被鎖入在Spring本身和你選擇整合進Spring的具體服務中。
Spring框架是一個開源項目,但同時它有一個XML格式的配置文件和編程介面。當然任何一個非標準的產品都會有這種「鎖入」(lock-in)的情況,並不是Spring特有的。但Spring應用的長期生存能力仍然還得托Spring這個項目的福(或者是Interface21公司,它僱傭了大部分Spring核心開發人員)。除此之外,假如你用到任何一個具體的Spring服務,例如,Spring事務管理器或則Spring MVC,你也會被鎖入到這些API里。
Spring的應用對終端用戶是不可知的。例如,對數據持久服務,Spring框架兼容不同的DAO和JDBC的模版幫助類,如Hibernate, iBatis, 和 JDO。所以假如你需要為spring應用切換在數據持久化服務(例如從JBDC到Hibernate),你需要修改你的代碼以適合新的模版幫助類。
服務整合
從一個很高的角度上看,Spring框架處於應用伺服器和服務庫的上方。服務整合的代碼(如,數據訪問模板和幫助類)屬於框架,並暴露於應用開發者。相反,EJB3.0框架與應用伺服器高度整合,服務整合代碼也包裝在一個標准介面後面。
因此,實現EJB3.0的廠商可以大大地優化整體性能和提升開發者的體驗。例如,在JBoss EJB3.0的實現中,當你在用EntityManager持久化一個Entity Bean時,後台的Hibernate會話事務已經自動地幫定到調用方法的JTA 的事務上,在JTA 事務提交的同時Hibernate會話事務也提交了。你甚至可以使用一個簡單的 @PersistenceContext 注釋(稍候例子演示)將EntityManager和它後台的Hibernate事務綁定到一個stateful session bean的應用事務中。在一個會話中應用事務橫跨多個線程,這在事務性網頁應用很有用,例如,多頁面的購物車。
由於高度整合的EJB3.0的框架,使簡單、集成的編程介面成為可能。Oracle EJB3.0框架和其後台的Toplink持久化服務也同樣程度地整合。
另一個EJB3.0整合服務的絕好例子就是集群支持。假如你在一個伺服器集群上部署了一個EJB3.0的應用,所有容錯(fail-over)、負載均衡、分布式緩沖和狀態復制都已經自動為應用所獲得可用。後台的集群支持被隱藏在EJB3.0的框架後面,對EJB3.0開發者來說這些都是完全透明不可見的。
在Spring里,很難優化框架和服務之間的通訊。例如,為了使用Spring里的聲明事務服務來管理Hibernate事務,你必須顯示地在XML文件中配置Spring TransactionManager和Hibernate SessionFactory對象。Spring必須電顯示地管理橫跨多個HTTP請求的事務。除此之外,沒有別的方法均衡Spring應用里的集群。
服務組合的彈性
由於Spring的服務整合代碼作為編程介面的一部份暴露在外,應用開發者有按自己需求裝配服務的彈性。這個特點使你能夠組合自己的輕量級應用伺服器。Spring的一個普遍用法就是將Tomcat和Hibernate組合在一起支持資料庫驅動的web應用。在這種情況,Spring本身提供事務服務,Hibernat提供持久化服務——這種設置創建了一個袖珍型的應用伺服器。
EJB3.0應用伺服器典型地不提供這種根據需求任你挑撿服務的彈性空間。大多數時間,你得到的只是一系列包裝好的特性,其中一些你可能根本就不需要。但是如果應用伺服器像JBoss一樣提供一個模塊性的內部設計,那麼你可以只取其中一部分,而把不必要的部分剝去。在任何情況,去自定義一個功能強大的應用伺服器是沒有什麼價值的。
當然,假如應用已經超過單個點,那麼你應該加入常用伺服器上的服務,例如,資源池(resource pooling),消息隊列(message queuing)和集群(clustering)。就總體的資源消耗而言,Spring解決方法和其他EJB3.0解決方法一樣是重量級的。
在Spring框架里,具有彈性的服務裝配使得將虛擬對象而不是真正的業務對象綁定到應用中做脫離容器的單元測試更簡單。在EJB3.0應用中,大多數組件都是簡單POJO,他們可以很容易地在容器外被測試。但是對於與容器服務相關的對象(例如持久化實實體管理器EntityManager)建議用容器內測試。因為這樣會比虛擬對象測試方法更簡單,強壯及准確。
XML Vs.註解
從應用開發者的觀點上來看,Spring的編程開發介面主要基於XML配置文件而EJB3.0廣泛地應用Java註解。XML可以表達復雜的關系,但是它也冗長且不夠健壯;註解簡單明了,但是很難在註解里表達復雜或繼承性的關系。
Spring選擇XML或EJB3.0選擇註解都是有他們兩者框架後的體系結構決定的。因為註解只能容納很少的配置信息,只有整合前的框架(重頭戲都在框架里)才可以把廣泛地使用註解作為配置選擇。正如我們所討論過的,EJB3.0剛好符合這個要求,而Spring作為一個普通的DI框架並不符合。
當然,EJB3.0和Spring都相互取長補短,在某種程度上他們都支持XML和註解。例如,在EJB3.0中,XML配置文件作為一個可選的重載機制來改變註解的默認行為。註解也可以配置一些Spring服務。
通過例子是學習XML和註解方式之間差異的最好方法。在下面幾個環節里,讓我們來看看Spring和EJB3.0是怎樣提供關鍵服務給應用的。
聲明性服務
Spring和EJB3.0都將運行時服務(例如,事務、安全、日誌和配置服務)綁定到應用。因為這些服務於應用的業務邏輯是沒有直接聯系,他們只是由應用本身管理。換句話說,這些服務在運行時由容器透明地應用到應用中。開發者或是管理者配置容器,准確地告訴它什麼時候怎樣應用這些服務。
EJB3.0運用Java註解來配置聲明性服務,而Sring使用XML配置文件。在大多數情況下,EJB3.0註解方式對於這種服務更簡單明了。這里有一個在EJB3.0中將事務服務運用到POJO的例子。
public class Foo { @TransactionAttribute(TransactionAttributeType.REQUIRED) public bar () { // do something ... } }
你也可以為一個代碼段聲明多個屬性,應用多個服務。這是一個在EJB3.0里同時應用事務和安全服務到POJO的例子
⑶ JavaEE和ASP.NET相比哪個更有前途為什麼好在哪裡
JavaEE和ASP.NET相比Javaee更有前途。
J2EE與.NET比較
1.體系架構的比較
作為彼此競爭的應用平台,J2EE和.NET開發平台在目標和體系結構上極其相似,但在實現上又完全不同。
(1)類似的平台基礎構造 J2EE和.NET兩個平台在底層的執行引擎都源於託管的虛擬機概念,但.NET的CLR沿著Java虛擬機(JVM)走得更遠,CLR在借鑒了JVM的自動垃圾收集、異常處理等機制的同時,又為.NET平台添加了多語言支持、組件自描述等新的特性。
在.NET和 J2EE平台上,程序的編譯都經過兩個類似的過程。首先,特定高級語言編譯器將C#(及其他.NET語言)和Java源代碼分別翻譯成中間語言(IL)和位元組代碼(ByteCode)。.NET在中間語言設計時通盤考慮了多個主流高級語言,在這一層面實現了.NET平台的跨語言承諾;J2EE的基石是Java語言,它最典型的特徵是:一次編寫,多次運行。跨平台是J2EE一直引以為豪的關鍵,這是通過JVM來實現的。
其次,在執行時,中間語言被即時編譯器(JIT)編譯成特定平台的二進制代碼,位元組代碼則通過JVM解釋執行,完成各自語言的指令功能。鑒於微軟在「Wintel平台」上的代碼優化功底,.NET代碼的執行速度較之於Java有明顯的優勢是不爭的事實。但在Unix/Linux平台上,由於.NET遲遲未能實現其跨平台的承諾,J2EE幾乎成了惟一的選擇,執行效率的比較也就無所謂。在代碼執行的同時,通用語言運行時和Java虛擬機也都提出了異常捕捉、類型安全、內存分配和垃圾收集等自動化內存管理工作,大大減輕少了現代軟體的內存泄漏問題,減輕了程序員的繁重負擔。
面向對象程序設計在J2EE和.NET平台中都獲得了直接的支持,單根繼承加多介面實現是它們共有的特徵。但在面向對象之外,.NET對現代組件編程提供了直接支持。當然,當下很多企業中間件都是基於J2EE平台,只是.NET從設計、編碼、配置到運行都給予了組件編程更多、更直接的支持。
在基礎的和企業級的服務上兩個平台很難一決高低。從基礎的集合、字元串操作到企業級的API介面,如JMS、JDBC、JAX和JNDI等,J2EE在這方面有著非常堅實的結構。微軟.NET框架類庫也不示弱,提供了從圖畫、網路、線程到ADO.NET、ADSI、Windows表單和ASP.NET等一系列的API。
除去API類庫的無縫的功能復用外,對本地平台的調用操作也是值得關注的。CLR和Java虛擬機都支持本地方法的調用。在異構平台方面,J2EE更鍾情於IIOP(InternetInterORB Protocol),而.NET則使用SOAP。
(2)相同的三層/多層體系 基於三層/多層分布式計算結構已毋庸置疑地成為當今企業應用的主流模式,也是兩個平台較量的著力點。
在客戶端,表示層負責用戶與系統的交互。對於不同的處理要求,.NET和J2EE都提出了基於桌面的應用程序和基於瀏覽器的Web應用的開發組件:JavaApplication與Windows表單、Java Servlet/JSP與ASP.NET雙雙形成犄角之勢。但Windows表單依賴微軟桌面系統的天然優勢,無論在交互速度還是在界面的表現性能上都較JavaApplication稍勝一籌。Servlet/JSP與ASP.NET是目前企業在「瘦客戶端」應用的重點,兩者都基於HTTP請求/響應模型,通過HTML瀏覽器頁面完成用戶交互。雖然ASP.NET聲稱在底層通過編譯執行獲得了相當高的處理速度和伺服器方控制項的瀏覽器自適應能力,但目前並沒有這方面的硬性數據,很難據此而論高低。在緩存、狀態優化等方面兩者可謂是旗鼓相當。另一個與客戶端應用相關的技術是ActiveX與Applet,從目前的趨勢來看,它們在兩個平台上的地位逐漸邊緣化,也不為大多數企業所接受。
在中間層,分布式業務組件負責企業應用的商業邏輯部署。由於這些業務組件經常負責處理資料庫連接、網路資源和線程等高昂的資源,所以一直是三層/多層架構的關鍵和企業應用的核心。J2EE的EJB是一個成熟的、得到業界廣泛支持的大型企業級組件框架,而.NET組件則是建立在新型的COM+服務之上,兩者在組件與操作系統的交互、客戶端資源共享等方面都有很好的支持。.NET則通過元數據支持自描述性的組件開發、XCOPY部署以及多版本共存,無需注冊表和描述文件,對企業客戶有一定的吸引力。
在後端數據層,兩個平台都為資料庫連接量身定做了一套數據存取模型:J2EE的JDBC和.NET的ADO.NET,它們在支持傳統SQL數據源的同時,也支持新型的XML數據源。這方面由於更多地涉及到具體的資料庫產品,很難說那種數據模型更有優勢。
2 移植性比較
在移植性方面,.NET支持跨語言,J2EE支持跨平台。
微軟通過.NET 通用語言運行時來消除編程語言的差別,「選擇.NET平台就意味著選擇Windows」,這句話至少在可預見的一段時間里仍然是一個基本事實。J2EE則通過Java虛擬機來消除平台差別,跨平台是它的一大賣點,也是在選擇企業應用開發平台時的一個重要參考因素,幾乎所有的主流操作系統都提供了對J2EE的支持;實際上如果要搭建跨Unix、Windows等多個操作系統平台,J2EE平台幾乎是惟一的選擇,J2EE更關注跨平台而不是跨語言。但微軟認為,如果企業的應用都能通過標准協議以Web服務的方式發布,那麼平台都是中立的。為了吸引更多的開發者和鼓勵廣大企業廠商轉到.NET平台,微軟提出了多語言支持,希望用跨語言的交互性來平衡跨平台的互操作。
3. 性能比較
性能是J2EE和.NET喋喋不休的話題。二者之間著名的論戰是一個關於寵物店的範例應用。寵物店是Sun一度以來作為J2EE典型應用的展示範例,而.NET「自告奮勇」地在自己的平台上實現了該寵物店應用,且聲稱代碼行是J2EE的1/3,效率卻是J2EE的30倍。但Sun的理由是這個範例根本不適合用來做性能比較,該範例實現也沒有做針對性能的優化,而且指責微軟通過後端資料庫優化和緩存虛抬了.NET平台的效率。這樣的爭吵當然不能作為判斷的依據,目前也沒有見到更客觀的第三方評測報告。在「Wintel平台」上也許沒有理由懷疑.NET的性能;至於非Windows平台,.NET和J2EE也不再具有可比性。
4.安全性、穩定性比較
WINDOWS本身的安全漏洞,使得.NET的安全性不如J2EE。同時,在應用伺服器的選擇上,.NET只能用IIS,安全性、穩定性難以保證;而J2EE有更多的選擇,可以在諸多遵循標準的廠商所提供的應用程序伺服器中,選擇最符合需要、成本最低、而且又被認為是最佳的平台。
5.可擴展性比較
.NET平台的擴展思想是基於軟體的橫向擴展,而J2EE平台的擴展思想則是基於硬體的縱向擴展。
Windows系統一般只能擴展到不超過8個處理器,而Sun的系統卻可以擴展到100個甚至更多處理器。
基於J2EE平台的應用程序可被部署到各種操作系統上,例如可被部署到高端UNIX與大型機系統,這種系統單機可支持64至256個處理器,這是NT伺服器所望塵莫及的。J2EE領域的供應商提供了更為廣泛的負載平衡策略,能消除系統中的瓶頸,允許多台伺服器集成部署。這種部署可達數千個處理器,實現可高度伸縮的系統,滿足未來商業應用的需要。
6.成熟度比較
在平台的成熟度方面,兩者也有一比。J2EE在1999年形成了成熟的架構,發展至今已經具有相當成熟的、經過檢驗的企業應用系統。而.NET究其淵源是源自微軟以前開發企業應用程序的平台DNA(DistributedNetwork Architecture),其中包括了許多已經被證實的技術,並且這些技術已經在產品中得到實現,包括微軟的事務伺服器、COM+、消息隊列和SQL Server資料庫等。
7.第三方廠商的支持
J2EE作為一種開放的規范,從一開始就得到了眾多廠商的支持,IBM、BEA、HP、Oracle等在J2EE的實施上都有較大的投入。目前市場上最好的J2EE應用伺服器並不是Sun與Netscape合資的iPlanet,而是BEA的WebLogic和IBM的Webshpere。開發工具有Borland的JBuilder、Sun的Forte for Java、BEA的WebLogicWorkshop、Oracle的JDeveloper、IBM的VisualAge forJava等。
而.NET在設計之初就緊緊地把平台規范與產品膠合在一起。雖然,NET架構的一小部分具有開放性(如C#語言、通用語言基礎構造CLI 和Web服務標准),但至少目前很難想像會有一個非微軟的.NET實現。Visual Stdio.NET是其唯一的開發工具。
8.開源支持比較
J2EE開源產品眾多,免費框架居多,相應的最佳實踐設計模式層出不窮。而.NET無開源社區支持,是以框架開發者為主導的設計。
9.學習成本比較
J2EE門檻較高,由於多且雜,需要開發人員花費很長時間才能熟悉整個體系。而.NET門檻較低,使用方便,學習成本較低。但是,對於開發人員來說,.NET在系統整體架構的設計方面不如J2EE易於把握。
10.對WEB服務支持的比較
從.NET和J2EE這兩個平台的發展歷程來看,.NET從一開始就深深打上了Web服務技術的烙印,在它的市場推廣活動中,無時無刻不凸顯其作為Web服務的開發和部署平台的特徵,可以說,.NET天生就是為Web服務准備的開發和部署平台。相對.NET而言,J2EE是一個比較「老」的東西,最初它是為了將Java平台拓展到企業級應用領域而制訂的一個平台框架規范,隨著Web服務技術的興起和發展,J2EE平台作為一個企業級應用的開發和部署平台,無法迴避業界的重大技術革命——Web服務,J2EE也不斷地引入了對Web服務的支持。
從服務描述、服務實現和服務的發布、發現與綁定,以及服務的調用和執行這些不同的角度看,J2EE和.NET的支持基本不相上下,惟一的區別可能是.NET的開發工具更為方便一些、集成度更高一些。
在Web服務規范的控制方面,微軟與IBM共同主推了大量的Web服務規范,在一段時間內,兩家公司Web服務技術的市場推廣活動都是聯合舉行的,不難看出這兩家公司在這個領域背後的戰略合作關系。最初的Web服務核心技術SOAP、WSDL主要由這兩家公司制訂,後來的UDDI是由這兩家為首的多家核心企業共同制訂,再後來的一些不是核心的Web服務規范,如WS-Inspection、WSFL、WS-Security、WS-Routing、WS-License和WS-Referral等,則完全是由這兩家來制訂的。不難看出:IBM和微軟對於Web服務的貢獻以及它們對Web服務規范的控制。
盡管由於某種原因,Sun公司曾經在很長的一段時間里被排除在WS-I(由IBM,微軟和BEA發起成立的促進WEB服務互操作的一個組織)的門外,但這並沒有影響Sun公司繼續在WEB服務方面堅持開放的戰略。Sun公司是Java語言的發明者,而作為一個開放的跨平台的技術體系,Java在WEB服務的開發方面也起著非常重要的作用。雙方妥協後,Sun最終被接納為WS-I的董事成員。
Sun公司積極地參與了制訂Web服務規范的過程,像XML和ebXML。並已經在Java中支持WEB服務中最重要的規范,例如SOAP(JAX-RPC、JAXM、SAAJ和JMS)、WSDL(Java API forWSDL)、UDDI/ebXML(JAXR)和XML(JAXP,JAXB)等等。Sun公司除了積極地參與Web服務領域里的標准化工作,更是努力地為客戶提供全面的軟體產品,為用戶開發和部署Web服務提供平台。Sun公司的Sun ONE Web服務平台開發版,是業界第一個用於基於Java技術的Web服務和Web應用開發的全方位的集成平台。該平台集成了多種SunONE伺服器軟體、Java開發工具,支持業界的WEB服務標准,而且是面向開發人員設計,安裝和使用都非常簡單。
⑷ JAVAEE是什麼與JAVA 有什麼區別
AVAEE是指java enterprise edition,java企業版,多用於企業級開發,包括web開發等等很多組建;
Java和JavaEE區別:
1. Java是一種可以撰寫跨平台應用軟體的面向對象的程序設計語言。Java 技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於PC、數據中心、游戲控制台、科學超級計算機、行動電話和互聯網,同時擁有全球最大的開發者專業社群。正式成立於1995年,廣泛應用於人們的生活、工作、娛樂等等方面。
2. Java分為三個版本:Java SE(標准版)、Java EE(企業版)、Java ME(微型版)。其中JavaSE就是大家學JavaEE和JavaME的基礎,換而言之學Java先從JavaSE開始,JavaSE 包含了支持 Java Web 服務開發的類,JavaEE是企業最常用的用於企業級開發應用的,Java ME主要是移動段的開發應用。
3. 通過以上,Java和JavaEE的區別在哪,就特別的明顯了。那麼為什麼很多培訓主打JavaEE培訓呢?是因為JavaEE在Java中,比JavaSE和JavaME應用更加廣泛,價值更高,所以很多的培訓機構就直接主打JavaEE培訓,不過其他兩個方面的Java知識也是要大致掌握的。
Java EE是 J2EE的一個新的名稱,之所以改名,目的還是讓大家清楚J2EE只是Java企業應用.隨著WEB和EJB容器概念誕生,使得軟體應用業開始擔心SUN的夥伴們是否還在Java平台上不斷推出翻新的標准框架,致使軟體應用業的業務核心組件架構無所適從,從一直以來是否需要EJB的討論聲中說明了這種彷徨。
⑸ 如何查看java api官方參考文檔
首先打開瀏覽器,網路搜索Java api選擇打開JavaAPISpecifications
來到Oracle官網Java API Specifications頁面,單擊Java SE8或SE7就可以查看 Java API 標准版 參考文檔
下面還有Java EE企業版和Java MEMICRO EDITION微型版的API參考文檔。
單擊Java SE8就可以查看Java™ Platform, Standard Edition 8API Specification,Java平台,API 8標准版 參考文檔。
單擊 Java SE 來的Java SE 下載頁面。
找到Java SE 8 Documentation 文檔,單擊Download下載,Java文檔。