A. java開源框架是什麼
Java開源項目
Spring Framework 【Java開源 J2EE框架】
Spring 是一個解決了許多在J2EE開發中常見的問題的強大框架。 Spring提供了管理業務對象的一致方法並且鼓勵了注入對介面編程而不是對類編程的良好習慣。Spring的架構基礎是基於使用JavaBean屬性的 Inversion of Control容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作為構建完關注所有架構層的完整解決方案方面是獨一無二的。 Spring提供了唯一的數據訪問抽象,包括簡單和有效率的JDBC框架,極大的改進了效率並且減少了可能的錯誤。Spring的數據訪問架構還集成了 Hibernate和其他O/R mapping解決方案。Spring還提供了唯一的事務管理抽象,它能夠在各種底層事務管理技術,例如JTA或者JDBC事務提供一個一致的編程模型。 Spring提供了一個用標准Java語言編寫的AOP框架,它給POJOs提供了聲明式的事務管理和其他企業事務--如果你需要--還能實現你自己的 aspects。這個框架足夠強大,使得應用程序能夠拋開EJB的復雜性,同時享受著和傳統EJB相關的關鍵服務。Spring還提供了可以和IoC容器集成的強大而靈活的MVC Web框架。【SpringIDE:Eclipse平台下一個輔助開發插件】.
WebWork 【Java開源 Web框架】
WebWork 是由OpenSymphony組織開發的,致力於組件化和代碼重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,現在的WebWork2.x前身是Rickard Oberg開發的WebWork,但現在WebWork已經被拆分成了Xwork1和WebWork2兩個項目。 Xwork簡潔、靈活功能強大,它是一個標準的Command模式實現,並且完全從web層脫離出來。 Xwork提供了很多核心功能:前端攔截機(interceptor),運行時表單屬性驗證,類型轉換,強大的表達式語言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,處理HTTP的響應和請求。WebWork2使用ServletDispatcher將HTTP請求的變成 Action(業務層Action類), session(會話)application(應用程序)范圍的映射,request請求參數映射。WebWork2支持多視圖表示,視圖部分可以使用 JSP, Velocity, FreeMarker, JasperReports,XML等。在WebWork2.2中添加了對AJAX的支持,這支持是構建在DWR與Dojo這兩個框架的基礎之上.【EclipseWork:用於WebWork輔助開發的一個Eclipse插件】
Struts 【Java開源 Web框架】
Struts 是一個基於Sun J2EE平台的MVC框架,主要是採用Servlet和JSP技術來實現的。由於Struts能充分滿足應用開發的需求,簡單易用,敏捷迅速,在過去的一年中頗受關注。Struts把Servlet、JSP、自定義標簽和信息資源(message resources)整合到一個統一的框架中,開發人員利用其進行開發時不用再自己編碼實現全套MVC模式,極大的節省了時間,所以說Struts是一個非常不錯的應用框架。【StrutsIDE:用於Struts輔助開發的一個Eclipse插件】
Hibernate 【Java開源 持久層框架】
Hibernate 是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱資料庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序實用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。Eclipse平台下的Hibernate輔助開發工具:【Hibernate Synchronizer】【MiddlegenIDE】
Quartz 【Java開源 Job調度】
Quartz 是OpenSymphony開源組織在Job scheling領域又一個開源項目,它可以與J2EE與J2SE應用程序相結合也可以單獨使用。Quartz可以用來創建簡單或為運行十個,百個,甚至是好幾萬個Jobs這樣復雜的日程序表。Jobs可以做成標準的Java組件或 EJBs。Quartz的最新版本為Quartz 1.5.0。
Velocity 【Java開源 模板引擎】
Velocity 是一個基於java的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對象。當Velocity應用於web開發時,界面設計人員可以和java程序開發人員同步開發一個遵循MVC架構的web站點,也就是說,頁面設計人員可以只關注頁面的顯示效果,而由java程序開發人員關注業務邏輯編碼。Velocity將java代碼從web頁面中分離出來,這樣為web站點的長期維護提供了便利,同時也為我們在JSP和PHP之外又提供了一種可選的方案。 Velocity的能力遠不止web站點開發這個領域,例如,它可以從模板(template)產生SQL和PostScript、XML,它也可以被當作一個獨立工具來產生源代碼和報告,或者作為其他系統的集成組件使用。Velocity也可以為Turbine web開發架構提供模板服務(template service)。Velocity+Turbine提供一個模板服務的方式允許一個web應用以一個真正的MVC模型進行開發。 【VeloEclipse :Velocity在Eclipse平台下的一個輔助開發插件】
IBATIS 【Java開源 持久層框架】
使用ibatis 提供的ORM機制,對業務邏輯實現人員而言,面對的是純粹的Java對象, 這一層與通過Hibernate 實現ORM 而言基本一致,而對於具體的數據操作,Hibernate 會自動生成SQL 語句,而ibatis 則要求開發者編寫具體的SQL 語句。相對Hibernate等 「全自動」ORM機制而言,ibatis 以SQL開發的工作量和資料庫移植性上的讓步,為系統設計提供了更大的自由空間。作為「全自動」ORM 實現的一種有益補充,ibatis 的出現顯 得別具意義。
Compiere ERP&CRM 【Java開源ERP與CRM系統】
Compiere ERP&CRM為全球范圍內的中小型企業提供綜合型解決方案,覆蓋從客戶管理、供應鏈到財務管理的全部領域,支持多組織、多幣種、多會計模式、多成本計算、多語種、多稅制等國際化特性。易於安裝、易於實施、易於使用。只需要短短幾個小時,您就可以使用申購-采購-發票-付款、報價-訂單-發票-收款、產品與定價、資產管理、客戶關系、供應商關系、員工關系、經營業績分析等強大功能了。
Roller Weblogger 【Java開源 Blog博客】
這個weblogging 設計得比較精巧,源代碼是很好的學習資料。它支持weblogging應有的特性如:評論功能,所見即所得HTML編輯,TrackBack,提供頁面模板,RSS syndication,blogroll管理和提供一個XML-RPC 介面。
Eclipse 【Java開源 開發工具】
Eclipse平台是IBM向開放源碼社區捐贈的開發框架,它之所以出名並不是因為IBM宣稱投入開發的資金總數 —4千萬美元,而是因為如此巨大的投入所帶來的成果:一個成熟的、精心設計的以及可擴展的體系結構。
NetBeans 【Java開源 開發工具】
NetBeans IDE 是一個為軟體開發者提供的自由、開源的集成開發環境。您可以從中獲得您所需要的所有工具,用 Java、C/C++ 甚至是 Ruby 來創建專業的桌面應用程序、企業應用程序、web 和移動應用程序。此 IDE 可以在多種平台上運行,包括 Windows、Linux、Mac OS X 以及 Solaris;它易於安裝且非常方便使用。
XPlanner 【Java開源 項目管理】
XPlanner 一個基於Web的XP團隊計劃和跟蹤工具。XP獨特的開發概念如iteration、user stories等,XPlanner都提供了相對應的的管理工具,XPlanner支持XP開發流程,並解決利用XP思想來開發項目所碰到的問題。 XPlanner特點包括:簡單的模型規劃,虛擬筆記卡(Virtual note cards),iterations、user stories與工作記錄的追蹤,未完成stories將自動迭代,工作時間追蹤,生成團隊效率,個人工時報表,SOAP界面支持。
HSQLDB 【Java開源 DBMS資料庫】
HSQLDB(Hypersonic SQL)是純Java開發的關系型資料庫,並提供JDBC驅動存取數據。支持ANSI-92 標准 SQL語法。而且他占的空間很小。大約只有160K,擁有快速的資料庫引擎。
Liferay 【Java開源 Portal門戶】
代表了完整的J2EE應用,使用了Web、EJB以及JMS等技術,特別是其前台界面部分使用Struts 框架技術,基於XML的portlet配置文件可以自由地動態擴展,使用了Web Services來支持一些遠程信息的獲取,使用 Apahce Lucene實現全文檢索功能。
JetSpeed 【Java開源 Portal門戶】
Jetspeed 是一個開放源代碼的企業信息門戶(EIP)的實現,使用的技術是Java和XML。用戶可以使用瀏覽器,支持WAP協議的手機或者其它的設備訪問Jetspeed架設的信息門戶獲取信息。Jetspeed扮演著信息集中器的角色,它能夠把信息集中起來並且很容易地提供給用戶。
JOnAS 【Java開源 J2EE伺服器】
JOnAS 是一個開放源代碼的J2EE實現,在ObjectWeb協會中開發。整合了Tomcat或Jetty成為它的Web容器,以確保符合Servlet 2.3和JSP 1.2規范。JOnAS伺服器依賴或實現以下的Java API:JCA、JDBC、JTA 、JMS、JMX、JNDI、JAAS、JavaMail 。
JFox3.0 【Java開源 J2EE伺服器】
JFox 是 Open Source Java EE Application Server,致力於提供輕量級的Java EE應用伺服器,從3.0開始,JFox提供了一個支持模塊化的MVC框架,以簡化EJB以及Web應用的開發! 如果您正在尋找一個簡單、輕量、高效、完善的Java EE開發平台,那麼JFox正是您需要的。
B. 程序員2008精華本的目錄
人物&報道名人堂Perl的舞步迷亂了世界——Perl發明人Larry Wall Ray Ozzie——宇宙中最頂尖的程序員 預測未來不如創造未來——Smalltalk發明人Alan Kay MySpace的靈魂——湯姆?安德森和克里斯?德沃夫 Bit Torrent互聯網下載方式的革命——BT之父Bram Cohen 老人與海——IBM首席科學家Frank Soltis博士 程序員中的「鋼鐵俠」 二十世紀最偉大的企業家與架構師——比爾?蓋茨功成身退 Jeff Dean——為Google踩下加速踏板 游戲神話的締造者——邁克?莫懷米 有夢想精神的企業家與推銷天才——Larry Ellison 自由軟體之父——Richard Stallman 高端視點軟體企業:共同發展的「系統工程」 春天來了,SOA在哪裡? 不求國人買國貨,但求國貨迷國人 SOA與宋詞 從倫敦到北京我眼裡的軟體30年 如何保持低流動率? 「軟硬兼施」下的IT超移動化進程,准備好了嗎? 怎麼甄選優秀的程序員? 中國企業信息化之觀感 談PaaS對互聯網產業的影響 行動電話——生活的必需品 中國外包的五種模式 TD-SCDMA,繁榮還是消亡 用開放的態度迎接互聯網發展新階段 基於互聯網建立組織的基礎管理平台 培養管理意識,增強執行力 防病毒沒有百分百 開源需要創新 業務軟體安全保證——對抗網路犯罪的新技術 建立游戲產業核心競爭力 說清你的需求 共生與兼容 軟體外包,中國的機會與挑戰 企業信息化的80/20法則 如何成為技術領袖? 以技術大跨越實現經濟騰飛 誤事的外包 互聯網創業成功的要素 做好外包不容易 CPU不要錢,帶寬不要錢,軟體也不要錢 話說程序員的職業生涯 再論SNS的發展 擴展Scrum? 堅持開放不動搖 中國企業的自信與責任 網路社區新潮流:社交化、細分化、娛樂化 人物專訪 玩轉依賴注入——專訪依賴注入庫Guice之父Bob Lee 面向動態語言的IDE策略——CodeGear公司CEO Jim Douglas專訪 .NET垃圾收集器的過去現在和未來 打造最強大的Ruby on Rails開發團隊——ELC Technologies公司CEO Lex Sisney專訪 讓互聯網的魔法之光照亮中國——專訪W3C全球商務經理Mauro Nunez 從拍腦門到數據決策——締元信CTO楊海訪談 豆瓣的架構 掌握「精益」思維,提升軟體工藝——專訪ThoughtWorks中國區總經理 郭曉 資料庫技術就像陳年的酒,越老越香——記Fancy的資料庫寫意人生 我認為這是「白日夢」——Donald Knuth訪談錄 對話Martin Fowler與Roy Singham——第三屆「敏捷中國」技術大會專訪 Scott Guthrie談Silverlight 中國的圖靈之路 把握我們的優勢——漫談中國企業管理軟體 PHP之父訪談錄 打造360度的安全保護傘 「盛大在線」關鍵詞:開放——專訪盛大在線CTO梁建武 CTO是怎樣煉成的——專訪盛大游戲CTO朱繼盛 具有實踐精神的理論家:我們時代的達芬奇——高德納訪談錄 開源業務模型已經成熟——Sun軟體執行副總裁Rich Green談開源戰略 重建微軟成功模式——專訪微軟展現層平台與工具總經理Ian Ellison-Taylor 行業軟體開發縱橫談——專訪漢星天(中國)公司中華區CTO劉開陽 推開雲端計算的視窗——微軟互聯系統部門全球副總裁Robert Wahbe揭秘Azure服務平台 張亞勤:成功人要有五個素養——《微軟360度,成功與成長》圖書節選 特別報道用戶為本:瀏覽器的生存之道 瀏覽器:向Web標准看齊 山雨欲來——細述移動互聯網之手機瀏覽器 Monetization——MIX 08隨感 火花、火種、火炬——中國軟體外包企業創新觀察 誰是最受程序員歡迎的僱主?——CSDN 2007年度最受程序員歡迎僱主評選揭曉 良禽擇木而棲——《程序員》& CSDN「程序員發展指數大調查」分析報告 ThoughtWorks University取經記 拒絕盲人摸象——從指數看技術發展大勢 創業之路 從Google收購DoubleClick談起——我的追夢之旅 回首十年——從程序員到CTO 譯言:傳播和分享集體的智慧 我們喜歡做減法——亦歌播放器創作團隊專訪 像看在線影音一樣使用軟體——專訪雲端軟體平台創始團隊 做用戶真正需要的軟體——專訪IE伴侶創作團隊 做電子表單領域的YouTube——專訪KELEX電子表單創作團隊 成功創業占目標優先順序第3位——訪Screen Anytime創作人 訪軟體創新作品狂雷視頻平台主創團隊 讓電腦如積木般靈活——專訪積木在線電腦創作團隊 觀點寫SOP就是寫程序 程序員心中的許三多 視而不見需求 迎接外包產業新紀元 石光榮,黑客帝國,社會化網路——社會化網路能否平衡抽象主導的現代生活? 軟體考古學 老成員和骨幹成員應當怎麼管理? 實踐出真知 宮本茂的童心和喬布斯的叛逆——設計哲學背後的文化基因 移動+社會化:軟體的美麗新世界 大團隊的敏捷開發 招聘的藝術 軟體的病態性肥胖 從平台鎖定到服務黏性——軟體的交付模式變遷 世世代代當長工 「言程序」軟體的在線市集 Erlang:世界是平行的! 回顧:OpenSolaris 2008.05 做職業化的軟體工程師 基類與愚公移山 朋友們,讓我們把心放下 讓校園技術社團長久發展 GUI的開發瓶頸 北極星與系統架構 血性與狼性,產品經理與團隊的塑造 拉平的世界與站在十字路口的商務智能技術 GUI的開發方式 開發者社區:規模產生價值 Web不是平的 SaaS風暴來襲 Linux聖戰:序幕 不登長城,不知序為何物 更適合中小企業的Linux 定時不定量 「無窮大」與「老鼠會」 封面報道移動開發,第三次浪潮 迎接IT第三波:移動時代 創新源於興趣——Andy Rubin獨家專訪 Android組件模型評析 永遠在線,分享一切——迎接Mobile 2.0時代的來臨 用Android開發手機應用 Android中的XMPP應用 OpenMoko,解放你的手機 Windows Mobile加速企業工作流應用 技術盤點2007 2007中國軟體業的分水嶺 自由之劍再次升級——2007年自由軟體運動評述 Web技術2007盤點 回顧企業軟體2007,面向服務、面向交互 2007 Java技術回顧與展望 微軟2007技術回顧 亂花漸欲迷人眼——回顧動態語言的2007 軟體工程發展趨勢分析2007主流資料庫產品回顧與展望 機遇與競爭並存——2007年的嵌入式市場 2007信息安全技術與產業大盤點 2008年開發者的新挑戰 2007的10個焦點 尋找程序員職業上升的通道 蘋果是怎麼吃到的?——職業規劃,從了解自己開始 邁向系統架構師 程序員之路 創業規劃的六個關鍵詞 每個人都是自己的CEO 以業務為核心的行業專家 從「程序員」到「行業專家」 專注 職業規劃一家談 微軟2008攻略——寫在微軟三大產品發布時 邁向更大規模的伺服器 打造企業級資料庫 新開發工具的高峰 Windows Server 2008新特性及企業亮點 更大規模IT應用的運行平台Windows Server 2008 SQL Server 2008更上一層樓 快速締結數據與業務紐帶的SQL Server 2008 Visual Stuodio 2008一覽 體驗微軟新一代Web開發平台 微軟三大產品采購意向調查 下一代互聯網競爭格局 跨越鴻溝——Adobe的RIA戰略 改造微軟DNA——布局未來互聯網的下一個奇跡 谷從何來,歌向何去——Google產品策略分析調查:下一代互聯網鹿死誰手? 2008開源在中國說不盡的開源——記「開源在中國2008」研討會摸著石頭過河——記開源社區huihu.org 莫等閑,抬望雲和月 從一封信說起——記姜太文博士和他的XOOPS項目比開源更自由的存在——哲思自由軟體社區專訪解密淘寶網的開源架構 自由軟體和新浪網 項庄舞劍,意在沛公?——評國際軟體巨頭的開源策略 大企業如何助力開源讓漫天繁星在指尖隨心閃耀——專訪開源專家馬越開源商業模式介紹 與開源共成長ZK創始人葉明憲的開源進行時開源者說——一個開源項目貢獻者的自白開源離我們有多遠——中國開源現狀調查開源授權協議(License)初探 一個程序員談開源 OpenAPI解讀互聯網新趨勢OpenAPI出現、起源與現狀把握互聯網的下一次趨勢——「中國互聯網的OpenAPI」研討會選錄 當SNS遇見OpenAPI 全世界的信息,聯合起來!OpenSocial簡介AWS和GAE簡介中國「開放平台」和「OpenAPI」調查分析 互聯網暗潮洶涌,開放平台機遇空前——淺析開放平台發展趨勢的若干問題 OpenAPI的系統架構與運營 OpenAPI會帶來中國SNS網路的開放文化嗎? 令地圖無處不在——51ditu API 三十年河東 三十年河西——汶川地震信息匯總的OpenAPI實踐SAAS 2008中國進行時 建設SaaS的高速公路——「中國SaaS運營」研討會紀要 重新認識SaaS本質 SaaS的核心——服務 打造一條SaaS開發的生態鏈 淺析中國的SaaS用戶 SaaS:中小企業信息化的捷徑SaaS成熟度模型淺析 SaaS可信平台的搭建 從XToolsCRM談構建安全SaaS構架與互聯網共舞的SaaS PaaS展望未來的軟體交付模型阿里軟體借SaaS開創藍海——10億風險投資培育市場軟體工程四十年四十年軟體工程故事 軟體的未來 以實踐為本,集百家之長關注軟體工程的國際標准和人才標准 軟體工程與管理思想 軟體工程未來發展趨勢從軟體開發看中美文化的差異軟體工程的進化論 槍與玫瑰——三五個人十來條槍的軟體工程實踐軟體質量是生產出來的 軟體工程中的敏捷實踐 肩負歷史使命的IE 8 IE歷史技術分析IE 8安全特性 IE8應對互聯網新挑戰——訪微軟資深商業產品經理:Ryan A. Servatius Chrome產品經理Brian Rakowski訪談 Chrome光芒背後的秘密——Google Chrome瀏覽器源代碼初探 Mozilla——在雷火中永生的怪獸為何微軟對IE 8「又愛又恨」——專訪傲遊公司首席執行官陳明傑 「柔道」戰略解析Google戰勝微軟三部曲——專訪奇虎董事長周鴻禕山雨欲來風滿樓——雲計算趨勢一覽 自由軟體的雲計算觀——專訪自由軟體之父Richard Stallman 泛談雲計算的發展之路 何來雲計算?——IBM Tivoli軟體總經理Alfred Zollar專訪雲計算推廣的是互聯網新理念——專訪Google中國研究院副院長張智威雲計算還處於初級階段——專訪群碩軟體技術總監邵榮漫談雲計算 靜觀雲卷雲舒——Force.com雲計算解析Google構建我們身邊的雲計算 IBM雲計算和政府雲平台 雲深不知處——大規模分布式雲計算方案詳解雲計算中的存儲 向金融海嘯宣戰 經濟變局下的中國軟體產業七大趨勢 金融危機下本土軟體廠商更具競爭優勢 金融海嘯對中國IT培訓業的影響 用「堅持」抵禦風險用「變革」應對危機互聯網公司如何應戰全球「金融海嘯」 嚴冬中捕獲暖流——匯眾益智的危機觀 阿里軟體用SaaS為中小企業「破冰」 經濟危機與互聯網雙陰影下的IT出版實踐&架構實踐 網站類產品版本升級計劃和控制 我看CMMI 為什麼應該保留TOP 10 風險列表?白話CMMI 加班趕工,得不償失——歷史給你上六課例說精益思想 略談項目風險界定 CRTL:遊走於技術與業務之間——記趨勢科技中國區網路安全監測實驗室HTTP協議之前世今生——兼談網路應用結構設計高性能網頁開發新20條規則詳解頻繁更換結對之惑 風雨創業路——關於Web2.0站點的誤區和建議 在矩陣里遨遊的魚 從美式Scrum說起一家美國公司的Scrum敏捷項目記要與思考搭上MySpace聚友這班車RAF指標在量化項目管理中的應用 網站運維之道 如何搶奪歐美外包訂單?——以TEC主導歐美外包項目競標 愛敏捷,愛自由初探行為驅動開發 對日軟體外包開發中的雙PM模式團隊作業在大型軟體測試中的應用 乘時間機器,看敏捷旅程2009年10大戰略性技術 初探Rhino Mocks框架 實踐雲計算——基於Amazon Web Services的在線交易應用 精益軟體開發中的「庫存」 軟體工程戰地手記 敏捷是另一顆銀彈嗎? 只需要一份需求 有關敏捷的若干思考 需求分析 如何做好需求收集 用例有粒度嗎 搭建企業的需求收集平台CMMI幫你做需求 故事卡以外的故事:敏捷需求協作老圖新說話需求業界需求管理工具應用情況調研 需求捕獲中的「心理戰」需求溝通中的「乾坤大挪移」 開發故事 開源項目成功三要素興趣、堅持、社區 兩萬工作人日軟體的誕生——記用友A8產品的開發過程 奉獻,分享,開放——記北京Linux User Group 揭秘Windows醫生Mister Wong團隊如何應對Logo風波因為信任,所以簡單——專訪支付寶架構師團隊ThoughtWorks University取經記——技術真經篇 架構 從奧運訂票系統癱瘓說起——談FastCGI與IT架構.NET平台網站架構調優實踐點滴 SecondLife架構剖析 做人、做事,做架構師——架構師能力模型解析又拍網(Yupoo!)技術架構初探大規模服務設計部署經驗談 淺談Web圖片伺服器 Web架構師的能力 炫目的敏捷架構師 寫給Web2.0站長,不僅僅是潑冷水談談體育比賽的圖文直播 談SOA架構中使用Cache的過程 SaaS進銷存系統實戰架構分析 大型網站架構演變和知識體系 平衡的藝術——從菜鳥到架構師伺服器負載均衡架構之傳輸層負載均衡——伺服器集群的高擴展性和高可用性技術專區Boost.Function內核剖析面向對象與泛型編程矛盾論——類型擦除技術在C++中的應用C++平淡是真——寫在Stroustrup博士榮獲DDJ Excellence in Programming 2008之際 閑侃分析和設計透過概念看到本質手持設備的實時3D圖像 游戲程序中的骨骼插件游戲開發中的Scrum和長期項目規劃 游戲中的狀態機利用GPU進行高性能數據並行計算 iPhone和iPod Touch上的OpenGL ES技術從程序員的角度看CacheAdobe AIR平台的新世界:桌面與Web的大一統 從JFace Viewer框架看Eclipse的Pluggable Adapter模式 小議JavaScript庫——Dojo、jQuery和PrototypeJS的比較讓你的RCP應用程序運行在B/S架構上 安全編碼實踐:數據頁面保護 Web安全開發:SQL注入攻擊和網頁掛馬 跨站腳本XSS安全漏洞 初識Xquery Java前沿——Bill Shannon和Roberto Chinnici訪談錄初探OSGi 在大型遺留系統基礎上運作重構項目 從關系數據到樹形數據 從GC的角度看性能優化 設計即代碼——MDA開發實踐 敏捷與性能的博弈——Ruby on Rails Web development回答關於REST的十點疑問 談談網站靜態化Facebook應用開發之旅 函數編程之風雲再起Python性能優化經驗談面向語言編程——面向對象之後的革命多核時代,Erlang的時代 自由軟體運動:從創世紀到GNU GPL version 2 開源資料庫Sharding技術 思考函數式編程 關於「思考函數式編程」幾點注記Python中泛型函數應用案例 演算法擂台 《時間表達》解答 Cantor表解答 Cantor表與Kolmogorov復雜度 淺談演算法學習 采訪側記 微積分習題解答《網友聚會》解答 計算機圍棋新構想——專訪「深藍」之父許峰雄 《反轉棋盤》解答 《溢水魚缸》解答 《支援救災》解答 蒙特卡羅方法在計算機圍棋中的應用計算機圍棋夜話調試之劍調試:通向高手之路——調試之劍主持人訪談錄舉步維艱——如何調試顯示器點亮前的故障 權利移交——如何調試引導過程中的故障程序員百寶箱工具 Rails 2.0 新特性之View&Route淺析ActiveResource Rails 2.0中的調試 NIO網路開發設計實踐 基於MINA構建簡單高性能的NIO應用高性能的HTTP引擎——Grizzly主流源碼版本管理工具的特色淺析ClearCase應用實踐 交叉應用——軟體配置管理與知識產權審計 CVSTrac缺陷跟蹤系統 從SVN Trac開始中小團隊項目管理之路 通過ODP.NET 11g用Oracle Advanced Queue進行消息編程 白話工作流發展史開源工作流平台jBPM:過程組件模型與PVM關於WF的一些思考 基於業務模型的工作流 EOS中的工作流 做減法的二次開發平台 冬眠中的Erlang Erlang項目概覽Web伺服器Facebook的聊天系統 Jazz開發實踐Jazz產品評測感受 無廢話Erlang Erlang與Web開發 ErlyBird作者訪談錄——Erlang開發環境和應用前景自己動手寫IDE——NetBeans上Scala支持的實現 移動開發新勢力 Android Market模式的3G視角 程序之眼看iPhone 眾人拾柴火焰高——Moblin的發展之路 Scrum管理工具賞析 敏捷團隊協作的加速器——MingleScrumWorks,讓Scrum更敏捷 企業級虛擬化「硝煙四起」 VMWare VI3——企業級虛擬化的標桿 來自微軟的反擊——Microsoft Hyper-V開源社區帶來新天地——Xen與XenSource應用 話說IT治理 國土資源調查項目案例SOA的企業實踐從何而起 開源項目推薦 Xinc: 2.0 alpha version AJAX輕量級應用框架BuffaloHyperic HQ企業產品監控程序AJAX富客戶端web應用框架ZK FunFX 網上商店系統ECSHOPehcachexRuby jNetStream Protocol Decoder XAMPP WinSCP MediaCoder Concrete5 Notepad++ Shareaza EasyJWeb 創新項目推薦 書評 2007年度圖書:技術趨勢晴雨表 Head First設計模式——Head First Design Patterns SOA權威指南The Definitive Guide to SOA從細微之處見大師精神——評《C陷阱與缺陷(第二版)》 說說《HTML之路》這本書 優秀程序員的警示牌 ActionScript 3書評 Flex三味書屋——我喜歡的三本Flex圖書 新產品&工具
C. 容器,組件與框架是什麼
組件是抽象的概念而已,通俗的說是一些符合某種規范的類組合在一起就構成了組件。他可以提供某些特定的功能。
拿J2EE來說,有什麼servlet,jsp, javabean,ejb都是組件。但實際他們都是類,只不過有他們特殊的規定。
舉個例子,那個javabean來說:
javabean也就是個類,但你的類想成為javabean你必須,給你的類里的變數 (如xxx),添兩個函數,getXxx()和setXxx()並且類里要有無參的構造函數。
有了這些就是JAVABEAN了。
什麼是框架那,用《設計模式》中的定義來說就是,框架是構成一類特定軟體可復用設計的一組相互協作的類,。。。框架規定了你的應用程序的體系結構。它定義了整體結構,類和對象的分割,各部分的主要責任,類和對象怎麼協作,以及控制流程。
框架實現了對具體實現細節的 反向控制(IOC),實現者無須考慮框架層已經實現好的設計,只要按照框架的要求開發就可以了,然後把開發好的東西放到框架中就可以了。框架其實就是一組組件,供你選用完成你自己的系統。簡單說就是使用別人搭好的舞台,你來做表演。而且,框架一般是成熟的,不斷升級的軟體。
比如Struts框架就是一組相互協作的類、servlet 和 JSP 標記組成的一個可重用的 MVC設計。它有自己實現好的模型,視圖,控制器。
所謂容器就是指符合一定的規范能提供一系列服務的管理器,方便別人使用它來完成一系列的功能
例如tomcat,使用tomcat可以為我們提供servlet.jsp等服務,我們俗稱叫servlet伺服器,在伺服器中會有相關的容器,servlet容器可以調用servlet和jsp動態的為我們生成html
對於剛剛接觸的人來說,可以把伺服器就理解成一個容器也可以,不過兩者的確不是一回事,是伺服器為我們提供一個容器使我們的程序能夠在容器里運行使用伺服器提供的一系列功能
D. GitHub上面有哪些經典的java框架源碼
Bazel:來自Google的構建工具,可以快速、可靠地構建代碼。官網
Gradle:使用Groovy(非XML)進行增量構建,可以很好地與Maven依賴管理配合工作。官網
Buck:Facebook構建工具。官網
位元組碼操作
編程方式操作位元組碼的開發庫。
ASM:通用底層位元組碼操作和分析開發庫。官網
Byte Buddy:使用流式API進一步簡化位元組碼生成。官網
Byteman:在運行時通過DSL(規則)操作位元組碼進行測試和故障排除。官網
Javassist:一個簡化位元組碼編輯嘗試。官網
集群管理
在集群內動態管理應用程序的框架。
Apache Aurora:Apache Aurora是一個Mesos框架,用於長時間運行服務和定時任務(cron job)。官網
Singularity:Singularity是一個Mesos框架,方便部署和操作。它支持Web Service、後台運行、調度作業和一次性任務。官網
代碼分析
測量代碼指標和質量工具。
Checkstyle:代碼編寫規范和標准靜態分析工具。官網
Error Prone:將常見編程錯誤作為運行時錯誤報告。官網
FindBugs:通過位元組碼靜態分析查找隱藏bug。官網
jQAssistant:使用基於Neo4J查詢語言進行代碼靜態分析。官網
PMD:對源代碼分析查找不良的編程習慣。官網
SonarQube:通過插件集成其它分析組件,對過去一段時間內的數據進行統計。官網
編譯器生成工具
用來創建解析器、解釋器或編譯器的框架。
ANTLR:復雜的全功能自頂向下解析框架。官網
JavaCC:JavaCC是更加專門的輕量級工具,易於上手且支持語法超前預測。官網
外部配置工具
支持外部配置的開發庫。
config:針對JVM語言的配置庫。官網
owner:減少冗餘配置屬性。官網
約束滿足問題求解程序
幫助解決約束滿足問題的開發庫。
Choco:可直接使用的約束滿足問題求解程序,使用了約束規劃技術。官網
JaCoP:為FlatZinc語言提供了一個介面,可以執行MiniZinc模型。官網
OptaPlanner:企業規劃與資源調度優化求解程序。官網
Sat4J:邏輯代數與優化問題最先進的求解程序。官網
持續集成
Bamboo:Atlassian解決方案,可以很好地集成Atlassian的其他產品。可以選擇開源許可,也可以購買商業版。官網
CircleCI:提供託管服務,可以免費試用。官網
Codeship:提供託管服務,提供有限的免費模式。官網
fabric8:容器集成平台。官網
Go:ThoughtWork開源解決方案。官網
Jenkins:支持基於伺服器的部署服務。官網
TeamCity:JetBrain的持續集成解決方案,有免費版。官網
Travis:通常用作開源項目的託管服務。官網
Buildkite: 持續集成工具,用簡單的腳本就能設置pipeline,而且能快速構建,可以免費試用。官網
CSV解析
簡化CSV數據讀寫的框架與開發庫
uniVocity-parsers:速度最快功能最全的CSV開發庫之一,同時支持TSV與固定寬度記錄的讀寫。官網
資料庫
簡化資料庫交互的相關工具。
Apache Phoenix:HBase針對低延時應用程序的高性能關系資料庫層。官網
Crate:實現了數據同步、分片、縮放、復制的分布式數據存儲。除此之外還可以使用基於SQL的語法跨集群查詢。官網
Flyway:簡單的資料庫遷移工具。官網
H2:小型SQL資料庫,以可以作為內存資料庫使用著稱。官網
HikariCP:高性能JDBC連接工具。官網
JDBI:便捷的JDBC抽象。官網
Protobuf:Google數據交換格式。官網
SBE:簡單二進制編碼,是最快速的消息格式之一。官網
Wire:整潔輕量級協議緩存。官網
幫實現依賴翻轉範式的開發庫。官網
Apache DeltaSpike:CDI擴展框架。官網
Dagger2:編譯時注入框架,不需要使用反射。官網
Guice:可以匹敵Dagger的輕量級注入框架。官網
HK2:輕量級動態依賴注入框架。官網
開發流程增強工具
從最基本的層面增強開發流程。
ADT4J:針對代數數據類型的JSR-269代碼生成器。官網
AspectJ:面向切面編程(AOP)的無縫擴展。官網
Auto:源代碼生成器集合。官網
DCEVM:通過修改JVM在運行時支持對已載入的類進行無限次重定義。官網
HotswapAgent:支持無限次重定義運行時類與資源。官網
Immutables:類似Scala的條件類。官網
JHipster:基於Spring Boot與AngularJS應用程序的Yeoman源代碼生成器。官網
JRebel:無需重新部署,可以即時重新載入代碼與配置的商業軟體。官網
Lombok:減少冗餘的代碼生成器。官網
Spring Loaded:類重載代理。官網
vert.x:多語言事件驅動應用框架。官網
分布式應用
用來編寫分布式容錯應用的開發庫和框架。
Akka:用來編寫分布式容錯並發事件驅動應用程序的工具和運行時。官網
Apache Storm:實時計算系統。官網
Apache ZooKeeper:針對大型分布式系統的協調服務,支持分布式配置、同步和名稱注冊。官網
Hazelcast:高可擴展內存數據網格。官網
Hystrix:提供延遲和容錯。官網
JGroups:提供可靠的消息傳遞和集群創建的工具。官網
Orbit:支持虛擬角色(Actor),在傳統角色的基礎上增加了另外一層抽象。官網
Quasar:為JVM提供輕量級線程和角色。官網
分布式資料庫
對應用程序而言,在分布式系統中的資料庫看起來就像是只有一個數據源。
Apache Cassandra:列式資料庫,可用性高且沒有單點故障。官網
Apache HBase:針對大數據的Hadoop資料庫。官網
Druid:實時和歷史OLAP數據存儲,在聚集查詢和近似查詢方面表現不俗。官網
Infinispan:針對緩存的高並發鍵值對數據存儲。官網
發布
以本機格式發布應用程序的工具。
Bintray:發布二進制文件版本控制工具。可以於Maven或Gradle一起配合使用。提供開源免費版本和幾種商業收費版本。官網
Central Repository:最大的二進制組件倉庫,面向開源社區提供免費服務。Apache Maven默認使用Central官網Repository,也可以在所有其他構建工具中使用。
IzPack:為跨平台部署建立創作工具(Authoring Tool)。官網
JitPack:打包GitHub倉庫的便捷工具。可根據需要構建Maven、Gradle項目,發布可立即使用的組件。官網
Launch4j:將JAR包裝為輕量級本機Windows可執行程序。官網
Nexus:支持代理和緩存功能的二進制管理工具。官網
packr:將JAR、資源和JVM打包成Windows、Linux和Mac OS X本地發布文件。官網
文檔處理工具
處理Office文檔的開發庫。
Apache POI:支持OOXML規范(XLSX、DOCX、PPTX)以及OLE2規范(XLS、DOC、PPT)。官網
documents4j:使用第三方轉換器進行文檔格式轉換,轉成類似MS Word這樣的格式。官網
jOpenDocument:處理OpenDocument格式(由Sun公司提出基於XML的文檔格式)。官網
函數式編程
函數式編程支持庫。
Cyclops:支持一元(Monad)操作和流操作工具類、comprehension(List語法)、模式匹配、trampoline等特性。官網
Fugue:Guava的函數式編程擴展。官網
Functional Java:實現了多種基礎和高級編程抽象,用來輔助面向組合開發(composition-oriented development)。官網
Javaslang:一個函數式組件庫,提供持久化數據類型和函數式控制結構。官網
jOOλ:旨在填補Java 8 lambda差距的擴展,提供了眾多缺失的類型和一組豐富的順序流API。官網
游戲開發
游戲開發框架。
jMonkeyEngine:現代3D游戲開發引擎。官網
libGDX:全面的跨平台高級框架。官網
LWJGL:對OpenGL/CL/AL等技術進行抽象的健壯框架。官網
GUI
現代圖形化用戶界面開發庫。
JavaFX:Swing的後繼者。官網
Scene Builder:開發JavaFX應用的可視化布局工具。官網
高性能計算
涵蓋了從集合到特定開發庫的高性能計算相關工具。
Agrona:高性能應用中常見的數據結構和工具方法。官網
Disruptor:線程間消息傳遞開發庫。官網
fastutil:快速緊湊的特定類型集合(Collection)。官網
GS Collections:受Smalltalk啟發的集合框架。官網
HPPC:基礎類型集合。官網
Javolution:實時和嵌入式系統的開發庫。官網
JCTools:JDK中缺失的並發工具。官網
Koloboke:Hash set和hash map。官網
Trove:基礎類型集合。官網
High-scale-bli:Cliff Click 個人開發的高性能並發庫官網
IDE
簡化開發的集成開發環境。
Eclipse:老牌開源項目,支持多種插件和編程語言。官網
IntelliJ IDEA:支持眾多JVM語言,是安卓開發者好的選擇。商業版主要針對企業客戶。官網
NetBeans:為多種技術提供集成化支持,包括Java SE、Java EE、資料庫訪問、HTML5
Imgscalr:純Java 2D實現,簡單、高效、支持硬體加速的圖像縮放開發庫。官網
Picasso:安卓圖片下載和圖片緩存開發庫。官網
Thumbnailator:Thumbnailator是一個高質量Java縮略圖開發庫。官網
ZXing:支持多種格式的一維、二維條形碼圖片處理開發庫。官網
im4java: 基於ImageMagick或GraphicsMagick命令行的圖片處理開發庫,基本上ImageMagick能夠支持的圖片格式和處理方式都能夠處理。官網
Apache Batik:在Java應用中程序以SVG格式顯示、生成及處理圖像的工具集,包括SVG解析器、SVG生成器、SVG DOM等模塊,可以集成使用也可以單獨使用,還可以擴展自定義的SVG標簽。官網
JSON
簡化JSON處理的開發庫。
Genson:強大且易於使用的Java到JSON轉換開發庫。官網
Gson:谷歌官方推出的JSON處理庫,支持在對象與JSON之間雙向序列化,性能良好且可以實時調用。官網
Jackson:與GSON類似,在頻繁使用時性能更佳。官網
LoganSquare:基於Jackson流式API,提供對JSON解析和序列化。比GSON與Jackson組合方式效果更好。官網
Fastjson:一個Java語言編寫的高性能功能完善的JSON庫。官網
Kyro:快速、高效、自動化的Java對象序列化和克隆庫。官網
JVM與JDK
目前的JVM和JDK實現。
JDK 9:JDK 9的早期訪問版本。官網
OpenJDK:JDK開源實現。官網
基於JVM的語言
除Java外,可以用來編寫JVM應用程序的編程語言。
Scala:融合了面向對象和函數式編程思想的靜態類型編程語言。官網
Groovy:類型可選(Optionally typed)的動態語言,支持靜態類型和靜態編譯。目前是一個Apache孵化器項目。官網
Clojure:可看做現代版Lisp的動態類型語言。官網
Ceylon:RedHat開發的面向對象靜態類型編程語言。官網
Kotlin:JetBrain針對JVM、安卓和瀏覽器提供的靜態類型編程語言。官網
Xtend:一種靜態編程語言,能夠將其代碼轉換為簡潔高效的Java代碼,並基於JVM運行。官網
日誌
記錄應用程序行為日誌的開發庫。
Apache Log4j 2:使用強大的插件和配置架構進行完全重寫。官網
kibana:分析及可視化日誌文件。官網
Logback:強健的日期開發庫,通過Groovy提供很多有趣的選項。官網
logstash:日誌文件管理工具。官網
Metrics:通過JMX或HTTP發布參數,並且支持存儲到資料庫。官網
SLF4J:日誌抽象層,需要與具體的實現配合使用。官網
機器學習
提供具體統計演算法的工具。其演算法可從數據中學習。
Apache Flink:快速、可靠的大規模數據處理引擎。官網
Apache Hadoop:在商用硬體集群上用來進行大規模數據存儲的開源軟體框架。官網
Apache Mahout:專注協同過濾、聚類和分類的可擴展演算法。官網
Apache Spark:開源數據分析集群計算框架。官網
DeepDive:從非結構化數據建立結構化信息並集成到已有資料庫的工具。官網
Deeplearning4j:分布式多線程深度學習開發庫。官網
H2O:用作大數據統計的分析引擎。官網
Weka:用作數據挖掘的演算法集合,包括從預處理到可視化的各個層次。官網
QuickML:高效機器學習庫。官網、GitHub
消息傳遞
在客戶端之間進行消息傳遞,確保協議獨立性的工具。
Aeron:高效可擴展的單播、多播消息傳遞工具。官網
Apache ActiveMQ:實現JMS的開源消息代理(broker),可將同步通訊轉為非同步通訊。官網
Apache Camel:通過企業級整合模式(Enterprise Integration Pattern EIP)將不同的消息傳輸API整合在一起。官網
Apache Kafka:高吞吐量分布式消息系統。官網
Hermes:快速、可靠的消息代理(Broker),基於Kafka構建。官網
JBoss HornetQ:清晰、准確、模塊化,可以方便嵌入的消息工具。官網
JeroMQ:ZeroMQ的純Java實現。官網
Smack:跨平台XMPP客戶端函數庫。官網
Openfire:是開源的、基於XMPP、採用Java編程語言開發的實時協作伺服器。 Openfire安裝和使用都非常簡單,並可利用Web界面進行管理。官網GitHub
Spark:是一個開源,跨平台IM客戶端。它的特性支持集組聊天,電話集成和強大安全性能。如果企業內部部署IM使用Openfire+Spark是最佳的組合。官網GitHub
Tigase: 是一個輕量級的可伸縮的 Jabber/XMPP 伺服器。無需其他第三方庫支持,可以處理非常高的復雜和大量的用戶數,可以根據需要進行水平擴展。官網
雜項
未分類其它資源。
Design Patterns:實現並解釋了最常見的設計模式。官網
Jimfs:內存文件系統。官網
Lanterna:類似curses的簡單console文本GUI函數庫。官網
LightAdmin:可插入式CRUD UI函數庫,可用來快速應用開發。官網
OpenRefine:用來處理混亂數據的工具,包括清理、轉換、使用Web Service進行擴展並將其關聯到資料庫。官網
RoboVM:Java編寫原生iOS應用。官網
Quartz:強大的任務調度庫.官網
應用監控工具
監控生產環境中應用程序的工具。
AppDynamics:性能監測商業工具。官網
JavaMelody:性能監測和分析工具。官網
Kamon:Kamon用來監測在JVM上運行的應用程序。官網
New Relic:性能監測商業工具。官網
SPM:支持對JVM應用程序進行分布式事務追蹤的性能監測商業工具。官網
Takipi:產品運行時錯誤監測及調試商業工具。官網
原生開發庫
用來進行特定平台開發的原生開發庫。
JNA:不使用JNI就可以使用原生開發庫。此外,還為常見系統函數提供了介面。官網
自然語言處理
用來專門處理文本的函數庫。
Apache OpenNLP:處理類似分詞等常見任務的工具。官網
CoreNLP:斯坦佛CoreNLP提供了一組基礎工具,可以處理類似標簽、實體名識別和情感分析這樣的任務。官網
LingPipe:一組可以處理各種任務的工具集,支持POS標簽、情感分析等。官網
Mallet:統計學自然語言處理、文檔分類、聚類、主題建模等。官網
網路
網路編程函數庫。
Async Http Client:非同步HTTP和WebSocket客戶端函數庫。官網
Grizzly:NIO框架,在Glassfish中作為網路層使用。官網
Netty:構建高性能網路應用程序開發框架。官網
OkHttp:一個Android和Java應用的HTTP+SPDY客戶端。官網
Undertow:基於NIO實現了阻塞和非阻塞API的Web伺服器,在WildFly中作為網路層使用。官網
ORM
處理對象持久化的API。
Ebean:支持快速數據訪問和編碼的ORM框架。官網
EclipseLink:支持許多持久化標准,JPA、JAXB、JCA和SDO。官網
Hibernate:廣泛使用、強健的持久化框架。Hibernate的技術社區非常活躍。官網
MyBatis:帶有存儲過程或者SQL語句的耦合對象(Couples object)。官網
OrmLite:輕量級開發包,免除了其它ORM產品中的復雜性和開銷。官網
Nutz:另一個SSH。官網,Github
JFinal:JAVA WEB + ORM框架。官網,Github
用來幫助創建PDF文件的資源。
Apache FOP:從XSL-FO創建PDF。官網
Apache PDFBox:用來創建和操作PDF的工具集。官網
DynamicReports:JasperReports的精簡版。官網
flyingsaucer:XML/XHTML和CSS 2.1渲染器。官網
iText:一個易於使用的PDF函數庫,用來編程創建PDF文件。注意,用於商業用途時需要許可證。官網
JasperReports:一個復雜的報表引擎。官網
性能分析
性能分析、性能剖析及基準測試工具。
jHiccup:提供平台中JVM暫停的日誌和記錄。官網
JMH:JVM基準測試工具。官網
JProfiler:商業分析器。官網
LatencyUtils:測量和報告延遲的工具。官網
VisualVM:對運行中的應用程序信息提供了可視化界面。官網
YourKit Java Profiler:商業分析器。官網
響應式開發庫
用來開發響應式應用程序的開發庫。
Reactive Streams:非同步流處理標准,支持非阻塞式反向壓力(backpressure)。官網
Reactor:構建響應式快速數據(fast-data)應用程序的開發庫。官網
RxJava:通過JVM可觀察序列(observable sequence)構建非同步和基於事件的程序。官網
REST框架
用來創建RESTful 服務的框架。
Dropwizard:偏向於自己使用的Web框架。用來構建Web應用程序,使用了Jetty、Jackson、Jersey和Metrics。官網
Feign:受Retrofit、JAXRS-2.0和WebSocket啟發的HTTP客戶端連接器(binder)。官網
Jersey:JAX-RS參考實現。官網
RESTEasy:經過JAX-RS規范完全認證的可移植實現。官網
RestExpress:一個Java類型安全的REST客戶端。官網
RestX:基於註解處理和編譯時源碼生成的框架。官網
Retrofit:類型安全的REST客戶端。官網
Spark:受到Sinatra啟發的Java REST框架。官網
Swagger:Swagger是一個規范且完整的框架,提供描述、生產、消費和可視化RESTful Web Service。官網
Blade:國人開發的一個輕量級的MVC框架. 它擁有簡潔的代碼,優雅的設計。官網
科學計算與分析
用於科學計算和分析的函數庫。
DataMelt:用於科學計算、數據分析及數據可視化的開發環境。官網
JGraphT:支持數學圖論對象和演算法的圖形庫。官網
JScience:用來進行科學測量和單位的一組類。官網
搜索引擎
文檔索引引擎,用於搜索和分析。
Apache Solr:一個完全的企業搜索引擎。為高吞吐量通信進行了優化。官網
Elasticsearch:一個分布式、支持多租戶(multitenant)全文本搜索引擎。提供了RESTful Web介面和無schema的JSON文檔。官網
Apache Lucene:是一個開放源代碼的全文檢索引擎工具包,是一個全文檢索引擎的架構,提供了完整的查詢引擎和索引引擎,部分文本分析引擎。官網
安全
用於處理安全、認證、授權或會話管理的函數庫。
Apache Shiro:執行認證、授權、加密和會話管理。官網
Bouncy Castle,涵蓋了從基礎的幫助函數到PGP/SMIME操作。官網:多途加密開發庫。支持JCA提供者(JCA provider)
Cryptomator:在雲上進行客戶端跨平台透明加密。官網
Keycloak:為瀏覽器應用和RESTful Web Service集成SSO和IDM。目前還處於beta版本,但是看起來非常有前途。官網
PicketLink:PicketLink是一個針對Java應用進行安全和身份認證管理的大型項目(Umbrella Project)。官網
序列化
用來高效處理序列化的函數庫。
FlatBuffers:高效利用內存的序列化函數庫,無需解包和解析即可高效訪問序列化數據。官網
Kryo:快速、高效的對象圖形序列化框架。官網
FST:提供兼容JDK的高性能對象圖形序列化。官網
MessagePack:一種高效的二進制序列化格式。官網
應用伺服器
用來部署應用程序的伺服器。
Apache Tomcat:針對Servlet和JSP的應用伺服器,健壯性好且適用性強。官網
Apache TomEE:Tomcat加Java EE。官網
Jetty:輕量級、小巧的應用伺服器,通常會嵌入到項目中。官網
WebSphere Liberty:輕量級、模塊化應用伺服器,由IBM開發。官網
WildFly:之前被稱作JBoss,由Red Hat開發。支持很多Java EE功能。官網
模板引擎
在模板中替換表達式的工具。
Apache Velocity:提供HTML頁面模板、email模板和通用開源代碼生成器模板。官網
FreeMarker:通用模板引擎,不需要任何重量級或自己使用的依賴關系。官網
Handlebars.java:使用Java編寫的模板引擎,邏輯簡單,支持語義擴展(semantic Mustache)。官網
Thymeleaf:旨在替換JSP,支持XML文件的工具。官網
測試
測試內容從對象到介面,涵蓋性能測試和基準測試工具。
Apache JMeter:功能性測試和性能評測。官網
Arquillian:集成測試和功能行測試平台,集成Java EE容器。官網
AssertJ:支持流式斷言提高測試的可讀性。官網
Awaitility:用來同步非同步操作的DSL。官網
Cucumber:BDD測試框架。官網
Gatling:設計為易於使用、可維護的和高性能負載測試工具。官網
Hamcrest:可用來靈活創建意圖(intent)表達式的匹配器。官網
JMockit:用來模擬靜態、final方法等。官網
JUnit:通用測試框架。官網
Mockito:在自動化單元測試中創建測試對象,為TDD或BDD提供支持。官網
PowerMock: 支持模擬靜態方法、構造函數、final類和方法、私有方法以及移除靜態初始化器的模擬工具。官網
REST Assured:為REST/HTTP服務提供方便測試的Java DSL。官網
Selenide:為Selenium提供精準的周邊API,用來編寫穩定且可讀的UI測試。官網
Selenium:為Web應用程序提供可移植軟體測試框架。官網
Spock:JUnit-compatible framework featuring an expressive Groovy-derived specification language.官網兼容JUnit框架,支持衍生的Groovy范的語言。
TestNG:測試框架。官網
Truth:Google的斷言和命題(proposition)框架。官網
Unitils:模塊化測試函數庫,支持單元測試和集成測試。官網
WireMock:Web Service測試樁(Stub)和模擬函數。官網
通用工具庫
通用工具類函數庫。
Apache Commons:提供各種用途的函數,比如配置、驗證、集合、文件上傳或XML處理等。官網
args4j:命令行參數解析器。官網
CRaSH:為運行進行提供CLI。官網
Gephi:可視化跨平台網路圖形化操作程序。官網
Guava:集合、緩存、支持基本類型、並發函數庫、通用註解、字元串處理、I/O等。官網
JADE:構建、調試多租戶系統的框架和環境。官網
javatuples:正如名字表示的那樣,提供tuple支持。盡管目前tuple的概念還有留有爭議。官網
JCommander:命令行參數解析器。官網
Protégé:提供存在論(ontology)編輯器以及構建知識系統的框架。官網
網路爬蟲
用於分析網站內容的函數庫。
Apache Nutch:可用於生產環境的高度可擴展、可伸縮的網路爬蟲。官網
Crawler4j:簡單的輕量級網路爬蟲。官網
JSoup:刮取、解析、操作和清理HTML。官網
Web框架
用於處理Web應用程序不同層次間通訊的框架。
Apache Tapestry:基於組件的框架,使用Java創建動態、強健的、高度可擴展的Web應用程序。官網
Apache Wicket:基於組件的Web應用框架,與Tapestry類似帶有狀態顯示GUI。官網
Google Web Toolkit:一組Web開發工具集,包含在客戶端將Java代碼轉為JavaScript的編譯器、XML解析器、RCP官網API、JUnit集成、國際化支持和GUI控制項。
Grails:Groovy框架,旨在提供一個高效開發環境,使用約定而非配置、沒有XML並支持混入(mixin)。官網
Ninja:Java全棧Web開發框架。非常穩固、快速和高效。官網
Pippo:小型、高度模塊化的類Sinatra框架。官網
Play:使用約定而非配置,支持代碼熱載入並在瀏覽器中顯示錯誤。官網
PrimeFaces:JSF框架,提供免費和帶支持的商業版本。包括若干前端組件。官網
Ratpack:一組Java開發函數庫,用於構建快速、高效、可擴展且測試完備的HTTP應用程序。官網
Spring Boot:微框架,簡化了Spring新程序的開發過程。官網
Spring:旨在簡化Java EE的開發過程,提供依賴注入相關組件並支持面向切面編程。官網
Vaadin:基於GWT構建的事件驅動框架。使用服務端架構,客戶端使用Ajax。官網
Blade:國人開發的一個輕量級的MVC框架. 它擁有簡潔的代碼,優雅的設計。官網
業務流程管理套件
流程驅動的軟體系統構建。
jBPM:非常靈活的業務流程管理框架,致力於構建開發與業務分析人員之間的橋梁。官網
Activity:輕量級工作流和業務流程管理框架。官網github
資源
社區