❶ activemq哪個版本沒有springframework
類似於jdbcTemplate,首先要配置一個ConnectionFactory,我們採用ActiveMQ5.2作為消息伺服器。之後要開始配置JmsTemplate模板了。最後是配置消息目標了。消息分為隊列和主題兩大類,因此要配置兩個消息目標了。 java代碼 1.以下是引用片段: 2. ...
❷ jdk1.5 能使用哪個版本的activemq
JDK1.6主要增加了一些易用的API即類(介面),語言本身方面(語法修改)不大,主要還是繼續發揮JDK1.5泛型、註解的優勢。這個沒法精簡,因為這些點都很零碎:一:Desktop類和SystemTray類在JDK6中,AWT新增加了兩個類:Desktop和SystemTray。前者可以用來打開系統默認瀏覽器瀏覽指定的URL,打開系統默認郵件客戶端給指定的郵箱發郵件,用默認應用程序打開或編輯文件(比如,用記事本打開以txt為後綴名的文件),用系統默認的列印機列印文檔;後者可以用來在系統托盤區創建一個托盤程序.二:使用JAXB2來實現對象與XML之間的映射JAXB是JavaArchitectureforXMLBinding的縮寫,可以將一個Java對象轉變成為XML格式,反之亦然。我們把對象與關系資料庫之間的映射稱為ORM,其實也可以把對象與XML之間的映射稱為OXM(ObjectXMLMapping).原來JAXB是JavaEE的一部分,在JDK6中,SUN將其放到了JavaSE中,這也是SUN的一貫做法。JDK6中自帶的這個JAXB版本是2.0,比起1.0(JSR31)來,JAXB2(JSR222)用JDK5的新特性Annotation來標識要作綁定的類和屬性等,這就極大簡化了開發的工作量。實際上,在JavaEE5.0中,EJB和WebServices也通過Annotation來簡化開發工作。另外,JAXB2在底層是用StAX(JSR173)來處理XML文檔。除了JAXB之外,我們還可以通過XMLBeans和Castor等來實現同樣的功能。三:理解StAXStAX(JSR173)是JDK6.0中除了DOM和SAX之外的又一種處理XML文檔的API。StAX的來歷:在JAXP1.3(JSR206)有兩種處理XML文檔的方法:DOM(DocumentObjectModel)和SAX(SimpleAPIforXML).由於JDK6.0中的JAXB2(JSR222)和JAX-WS2.0(JSR224)都會用到StAX所以Sun決定把StAX加入到JAXP家族當中來,並將JAXP的版本升級到1.4(JAXP1.4是JAXP1.3的維護版本).JDK6裡面JAXP的版本就是1.4.。StAX是TheStreamingAPIforXML的縮寫,一種利用拉模式解析(pull-parsing)XML文檔的API.StAX通過提供一種基於事件迭代器(Iterator)的API讓程序員去控制xml文檔解析過程,程序遍歷這個事件迭代器去處理每一個解析事件,解析事件可以看做是程序拉出來的,也就是程序促使解析器產生一個解析事件然後處理該事件,之後又促使解析器產生下一個解析事件,如此循環直到碰到文檔結束符;SAX也是基於事件處理xml文檔,但卻是用推模式解析,解析器解析完整個xml文檔後,才產生解析事件,然後推給程序去處理這些事件;DOM採用的方式是將整個xml文檔映射到一顆內存樹,這樣就可以很容易地得到父節點和子結點以及兄弟節點的數據,但如果文檔很大,將會嚴重影響性能。四:使用CompilerAPI現在我們可以用JDK6的CompilerAPI(JSR199)去動態編譯Java源文件,CompilerAPI結合反射功能就可以實現動態的產生Java代碼並編譯執行這些代碼,有點動態語言的特徵。這個特性對於某些需要用到動態編譯的應用程序相當有用,比如JSPWebServer,當我們手動修改JSP後,是不希望需要重啟WebServer才可以看到效果的,這時候我們就可以用CompilerAPI來實現動態編譯JSP文件,當然,現在的JSPWebServer也是支持JSP熱部署的,現在的JSPWebServer通過在運行期間通過Runtime.exec或ProcessBuilder來調用javac來編譯代碼,這種方式需要我們產生另一個進程去做編譯工作,不夠優雅而且容易使代碼依賴與特定的操作系統;CompilerAPI通過一套易用的標準的API提供了更加豐富的方式去做動態編譯,而且是跨平台的。五:輕量級HttpServerAPIJDK6提供了一個簡單的HttpServerAPI,據此我們可以構建自己的嵌入式HttpServer,它支持Http和Https協議,提供了HTTP1.1的部分實現,沒有被實現的那部分可以通過擴展已有的HttpServerAPI來實現,程序員必須自己實現HttpHandler介面,HttpServer會調用HttpHandler實現類的回調方法來處理客戶端請求,在這里,我們把一個Http請求和它的響應稱為一個交換,包裝成HttpExchange類,HttpServer負責將HttpExchange傳給HttpHandler實現類的回調方法.六:插入式註解處理API()插入式註解處理API(JSR269)提供一套標准API來處理Annotations(JSR175)實際上JSR269不僅僅用來處理Annotation,我覺得更強大的功能是它建立了Java語言本身的一個模型,它把method,package,constructor,type,variable,enum,annotation等Java語言元素映射為Types和Elements(兩者有什麼區別?),從而將Java語言的語義映射成為對象,我們可以在javax.lang.model包下面可以看到這些類.所以我們可以利用JSR269提供的API來構建一個功能豐富的元編程(metaprogramming)環境.JSR269用AnnotationProcessor在編譯期間而不是運行期間處理Annotation,AnnotationProcessor相當於編譯器的一個插件,所以稱為插入式註解處理.如果AnnotationProcessor處理Annotation時(執行process方法)產生了新的Java代碼,編譯器會再調用一次AnnotationProcessor,如果第二次處理還有新代碼產生,就會接著調用AnnotationProcessor,直到沒有新代碼產生為止.每執行一次process()方法被稱為一個"round",這樣整個Annotationprocessing過程可以看作是一個round的序列.JSR269主要被設計成為針對Tools或者容器的API.舉個例子,我們想建立一套基於Annotation的單元測試框架(如TestNG),在測試類裡面用Annotation來標識測試期間需要執行的測試方法。七:用Console開發控制台程序JDK6中提供了java.io.Console類專用來訪問基於字元的控制台設備.你的程序如果要與Windows下的cmd或者Linux下的Terminal交互,就可以用Console類代勞.但我們不總是能得到可用的Console,一個JVM是否有可用的Console依賴於底層平台和JVM如何被調用.如果JVM是在互動式命令行(比如Windows的cmd)中啟動的,並且輸入輸出沒有重定向到另外的地方,那麼就可以得到一個可用的Console實例.八:對腳本語言的支持如:ruby,groovy,javascript.九:原本是JavaEE5.0(JSR244)規范的一部分,現在SUN把它的一部分放到了JavaSE6.0中.隨著Annotation元數據功能(JSR175)加入到JavaSE5.0裡面,很多Java技術(比如EJB,WebServices)都會用Annotation部分代替XML文件來配置運行參數(或者說是支持聲明式編程,如EJB的聲明式事務),如果這些技術為通用目的都單獨定義了自己的Annotations,顯然有點重復建設,所以,為其他相關的Java技術定義一套公共的Annotation是有價值的,可以避免重復建設的同時,也保證JavaSE和JavaEE各種技術的一致性.下面列舉出CommonAnnotations1.0裡面的10個tedSourceANNOTATION_TYPE,CONSTRUCTOR,FIELD,LOCAL_VARIABLE,METHOD,PACKAGE,PARAMETER,TYPE用於標注生成的源代碼ResourceRuntimeTYPE,METHOD,FIELD用於標注所依賴的資源,容器據此注入外部資源依賴,有基於欄位的注入和基於setter方法的注入兩種方式ResourcesRuntimeTYPE同時標注多個外部依賴,容器會把所有這些外部依賴注入PostConstructRuntimeMETHOD標注當容器注入所有依賴之後運行的方法,用來進行依賴注入後的初始化工作,只有一個方法可以標注為當對象實例將要被從容器當中刪掉之前,要執行的回調方法要標注為PreDestroyRunAsRuntimeTYPE用於標注用什麼安全形色來執行被標注類的方法,這個安全形色必須和Container的Security角色一致的。RolesAllowedRuntimeTYPE,METHOD用於標注允許執行被標注類或方法的安全形色,這個安全形色必須和Container的Security角色一致的PermitAllRuntimeTYPE,METHOD允許所有角色執行被標注的類或方法DenyAllRuntimeTYPE,METHOD不允許任何角色執行被標注的類或方法,表明該類或方法不能在JavaEE容器裡面運行DeclareRolesRuntimeTYPE用來定義可以被應用程序檢驗的安全形色,通常用isUserInRole來檢驗安全形色注意:1.RolesAllowed,PermitAll,DenyAll不能同時應用到一個類或方法上2.標注在方法上的RolesAllowed,PermitAll,DenyAll會覆蓋標注在類上的RolesAllowed,PermitAll,DenyAll3.RunAs,RolesAllowed,PermitAll,DenyAll和DeclareRoles還沒有加到JavaSE6.0上來4.處理以上Annotations的工作是由JavaEE容器來做,JavaSE6.0隻是包含了上面表格的前五種Annotations的定義類,並沒有包含處理這些Annotations的引擎,這個工作可以由(JSR269)來做
❸ java jms為什麼引入消息中間件
mom4j
mom4j是一個完全實現JMS1.1規范的消息中間件並且向下兼容JMS1.0與1.02.它提供了自己的消息處理存儲使它獨立於關系數據與語言,所以它的客戶端可以用任何語言開發.
OpenJMS
OpenJMS是一個開源的Java Message Service API 1.0.2 規范的實現,它包含有以下特性:
*. 它既支持點到點(point-to-point)(PTP)模型和發布/訂閱(Pub/Sub)模型。
*. 支持同步與非同步消息發送
*. JDBC持久性管理使用資料庫表來存儲消息
*. 可視化管理界面。
*. Applet支持。
*. 能夠與Jakarta Tomcat這樣的Servlet容器結合。
*. 支持RMI, TCP, HTTP 與SSL協議。
*. 客戶端驗證
*. 提供可靠消息傳輸、事務和消息過濾
UberMQ
UberMQ完全實現了Java Message Service 規范。UberMQ是因為現有的許多JMS提供商已經違背了分布式計算的核心原則:快速與簡單而開發的。
Hermes JMS
利用它提供的Swing UI可以很好的實現監控JMS providers。
ActiveMQ
ActiveMQ是一個開放源碼基於Apache 2.0 licenced 發布並實現了JMS 1.1。它能夠與Geronimo,輕量級容器和任Java應用程序無縫的給合。
Somnifugi
Somnifugi使得工作在同一個java虛擬機中的線程能實現消息互發。
MantaRay
MantaRay基於peer-2-peer 技術。它具有以下特性:
1.它既支持點對點(point-to-point)的域,又支持發布/訂閱(publish/subscribe)類型的域。
2.並且提供對下列類型的支持:經認可的消息傳遞,事務型消息的傳遞,一致性消息和具有持久性的訂閱者支持。
3.消息過濾體制。
4.能與WebLogic and WebSphere 給合。
5.支持TCP, UDP 與 HTTP傳輸協。
Presumo
Presumo也是一個實現Java Message Service API的JMS消息中間件。
JORAM
JORAM一個類似於openJMS分布在ObjectWeb之下的JMS消息中間件。
JMS4Spread
JMS4Spread是一個消息系統.它部分地實現了Java消息服務(JMS) API.
-------------------------------------------------------------------------------------------
開源JMS簡單比較
我考慮在公司的項目中採用JMS來降低伺服器之間的耦合性,但為了降低成本,商業軟體是不考慮的,於是只能在開源的並且對商業友好的JMS伺服器中選擇一個了。選擇條件主要基於:
支持JMS 1.1規范
持久化,能滿足商業應用所需的穩定性
滿足項目的性能需求
最好本身提供JNDI服務
最好支持JMX
最好本身提供一個友好的管理工具
最好提供一份完整的文檔
准備進行選擇的JMS伺服器有:OpenJMS、UberMQ、ActiveMQ、MantaRay、JORAM
OpenJMS:老牌的JMS伺服器了,也是我最早知道的開源JMS伺服器,不過只支持JMS 1.02,已經很長時間沒有更新了,因此不予考慮。
UberMQ:採用NIO的JMS伺服器,以前我學習NIO的時候看過它的代碼,寫的蠻不錯的,也支持JMS 1.1。由於採用了NIO,所以具有很高的彈性,在滿足項目的性能需求上沒有什麼問題;本身也提供JNDI服務,但是遺憾的是我bind其他類型的數據時會出錯;提供admin和viewer兩個管理工具,但是在管理工具里不能創建ConnectionFactory和Destination並綁定到JNDI;文檔不太完整;最頭痛的對於持久化支持不好,如果關閉JMS伺服器再開啟,所有保存在JMS中的信息就全部丟失了,這點沒有辦法滿足商業應用所需的穩定性。
ActiveMQ:最近比較活躍的一個JMS伺服器,主頁上的介紹說在協議配置上可以選擇支持NIO,但是我仔細看它所支持的協議,卻並沒有提到如何配置,並且在實際的測試中也並沒有發現其有採用NIO的跡象,多連接一個Client端,伺服器端就增多了一個線程。滿足JMS 1.1,有多種方法進行持久化;本身不提供JNDI,也沒有對JMX的支持,本身不帶管理工具,採用Hermes進行管理(這個我會在以後提到),文檔也相對較少。
MantaRay:也是比較活躍的一個JMS伺服器,採用的是P2P模型,但是我不喜歡這種模型,對於JMS服務來說,很大的一個特點就是客戶端可以不用永遠在線,比如在更新某一個客戶端時需要暫停服務,等服務再度開啟時,這段時間內所接收到的信息並不會丟失,保存在伺服器上,所以我並不能看到P2P模型應用在JMS伺服器上的優勢,況且採用JMS服務就是為了解除耦合,速度並不是唯一需要考量的事情。出於我不喜歡其所採用模型,並且在運行其所帶的示例時都出現了示例時都出現了問題,兩個客戶端互發互收,但是彼此之間都收不到消息,於是不予考慮。
JORAM:支持JMS 1.1,可以持久化到文件,本身提供JNDI服務和提供對JMX的支持,自帶的管理工具可以添加ConnectionFactory和Destination並綁定到JNDI,這點對實現動態管理來說非常有用;文檔非常完備,100多頁的PDF,包含了各種配置和調整信息。其穩定性考慮的尤其好,不僅考慮到JMS伺服器的集群,甚至連JNDI的集群也考慮進去(盡管暫時對我而言還用不上),這點對於商業應用而言應該會有加分。
ActiveMQ是Apache License,JORAM是LGPL,這兩者對於商業應用都是友好的;UberMQ和MantaRay採用是Dual License,UberMQ的Dual License是只要你不分發,就可以允許使用;而MantaRay是商業使用需要應用一個商業的License。
比較上面的這些JMS伺服器,最終我是選擇了JORAM,其滿足了我的絕大部分要求,唯一比較遺憾的是其採用傳統的IO模型,每連接一個Client端會在伺服器端增加兩個線程,這點稍微影響了伺服器的彈性。不過考慮到我們的項目應用,這點暫時可以不用考慮,實在壓力過大了,最多到時候採用JMS集群唄:)
開源JMS再比較
四月份時我曾經比較了那時活躍度比較高的一些開源JMS——《開源JMS簡單比較》,時隔四個月,重新回顧這些項目,發現與四個月以前的比較有一些出入,在這里再進行一些比較:)
比較的項目沒有變化,OpenJMS、UberMQ、ActiveMQ、MantaRay、JORAM,這段時間內沒有出現什麼JMS新秀,JBoss計劃在今年第四季度發布JBoss Messaging,但只要還是捆綁發行,我對其就沒什麼興趣。
在上次的比較中,OpenJMS已經有比較長的一段時間沒有更新了,但最近的四個月似乎又活躍了起來,其預備發行的0.7.7版計劃支持JMS 1.1(這個來的太晚了些),其主頁上的Changelog表明了接下來的這個版本有著較大的變化。這對那些以前將OpenJMS應用在項目中的人來說是一個不錯的消息,但對正在選擇JMS的人而言,OpenJMS的這些改進來的還是稍稍晚了些。
UberMQ這段時間沒有更新,我對它的評價與以前一樣,沒有任何變化。
MantaRay在其主頁上更新了一系列的Flash Demos,通過這些Demo,我更堅定了我的看法——MantaRay並不適合用於企業的JMS服務。
P2P這個詞雖然熱,但是不是什麼地方都需要P2P的,在我看來JMS就是用於解除各個應用之間的耦合,速度是個關鍵指標,但比起這個關鍵指標更重要的是它存在的意義。我更傾向於採用MantaRay在Flash中所反對的那種模型,通過中心伺服器進行轉發,可以存放離線消息以及解除耦合。更何況,企業應用中很少有類似MantaRay演示DEMO中出現的那種網路拓撲圖,並不是任何兩個節點之間都是互聯互通的。當然,如果MantaRay能夠做一些改進,先嘗試採用點對點模型,如果點對點失敗,這時將消息發送到中心伺服器上(但這一切必須對用戶透明),我會比較贊成,既具有傳統優勢,又能提高消息發送接收速度。
至於上篇文章中提到的運行其自帶的示例出現了問題,這次在Flash演示中終於找到了答案。看來MantaRay真應該提高其示常式序的易用性,這么復雜的操作,要是不看Flash演示,還真難想到該這樣操作:(
ActiveMQ是讓我感到驚訝的一個項目,上次對它的評價似乎有失偏頗。 ActiveMQ支持多種網路拓撲模型,既可以採用傳統JMS的Client-Server模型,也可以採用MantaRay的P2P模型,還可以僅僅支持同一JVM內的JMS應用。持久化機制一如既往的優秀,默認採用Apache Derby資料庫持久化,也可以配置為各種主流資料庫來持久。目前也提供了一簡單的JNDI實現,對於JMS應用而言,這已經夠用了。
但是其缺點也同樣明顯,本身不提供管理工具;示例代碼非常少;雖然主頁上的文檔看上去比較全面,但是一來缺乏一種有效的組織方式(文檔凌亂,用戶很難由淺入深進行了解,提高了門檻),二來文檔整體的專業性太強(不了解ActiveMQ?看文檔去吧,可是文檔是寫給了解ActiveMQ的用戶看的……),對於普通用戶而言,門檻有點高。
而且感覺ActiveMQ有點不安於JMS的本份,開始做一些周邊應用了,看其主頁就可以看出來,多了很多比較流行的詞彙。說不上這是優點還是缺點,但就我的角度而言,我更希望其專注於做好它的JMS。
JORAM在這段期間推出了4.3.x的版本,也是我們在應用中所採用的版本,我的評價和上次相比沒有什麼大的變化。主頁上說其速度有了提高,但我們應用中JMS數據量相對較少,沒有感覺出來。稍微遺憾的是在我們試用的過程中,從4.2.3升級到4.3,老版本的持久化消息都無法在新版本上識別出來,只能全部清空。在兼容性上,看來JORAM還得多下功夫。總而言之,我們在應用中採用JORAM,感覺就是波瀾不驚,沒碰到什麼大問題,也沒有什麼驚喜。
❹ java培訓課程有什麼內容
像這樣的問題,我已經回答了很多次,現在很多新手,特別是剛剛進入學生的學生,不知道該從哪裡入手,我整理了一些java的知識點,一共分為六個階段,273個技能點,第一階段、第二階段、第三階段、第四階段是必須要掌握的,很多機構忽悠人,就只學到第四階段,第五階段和第六階段就是高薪、高職的保障,就說說想高薪必須得把後面兩個階段的給掌握了,老鐵看了點個贊。
第一階段:java基本功修煉
1.認識計算機硬體
2.計算機組成原理
3.計算機軟體知識
4.計算機網路知識
5.常用網路應用操作
6.認識計算機病毒
7.邏輯訓練
8.初識Java
9.變數和數據類型
10.選擇結構
11.循環結構for
12.循環結構do-while
13.循環結構while
14.多重循環及程序調試
15.循環進階
16.一維數組及經典應用
17.二維數組
18.認識類與對象
19.方法及方法重載
20.封裝與繼承
21.方法重寫與多態
22.項目實戰-汽車租賃系統
23.抽象類和介面
24.異常
25.項目實戰-QuickHit
26.Java中的集合類型
27.List集合
28.Set集合
29.HashMap集合
30.Iterator
31.Collections演算法類及常用方法
32.enum
33.包裝類及裝箱拆箱
34.String、StringBuffer類常用方法操作字元串
35.Date、Calendar
36.Math類常用方法
37.IO/NIO
38.位元組輸入流(InputStream、FileInputStream、BufferedInputStream)
39.位元組輸出流(OutputStream、FileOutputStream、BufferedOutputStream)
40.字元輸入流(Reader、InputStreamReader、FileReader BufferedReader)
41.位元組輸出流(Writer、OutputStreamWriter、FileWriter、BufferedWriter)
42.文件復制
43.Serialize、Deserialize
44.職場晉升力:四象限時間管理與精力管理
45.多線程(Thread、Runnable)
46.ThreadLifeCycle
47.線程的調度
48.線程的同步和死鎖
49.ThreadPool
50.職場晉升力:團隊合作
51.Socket(TCP、UDP)
52.XML概念、優勢、規范
53.XML中特殊字元的處理
54.使用DOM讀取、添加、刪除、解析 XML數據
第二階段:javaweb開發
55.搭建和配置MySQL資料庫
56.資料庫增、刪、查、改語句
57.事務
58.視圖
59.資料庫備份與恢復
60.資料庫用戶管理
61.資料庫設計
62.項目實戰-銀行ATM存取款機系統
63.走進 HTML和CSS
64.列表表格及表單美化
65.CSS 高級操作
66.Bootstrap
67.CSS 組件
68.JavaScript面向對象
69.JavaScript判斷、循環
70.JavaScript閉包
71.JavaScript語法
72.Bootstrap綜合案例
73.HTML5、CSS3
74.jQuery基礎
75.jQuery基本操作
76.jQuery事件與特效
77.jQuery Ajax
78.jQuery插件
79.搭建Web 環境初識JSP
80.JSP九大內置對象
81.JSP實現數據傳遞和保存
82.JDBC
83.單例模式、工廠模式
84.MVC、三層模式
85.Commons-fileupload、CKEditor
86.分頁查詢
87.EL 與 JSTL
88.Servlet與Filter
89.Listener與MVC
90.Ajax 與 jQuery
91.jQuery的Ajax交互擴展
92.項目實戰—使用Ajax技術改進新聞發布系統
93.反射
94.Linux系統的安裝
95.在Linux中管理目錄和文件
96.在Linux中管理用戶和許可權
97.在Linux伺服器環境下安裝軟體和部署項目
98.職場晉升力:職場溝通
第三階段: 企業級框架開發
99. MyBatis 環境搭建
100. SQL 映射文件
101. 動態SQL
102. MyBatis 框架原理
103.SpringIOC
104.構造注入、依賴注入、註解
105. Spring 整合MyBatis(SqlSessionTemplate、MapperFactoryBean、事務
處理)
106. Spring 數據源(屬性文件、JNDI)、Bean 作用域
107. Spring 框架的運行原理
108.SpringMVC 體系概念
109.SpringMVC 之數據綁定、數據效驗、
110.SpringMVC 之視圖及視圖解析
111.SpringMVC 之文件上傳、本地化解析
112.SpringMVC 之靜態資源處理、請求攔截器、異常處理
113.Oracle資料庫環境搭建、安裝
114.Oracle資料庫 SQL、分頁、備份、還原
115.Hibernate 概念、依賴
116.HQL查詢語言
117.Hibernate 中配置關聯映射
118.HQL連接查詢與 Hibernate註解
119.Struts2概念、依賴
120.Struts2配置
121.OGNL表達式
122.Struts2攔截器
123.SSH框架整合
124.使用Maven構建項目
125.使用Struts2實現Ajax
126.Jsoup網路爬蟲
127.多線程網路爬蟲
128.反爬及反反爬策略
129.通用爬蟲設計
130.Echart圖表分析
131.IKAnalyzer分詞
132.企業框架項目實戰-代理商管理系統
133.企業框架項目實戰-SL 會員商城
134.企業框架項目實戰-會員管理系統
135.企業框架項目實戰-互聯網招聘信息採集分析平台
第四階段: 前後端分離開發
136.GitHub
137.Git基礎(checkout、pull、commit、push、merge等)
138.Git進階(多分支協作)
139.GitLab
140.IDEA的使用
141.Maven介紹(概念、倉庫、構建、命令)
142.使用Maven構建WEB項目
143.使用Maven構建多模塊項目
144.使用Maven搭建私服倉庫
145.Scrum框架介紹(三個角色、三個工件、四個會議)
146.ScrumTeam組建團隊
147.產品需求和用戶故事
148.每日立會
149.使用敏捷-Scrum方式開發管理實戰
150.前後端分離、分布式集群架構、垂直架構
151.SSM(SpringMVC+Spring+MyBatis)整合實戰
152.Git、Maven私服Nexus
153.第三方接入技術(微信、阿里)
154.MySQL電商實戰
155.Redis(緩存服務)
156.搜索引擎-Solr
157.集成APIDoc工具-Swagger
158.圖片自動化處理:Tengine+LUA+GraphicsMagic
159.手機、郵箱注冊
160.單點登錄 Token
161.OAuth2.0認證
162.Jsoup網路爬蟲(多線程爬蟲/代理 IP爬蟲)
163.ExecutorService線程池
164.IK中文分詞
165.Postman
166.ReactJS
167.webpack
168.職場晉升力:簡歷撰寫
169.程序猿面試寶典之項目面試
170.大型互聯網旅遊電商項目實戰-愛旅行
第五階段: 分布式微服架構開發
171.SpringBoot環境搭建
172.SpringBoot常用技能
173.SpringBoot整合Redis
174.SpringBoot整合Mybatis
175.微服務架構及架構設計
176.消息隊列
ActiveMQRabbitMQ
177.分布式事務
178.分布式鎖 Redis-setnx
179.Zookeeper注冊中心
180.基於 ActiveMQ實現高並發
181.Docker環境搭建
182.Docker鏡像加速
183.Docker容器管理
184.Docker鏡像管理
185.Docker容器文件備份
186.Dockerfile
187.Docker私服倉庫
188.真實互聯網高並發電商項目實戰-雙十一搶購
189.可視化監控 Portainer
190.DockerCompose 容器編排
191.DockerCompose擴容、縮容
192.DockerSwarm集群編排
193.Jenkins安裝、插件配置
194.Jenkins配置普通任務
195.Jenkins配置管道任務
196.Jenkins自動發布服務
197.Spring CloudEureka
198.Spring CloudFeign
199.Spring CloudRibbon
200.Spring CloudZuul
201.Spring CloudConfig
202.Spring CloudHystrix
203.Spring CloudSleuth
204.Spring BootAdmin
205.Eureka注冊原理探秘
206.SpringCloud 大坑解讀
207.Zipkin
208.Zipkin整合RabbitMQ
209.Zipkin整合MySQL
210.ELK日誌收集
211.Kafka
212.Elasticsearch映射管理
213.Elasticsearch查詢/復合查詢
214.Elasticsearch集群/集群規劃
215.Elasticsearch聚合
216.Elasticsearch集群監控
217.Elasticsearch插件
(Head/BigDesk)
218.Mycat讀寫分離
219.Mycat一主多從
220.Mycat多主多從
221.Mycat數據分片
222.Redis
223.Redis-Redlock
224.Elasticsearch環境搭建
225.Elasticsearch客戶端
226.Elasticsearch索引管理
227.Elasticsearch文檔管理
228.Mycat集群
229.Jmeter 並發測試
230.Jmeter 生成測試報告
231.微信登錄
232.微信支付
233.支付寶支付
234.網路地圖
235.Sonar本地檢測
236.Sonar+Jenkins線上檢測
237.CI/CD
238.SpringBoot改造愛旅行項目實戰
239.大型互聯網票務類電商項目實戰-大覓網
240.ES6概念(les、const)
241.ES6對象和數組
242.ES6函數擴展
243.VUE環境搭建
244.VUE.JS指令
245.VUE 交互
246.VUE 實例生命周期
247.VUE 組件
248.VUE項目環境配置及單文件組件
249.VUE 路由
第六階段:cc服務
250. Spring Cloud Gateway
251. Consul
252. Nacos
253. Eureka、Consu、lNacos、Zookeeper 對比分析
254. Prometheus + Grafana
255. ES 分布式存儲原理
256. NoSQL 資料庫解決方案(Redis、MongoDB)
257. OAuth2.0 認證( authorization code 模式)
258. OAuth2.0 認證( implicit 模式)
259. OAuth2.0 認證( resource owner password credentials 模式)
260.OAuth2.0認證( clientcredentials模式)
261.NAS/FastDFS分布式文件存儲
262.Python基礎
263.Python爬蟲
264. 大數據及 Hadoop 概述
265. 分布式文件系統 HDFS
266. 分布式計算框架MapRece
267. 分布式列式資料庫 HBase
268. Hadoop 綜合應用
269. 面試大局觀
270. 職業規劃
271. 項目面試
272. 具體業務場景化解決方案
273. 更多技術專題持續增加中
有不清楚的可以私信我
❺ jdk1.6能使用哪個版本的activemq
5.8-5.10 ActiveMQ 5.8-5.10 require Java 6 or higher
官網上是這么回答的:
Community > FAQ > General > What platforms does ActiveMQ support
What platforms does ActiveMQ Support?
ActiveMQ 5.0-5.7 supports any Java platform of Java 5.0 or later. To run on 1.4 see these instructions. ActiveMQ 5.8-5.10 require Java 6 or higher and the releases from 5.11 onwards require Java 7 or later.
ActiveMQ is based on J2EE 1.4 or later and so implements JMS 1.1 and a JCA 1.5 Resource Adaptor.
We regularly test ActiveMQ on Windows, OS X, Linux though we're aware of folks who use AIX and Solaris too.
❻ 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
資源
社區
❼ spring.net的版本發布
2009年08月05日,Spring NET 1.3.0 RC1 發布,該版本包含了下面幾個方面的新特性:
TIBCO EMS一體化- Helper類來提高你的生產力發展中消息傳遞應用程序與TIBCO EMS基礎。
NVelocity集成- Helper類配置一個模板引擎在Sprint NVelocity基礎應用程序
VS 的解決方案模板——VS .NET 2008年建立解決方案模板,讓你快速建立並運行應用程序創建Spring的基礎。
DI支持企業服務組件
其他值得注意的新特性:
NHibernate 2.1和ActiveMQ NMS 1.1支持。
更新和記錄NHibernate 2.1快速入門應用程序。
spring NHibernate位元組碼服務提供方程序來支持基於DI的NH實體。
2010年12月16日,Spring 1.3.1 發布,該版本包含以下主要特性:
名稱空間解析器對WCF的集成
初始ASPNET MVC 2集成為核心的依賴注入功能
支持DI使用WCF的WebServiceHostFactory
本機。凈4編譯程序集
支持多個資料庫之間的切換在運行時當使用NHibernate
支持NHibernate 3.0 GA版本
升級的石英。凈支持1.0.3版本
apache nms的升級。ActiveMQ支持版本1.4.1
超過100個bug修復和其他改進。
❽ activemq哪個版本最穩定
用最新的版本吧,5.5的,挺穩定的。