十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
j2ee 也叫 javaee 是企業(yè)標(biāo)準(zhǔn)版主要用于網(wǎng)頁后臺一些邏輯判斷數(shù)據(jù)傳輸。Java EE 是 J2EE的一個新的名稱,之所以改名,目的還是讓大家清楚J2EE只是Java企業(yè)應(yīng)用。
創(chuàng)新互聯(lián)公司主要從事做網(wǎng)站、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)福安,十多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
在2004年底中國軟件技術(shù)大會Ioc微容器(也就是Jdon框架的實現(xiàn)原理)演講中指出:
我們需要一個跨J2SE/WEB/EJB的微容器,保護(hù)我們的業(yè)務(wù)核心組件(中間件),以延續(xù)它的生命力,而不是依賴J2SE/J2EE版本。
擴(kuò)展資料:
核心優(yōu)勢:
J2EE容易讓初學(xué)者誤解是獨立于一套Java的技術(shù)方案。
從更深層次來看,Java誕生十年,多年前的業(yè)務(wù)組件還可以使用,軟件應(yīng)用不再由于語言的更迭革命帶來毀滅的打擊了。
當(dāng)然,Java EE 5重要改變還是:Java EE不再象以前那樣只注重大型商業(yè)系統(tǒng)的開發(fā),而是更關(guān)注小到中型系統(tǒng)的開發(fā),簡化這部分系統(tǒng)開發(fā)步驟。
落實這一簡化行動的最大特征是在Java 5.0(Java 1.5)中加入Annotations,通過Annotations引入,降低Java EE開發(fā)時,既要寫code,又要寫XML配置文件之苦。
來回照顧,疲于奔命,Annotations既是得益于C++語言,也是從開源項目xDoclet實踐中獲得經(jīng)驗。
但是Annotations是一把雙刃劍,初學(xué)者用得不好,將會使得原本在XML中的Hard code(硬編碼) 寫進(jìn)入代碼Annotations,破壞代碼的簡潔和靈活性,
當(dāng)然,Annotations的引入不只是解決XML配置,從大的概念說,是解決一個資源注射問題(XML屬于其中一個資源),在原理J2EE中,容器管理的資源都是由JNDI向應(yīng)用程序提供的,通過Annotations可以方便實現(xiàn)注射。
參考資料:
百度百科-JavaEE
框架1:Spring框架
該框架排名第一,因為它具有開發(fā)復(fù)雜Web應(yīng)用程序的出色能力,而且,這些應(yīng)用程序因性能突出而廣受贊譽(yù)。它使Java開發(fā)人員能夠輕松地創(chuàng)建企業(yè)級應(yīng)用程序。
Web應(yīng)用程序開發(fā)人員可以證明Spring框架的能力。這就是Spring成為Java開發(fā)人員最愛的原因。下面的數(shù)據(jù)可以證明這一點。以下是開發(fā)者(選擇Java作為首選的三種編程語言之一)對Java框架的看法:
在開發(fā)人員的選擇中,Spring MVC和Spring Boot遠(yuǎn)遠(yuǎn)領(lǐng)先于其他Java技術(shù)。對于開發(fā)人員來說,這里的一大優(yōu)勢是他們可以不受其他模塊約束而專注于一個模塊,因為Spring利用了控制反轉(zhuǎn)(IoC)。
這個框架的其他一些優(yōu)點是一個全面的配置模型,支持傳統(tǒng)數(shù)據(jù)庫和現(xiàn)代數(shù)據(jù)庫(如NoSQL),并通過支持面向方面編程來支持內(nèi)聚開發(fā)。它提供了一些模塊,如Spring MVC、Spring Core、Spring Boost、SpringTransaction等。
框架2:Hibernate框架
作為一個對象關(guān)系映射(ORM)數(shù)據(jù)庫,它改變了我們以前查看數(shù)據(jù)庫的方式。盡管它不是一個全??蚣埽梢詷O其輕松地為多個數(shù)據(jù)庫轉(zhuǎn)換數(shù)據(jù)。
它支持多個數(shù)據(jù)庫的能力使它很容易擴(kuò)展,無論應(yīng)用程序的大小或用戶的數(shù)量如何。它速度快、功能強(qiáng)大、易于擴(kuò)展、修改和配置。
框架3:Struts框架
該框架幫助自定義軟件開發(fā)人員創(chuàng)建易于維護(hù)的企業(yè)級應(yīng)用程序。這個框架的USP是它的插件。它們是JAR包,這意味著它們是可移植的。
Hibernate插件和Spring插件分別可以用于對象關(guān)系映射和依賴注入。使用此Java框架開發(fā)應(yīng)用程序可以減少處理時間,因為它提供了組織良好的Java、JSP和Action類。
框架4:Play
使用該框架的頂尖公司包括LinkedIn、三星、衛(wèi)報、Verizon等。這只能說明它的可信度。該框架提供了速度、可伸縮性和性能。
它的用戶界面非常簡單,使移動應(yīng)用程序開發(fā)人員可以快速理解它。它主要用于開發(fā)需要統(tǒng)一內(nèi)容創(chuàng)建的應(yīng)用程序。
框架5:Google Web Toolkit
這個框架用于客戶端開發(fā),類似JavaScript。它是一個開源的Java框架,這意味著它是免費(fèi)的。谷歌廣泛使用了這個框架,谷歌產(chǎn)品如AdSense、谷歌錢包、AdWords都是使用它編寫的。
借助GWT代碼,可以輕松地開發(fā)和調(diào)試Ajax應(yīng)用程序。Java開發(fā)人員更喜歡使用這個框架來編寫復(fù)雜的應(yīng)用程序。書簽、跨瀏覽器可移植性、歷史記錄和管理是它的一些特性。
閱讀完分享的Java的熱門框架后,希望你能有一個更清晰的了解。了解熱門框架不是一個挑戰(zhàn),但是找到適合你需求的框架是一個挑戰(zhàn)!
安博志遠(yuǎn)課程設(shè)置 1、C++ / Java 和面向?qū)ο笪覀€人以為學(xué)好C++,Java也就是舉手之勞。但是C++的學(xué)習(xí)曲線相當(dāng)?shù)亩?。不過,我覺得C++是最需要學(xué)好的語言了。參看兩篇趣文“C++學(xué)習(xí)信心圖” 和“21天學(xué)好C++”學(xué)習(xí)(麻省理工免費(fèi)課程)C++面向?qū)ο缶幊套x我的 “如何學(xué)好C++”中所推薦的那些書至少兩遍以上(如果你對C++的理解能夠深入到像我所寫的《C++虛函數(shù)表解析》或是《C++對象內(nèi)存存局(上)(下)》,或是《C/C++返回內(nèi)部靜態(tài)成員的陷阱》那就非常不錯了)然后反思為什么C++要干成這樣,Java則不是?你一定要學(xué)會對比C++和Java的不同。比如,Java中的初始化,垃圾回收,接口,異常,虛函數(shù),等等。實踐任務(wù):用C++實現(xiàn)一個BigInt,支持128位的整形的加減乘除的操作。用C++封裝一個數(shù)據(jù)結(jié)構(gòu)的容量,比如hash table。用C++封裝并實現(xiàn)一個智能指針(一定要使用模板)?!对O(shè)計模式》必需一讀,兩遍以上,思考一下,這23個模式的應(yīng)用場景。主要是兩點:1)鐘愛組合而不是繼承,2)鐘愛接口而不是實現(xiàn)。(也推薦《深入淺出設(shè)計模式》)實踐任務(wù):使用工廠模式實現(xiàn)一個內(nèi)存池。使用策略模式制做一個類其可以把文本文件進(jìn)行左對齊,右對齊和中對齊。使用命令模式實現(xiàn)一個命令行計算器,并支持undo和redo。使用修飾模式實現(xiàn)一個酒店的房間價格訂價策略——旺季,服務(wù),VIP、旅行團(tuán)、等影響價格的因素。學(xué)習(xí)STL的用法和其設(shè)計概念 - 容器,算法,迭代器,函數(shù)子。如果可能,請讀一下其源碼。實踐任務(wù): 嘗試使用面向?qū)ο蟆TL,設(shè)計模式、和WindowsSDK圖形編程的各種技能 做一個貪吃蛇或是俄羅斯方塊的游戲。支持不同的級別和難度。做一個文件瀏覽器,可以瀏覽目錄下的文件,并可以對不同的文件有不同的操作,文本文件可以打開編輯,執(zhí)行文件則執(zhí)行之,mp3或avi文件可以播放,圖片文件可以展示圖片。學(xué)習(xí)C++的一些類庫的設(shè)計,如: MFC(看看候捷老師的《深入淺出MFC》),Boost, ACE, CPPUnit,STL (STL可能會太難了,但是如果你能了解其中的設(shè)計模式和設(shè)計那就太好了,如果你能深入到我寫的《STL string類的寫時拷貝技術(shù)》那就非常不錯了,ACE需要很強(qiáng)在的系統(tǒng)知識,參見后面的“加強(qiáng)對系統(tǒng)的了解”)Java是真正的面向?qū)ο蟮恼Z言,Java的設(shè)計模式多得不能再多,也是用來學(xué)習(xí)面向?qū)ο蟮脑O(shè)計模式的最佳語言了(參看Java中的設(shè)計模式)。推薦閱讀《Effective Java》 and 《Java解惑》學(xué)習(xí)Java的框架,Java的框架也是多,如Spring, Hibernate,Struts 等等,主要是學(xué)習(xí)Java的設(shè)計,如IoC等。Java的技術(shù)也是爛多,重點學(xué)習(xí)J2EE架構(gòu)以及JMS, RMI, 等消息傳遞和遠(yuǎn)程調(diào)用的技術(shù)。學(xué)習(xí)使用Java做Web Service (官方教程在這里)實踐任務(wù): 嘗試在Spring或Hibernate框架下構(gòu)建一個有網(wǎng)絡(luò)的Web Service的遠(yuǎn)程調(diào)用程序,并可以在兩個Service中通過JMS傳遞消息。C++和Java都不是能在短時間內(nèi)能學(xué)好的,C++玩是的深,Java玩的是廣,我建議兩者選一個。我個人的學(xué)習(xí)經(jīng)歷是:深究C++(我深究C/C++了十來年了)學(xué)習(xí)Java的各種設(shè)計模式。2、加強(qiáng)系統(tǒng)了解重要閱讀下面的幾本書:《Unix編程藝術(shù)》了解Unix系統(tǒng)領(lǐng)域中的設(shè)計和開發(fā)哲學(xué)、思想文化體系、原則與經(jīng)驗。你一定會有一種醍醐灌頂?shù)母杏X?!禪nix網(wǎng)絡(luò)編程卷1,套接字》這是一本看完你就明白網(wǎng)絡(luò)編程的書。重要注意TCP、UDP,以及多路復(fù)用的系統(tǒng)調(diào)用select/poll/epoll的差別?!禩CP/IP詳解 卷1:協(xié)議》- 這是一本看完后你就可以當(dāng)網(wǎng)絡(luò)黑客的書。了解以太網(wǎng)的的運(yùn)作原理,了解TCP/IP的協(xié)議,運(yùn)作原理以及如何TCP的調(diào)優(yōu)。實踐任務(wù):理解什么是阻塞(同步IO),非阻塞(異步IO),多路復(fù)用(select, poll, epoll)的IO技術(shù)。寫一個網(wǎng)絡(luò)聊天程序,有聊天服務(wù)器和多個聊天客戶端(服務(wù)端用UDP對部分或所有的的聊天客戶端進(jìn)Multicast或Broadcast)。寫一個簡易的HTTP服務(wù)器?!禪nix網(wǎng)絡(luò)編程卷2,進(jìn)程間通信》信號量,管道,共享內(nèi)存,消息等各種IPC…… 這些技術(shù)好像有點老掉牙了,不過還是值得了解。實踐任務(wù):主要實踐各種IPC進(jìn)程序通信的方法。嘗試寫一個管道程序,父子進(jìn)程通過管道交換數(shù)據(jù)。嘗試寫一個共享內(nèi)存的程序,兩個進(jìn)程通過共享內(nèi)存交換一個C的結(jié)構(gòu)體數(shù)組。學(xué)習(xí)《Windows核心編程》一書。把CreateProcess,Windows線程、線程調(diào)度、線程同步(Event, 信號量,互斥量)、異步I/O,內(nèi)存管理,DLL,這幾大塊搞精通。實踐任務(wù): 使用CreateProcess啟動一個記事本或IE,并監(jiān)控該程序的運(yùn)行。把前面寫過的那個簡易的HTTP服務(wù)用線程池實現(xiàn)一下。寫一個DLL的鉤子程序監(jiān)控指定窗口的關(guān)閉事件,或是記錄某個窗口的按鍵。有了多線程、多進(jìn)程通信,TCP/IP,套接字,C++和設(shè)計模式的基本,你可以研究一下ACE了。使用ACE重寫上述的聊天程序和HTTP服務(wù)器(帶線程池)實踐任務(wù): 通過以上的所有知識,嘗試 寫一個服務(wù)端給客戶端傳大文件,要求把100M的帶寬用到80%以上。(注意,磁盤I/O和網(wǎng)絡(luò)I/O可能會很有問題,想一想怎么解決,另外,請注意網(wǎng)絡(luò)傳輸最大單元MTU)了解BT下載的工作原理,用多進(jìn)程的方式模擬BT下載的原理。3、系統(tǒng)架構(gòu)負(fù)載均衡。HASH式的,純動態(tài)式的。(可以到Google學(xué)術(shù)里搜一些關(guān)于負(fù)載均衡的文章讀讀)多層分布式系統(tǒng) – 客戶端服務(wù)結(jié)點層、計算結(jié)點層、數(shù)據(jù)cache層,數(shù)據(jù)層。J2EE是經(jīng)典的多層結(jié)構(gòu)。CDN系統(tǒng)– 就近訪問,內(nèi)容邊緣化。P2P式系統(tǒng),研究一下BT和電驢的算法。比如:DHT算法。服務(wù)器備份,雙機(jī)備份系統(tǒng)(Live-Standby和Live-Live系統(tǒng)),兩臺機(jī)器如何通過心跳監(jiān)測對方?集群主結(jié)點備份。虛擬化技術(shù),使用這個技術(shù),可以把操作系統(tǒng)當(dāng)應(yīng)用程序一下切換或重新配置和部署。學(xué)習(xí)Thrift,二進(jìn)制的高性能的通訊中間件,支持?jǐn)?shù)據(jù)(對象)序列化和多種類型的RPC服務(wù)。學(xué)習(xí)Hadoop。Hadoop框架中最核心的設(shè)計就是:MapReduce和HDFS。MapReduce的思想是由Google的一篇論文所提及而被廣為流傳的,簡單的一句話解釋MapReduce就是“任務(wù)的分解與結(jié)果的匯總”。HDFS是Hadoop分布式文件系統(tǒng)(Hadoop Distributed File System)的縮寫,為分布式計算存儲提供了底層支持。了解NoSQL數(shù)據(jù)庫(有人說可能是一個過渡炒作的技術(shù)),不過因為超大規(guī)模以及高并發(fā)的純動態(tài)型網(wǎng)站日漸成為主流,而SNS類網(wǎng)站在數(shù)據(jù)存取過程中有著實時性等剛性需求,這使得目前NoSQL數(shù)據(jù)庫慢慢成了人們所關(guān)注的焦點,并大有成為取代關(guān)系型數(shù)據(jù)庫而成為未來主流數(shù)據(jù)存儲模式的趨勢。當(dāng)前NoSQL數(shù)據(jù)庫很多,大部分都是開源的,其中比較知名的有:MemcacheDB、Redis、Tokyo Cabinet(升級版為Kyoto Cabinet)、Flare、MongoDB、CouchDB、Cassandra、Voldemort等。寫了那么多,回顧一下,覺得自己相當(dāng)?shù)挠谐删透?。希望大家不要嚇著,我自己這十來年也在不斷地學(xué)習(xí),今天我也在學(xué)習(xí)中,人生本來就是一個不斷學(xué)習(xí)和練級的過程。不過,一定有漏的,也有不對的,還希望大家補(bǔ)充和更正。 關(guān)鍵字: 程序員高級深入