⑴ java內部模式識別的開源庫有哪些
1.機器學習開源軟體網(收錄了各種機器學習的各種編程語言學術與商業的開源軟體)
http://mloss.org
2 偶爾找到的機器學習資源網:(也非常全,1和2基本收錄了所有ML的經典開源軟體了)
http://www.dmoz.org/Computers/Artificial_Intelligence/Machine_Learning/Software/
3 libsvm (支持向量機界最牛的,不用多說了,台灣大學的林教授的傑作)
http://www.csie.ntu.e.tw/~cjlin/libsvm/
4 WEKA (基於java的機器學習演算法最全面最易用的開源軟體)
http://www.cs.waikato.ac.nz/ml/weka/
5 scikit (本人最喜歡的一個基於python的機器學習軟體,代碼寫得非常好,而且官方的文檔非常全,所有都有例子,演算法也齊全,開發也活躍
,強烈推薦給大家用)
http://scikit-learn.org/stable/
6 OpenCv(最牛的開源計算機視覺庫了,前途無可限量,做圖像處理與模式識別的一定要用,總不能整天抱著matlab做實驗和工業界脫節吧,但是有一定難度)
http://opencv.willowgarage.com/wiki/
7 Orange (基於c++和python介面的機器學習軟體,界面漂亮,調用方便,可以同時學習C++和python,還有可視化的功能,)
http://orange.biolab.si/
8 Mallet (基於JAVA實現的機器學習庫,主要用於自然語言處理方面,特色是馬爾可夫模型和隨機域做得好,可和WEKA互補)
http://mallet.cs.umass.e/
9 NLTK(PYTHON的自然處理開源庫,非常易用,也強大,還有幾本orelly的經典教程)
http://nltk.org/
10 lucene(基於java的包括nutch,solr,hadoop,mahout等全套,是做信息檢索和搜索引擎的同志們必學的開源軟體了,學JAVA的必學)
http://lucene.apache.org/
⑵ java的開源工具有哪些
看來要逼我出絕招拉。
幾個開源工具推薦
目前進行一些項目,經常需要到現場開發。當在公司內部的時候,可以充分享受公司內部的軟體資源,如配置管理工具(ClearCase)、設計工具(Rose)、測試管理(ClearQuest),項目管理(Project)等。但這些都是非常龐大又非常復雜,在客戶現場條件下根本無法使用。
現在開源的工具,又小巧,又簡單方便,在現場開發或小型項目中特別有用。下面簡單推薦幾種,拋磚引玉。
1 Ganttproject 1.11.1:項目計劃工具
網址:http://ganttproject.sourceforge.net
你可以使用這款軟體來制定項目計劃並跟蹤項目資源。Ganttproject 能夠將項目的各個組成部分分層次排列,並與相應的人員和時間期限掛鉤。它使用一個條狀圖來顯示項目的進展情況,你能從中看到每項任務的預定完成時間和實際的進度。你可以為每個項目組成員分配任務,設定任務的優先順序和完成期限。Ganttproject的輸出功能相當完備,不僅可以把數據保存為pdf文件和 csv電子數據表文件,還可以輸出為HTML文件發布到Internet上。由於Ganttproject是一款純Java應用程序,因此它可以運行於 Windows、Linux和Mac OS等多個平台上。
2 DotProject 2.0.4:項目管理工具
網址:http:// www.dotproject.net
dotProject是一個基於LAMP的開源項目管理軟體。開發語言為php,資料庫默認推薦使用MySQL(基本上可以理解為只能用Mysql)。項目管理工具,當前版本支持界面很漂亮。
3 NVU 1.0:HTML編輯器
網址:http:// www.nvu.com
NVU 實際上起源於Netscape,還記得那個有點笨拙的HTML編輯器Netscape Composer嗎?NVU就是在它的基礎上進一步開發出來的,不過,最新版本的NVU已經不是當年的那隻丑小鴨,它完全能夠勝任專業網頁設計工作的需求。與FrontPage和Dreamweaver這類商業HTML編輯器一樣,這款軟體(目前支持Windows、Linux和Mac OS平台)同時提供了源代碼直接編輯和「所見即所得」這兩種網頁設計環境。
NVU嚴格遵循W3C聯盟的標准,其生成的HTML代碼也相當緊湊,它會幫你排除錯誤或冗餘的代碼。這款編輯器提供了拼寫和語法檢查功能,並且允許你採用不同的主題方案對界面進行定製。你可以自行創建並保存模版,還可以利用內置的FTP客戶端把頁面迅速上傳到Web伺服器上。
4. Mozilla Firefox:Web瀏覽器
網址:www.mozilla.org
Firefox 瀏覽器應該是Mozilla迄今為止最成功的一個開源軟體項目。從2004年11月到2005年2月,這款 Internet Explorer的替代軟體已經獲得了超過2500萬的下載次數(僅指官方網站和鏡像網站的下載次數)。如果加上其它的下載網址以及用光碟方式發放的 Firefox,這個數量可能還會翻倍。Firefox擁有不少值得稱贊的易用性功能,比如支持標簽式瀏覽窗口、具備開放的插件介面,你可以安裝廣告攔截器、Google搜索條以及其它大量插件。Firefox不支持Visual Basic腳本、ActiveX和BHO(Browser Helper Objects),相對來說不太容易遭受惡意HTML代碼的攻擊,當然你也不能完全高枕無憂。
5 Freemind 0.8:Mindmap軟體
網址:http://freemind.sourceforge.net
什麼是Mindmap?它是由英國人托尼?巴贊創造的一種筆記方法,和傳統的直線記錄方法完全不同,它以直觀形象的圖示建立起各個概念之間的聯系。在國內,MindMap又被稱為腦圖或思維導圖。Freemind 是一款Java程序,它可以幫你在一些隨機的內容之間建立起有機的聯系。
在Freemind中,首先你需要選中一個主題,然後從幾個節點開始不斷豐富 Mindmap的內容。每次加入新的元素,你都可以用連線將它與原有的元素聯系起來。最終的Mindmap可以用HTML文檔的形式輸出。該軟體的幫助信息十分全面,即便你對Mindmap不太熟悉也可以按照它的提示很快掌握Mindmap概念及軟體的使用。
6 SubVersion1.4:版本管理工具
網址:http://www.subversion.org.cn/
Subversion是新一代的版本控制工具,不僅可以管理程序源代碼,也可以應用於其他協作管理數據的工作,例如使用Subversion來合作寫樂譜,美工用來共同作圖,功能很強大。且有專門的中文網站提供更多的技術支持、輔助工具和幫助。
7 BugFree1.0:Bug管理軟體
網址: http://bugfree.1zsoft.com/
BugFree是借鑒微軟的研發流程和Bug管理理念,使用PHP+MySQL獨立寫出的一個Bug管理 系統。簡單實用、免費並且開放源代碼(遵循GNU GPL)。是由國人自己自己開發的,強力支持。
8,eclipse
9,myeclipse
10,spring framework
11,netbean
⑶ 請問有沒有好些的java編寫的開源論壇代碼,最好是近期的產品
mvnForum
mvnForum是基於javaJ2EE 技術(Jsp/Servlet)的一個開源論壇.,安裝簡單。mvnForum兼容任何Servlet容器,支持Jsp 1.2 and Servlet 2.3。
更多mvnForum信息
JForum
JForum 是一個功能強大 ,易於管理的論壇。它的設計完全遵從MVC設計模式,能夠在任何Servlet容器與EJB伺服器上運行。而且可以輕松的定製與擴展JForum論壇。
更多JForum信息
xforum
國人開發的一個開源論壇,基於 Struts 技術,是學習 Struts 的一個非常好的範例。它用到 JAAS 實現 Security ,中文問題的解決,數據層用到 DAO ,以及基於 Struts 應用的基本架構,都是個非常好的學習。
更多xforum信息
jGossip
jGossip是一個簡單,功能強大的java論壇。可運用j2EE在平台上。採用Struts framework技術。
更多jGossip信息
FreeForums
一個基於XML的Java2企業級的論壇解決方案。FreeForums頁面採用CSS, DHTML 與JavaScript等技術。這樣用戶可以定製自已喜歡的界面。它還提供一個在Windows下的客戶端程序。
更多FreeForums信息
Sk Forum
SK Forum是一個開源的基於web的J2EE論壇應用程序。它是一個功能比較齊全的系統,包括很多功能比如:投票,wiki,定時跟蹤,地址薄,好友薄以及其它一些小的功能。
更多Sk Forum信息
JsForum
JsForum是只用到jsp與Servlet技術的論壇,容易使用。具有一般論壇的功能。但是目前只能支持MYSQL資料庫。
更多JsForum信息
nemesis-forum
一個使用J2EE技術的論壇。它的功能包括用戶與用戶組許可權管理,支持i18n,內容過濾,綜合搜索引擎,支持多種資料庫。
更多nemesis-forum信息
Yazd
Yazd是一個使用JDBC連接資料庫的論壇。它的特性包括:
1.提供在線安裝和配置。
2.內容過濾(把Html代碼轉換成可顯示的文件,自定義關鍵字過濾列表,隱藏urls的實現路徑)。
3.集成Lucene1.3提供關鍵字搜索功能。
4.支持的資料庫包括:Oracle,MySQL,DB2,Microsoft SQLServer,Sybase,Interbase,Hypersonic SQL,Pointbase,Informix和Postgres
5.還有其它一些一個論壇應具備的基本功能。
這個論壇提供多語言支持其中包括簡體中文。
更多Yazd信息
JavaBB
JavaBB基於java技術的類似於phpbb的論壇。
更多JavaBB信息
JForumFusion
JForumFusion是一個Java開源論壇。它主要的一些功能包括常規論壇功能,文件附件上傳,個人信息,基於web的管理工具,UBBCode,和高性能的搜索引擎等。支持主流資料庫包括:Oracle, DB2, MySQL, PostgreSQL, Sybase, SAP DB, HypersonicSQL, Microsoft SQL Server...
更多JForumFusion信息
jzForum
這是一個利用Java開發的簡單論壇.以下列出它的幾點特性:
* 完全支持BBCode,
* 在新貼提交時利用AJAX技術提供無刷新頁面預覽功能.
* 利用lucene提供全文本搜索功能.
* 用戶可監控主題.
* 可以容易更改樣式(利用CSS幾乎沒有用到table).
* 安裝簡單只有一個war文件沒有資料庫(其實是內嵌hypersonic資料庫)但 也支持其它資料庫.
* 包括一個投票系統.
* jzForum還提供RSS閱讀功能並利用緩存技術提高整個論壇的速度.
更多jzForum信息
BBS-CS
天乙社區是一套基於JAVA技術的網路虛擬社區,採用了Hibernate+Spring+Struts的輕量級J2EE框架.
1、全文檢索:天乙社區6.0採用Lucene全文檢索,並支持完全國際化多語言的全文檢索。
2、MVC框架:天乙社區6.0繼續了5.x的Struts框架,但經過優化,WEB端更加簡潔高效。
3、集群支持:系統可以運行在集群上。
4、功能方面:大大加強了管理功能,用戶可以多樣化的定製系統的各項信息,包括用戶級別、封鎖IP、過濾字等等,論壇功能上主要增加了投票帖、上傳附件類型多樣、帖子中顯示用戶信息等等功能等。
更多BBS-CS信息
EasyJF
簡易java框架開源論壇系統擁有常用論壇系統的基本功能,集前台後台代碼為一體,支持UBB。該論壇系統使用基於OO的方法設計,採用多層B/S構架,資料庫持久層主要使用簡易資料庫開源框架EasyDBO,Web層使用EasyJWeb框架,java代碼與頁面完全分離,易擴展。
更多EasyJF信息
參見:http://www.open-open.com/09.htm
⑷ java有什麼常用開源的框架
java常用開源框架如下:
1.Spring Framework 【Java開源JEE框架】
Spring是一個解決了許多在J2EE開發中常見的問題的強大框架。 Spring提供了管理業務對象的一致方法並且鼓勵了注入對介面編程而不是對類編程的良好習慣。Spring的架構基礎是基於使用JavaBean屬性的Inversion of Control容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作為構建完關注所有架構層的完整解決方案方面是獨一無二的。
2.WebWork 【Java開源Web開發框架】
WebWork是由OpenSymphony組織開發的,致力於組件化和代碼重用的拉出式MVC模式J2EE Web框架。
3.Struts 【Java開源Web開發框架】
Struts是一個基於Sun J2EE平台的MVC框架,主要是採用Servlet和JSP技術來實現的。由於Struts能充分滿足應用開發的需求,簡單易用,敏捷迅速,在過去的一年中頗受關注。Struts把Servlet、JSP、自定義標簽和信息資源(message resources)整合到一個統一的框架中
4.Hibernate 【Java開源持久層框架】
Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱資料庫。 Hibernate可以應用在任何使用JDBC的場合
5.Quartz 【Java開源調度框架】
Quartz是OpenSymphony開源組織在Job scheling領域又一個開源項目,它可以與J2EE與J2SE應用程序相結合也可以單獨使用。Quartz可以用來創建簡單或為運行十個,百個,甚至是好幾萬個Jobs這樣復雜的日程序表。
6.Velocity 【Java開源模板引擎】
Velocity是一個基於java的模板引擎(template engine)。它允許任何人僅僅簡單的使用模板語言(template language)來引用由java代碼定義的對象。 當Velocity應用於web開發時,界面設計人員可以和java程序開發人員同步開發一個遵循MVC架構的web站點,也就是說,頁面設計人員可以只關注頁面的顯示效果,而由java程序開發人員關注業務邏輯編碼。Velocity將java代碼從web頁面中分離出來,這樣為web站點的長期維護提供了便利,同時也為我們在JSP和PHP之外又提供了一種可選的方案。
7.IBATIS 【Java開源持久層框架】
使用ibatis 提供的ORM機制,對業務邏輯實現人員而言,面對的是純粹的Java對象, 這一層與通過Hibernate 實現ORM 而言基本一致,而對於具體的數據操作,Hibernate 會自動生成SQL 語句,而ibatis 則要求開發者編寫具體的SQL 語句。相對Hibernate等 「全自動」ORM機制而言,ibatis 以SQL開發的工作量和資料庫移植性上的讓步,為系統 設計提供了更大的自由空間。作為「全自動」ORM 實現的一種有益補充,ibatis 的出現顯 得別具意義。
⑸ Java開源項目有哪些
Rx 的 Java 實現 RxJava
star:26782;fork:4718
.Net響應式編程框架 Rx 的Java版本開源實現,有Groovy, Clojure, Scala and JRuby版本的實現。
分布式搜索引擎 ElasticSearch
star:24646;fork:8723
Elasticsearch 是一個分布式的 RESTful 風格的搜索和數據分析引擎,能夠解決越來越多的用例。作為 Elastic Stack 的核心,它集中存儲您的數據,幫助您發現意料之中以及意料之外的情況。這個實時的分布式搜索分析引擎, 它能讓你以一個之前從未有過的速度和規模,去探索你的數據。
REST 客戶端 Retrofit
star:23443;fork:4731
retrofit 是一個類型安全的 REST 客戶端,用於 Android 平台。
HTTP+SPDY 客戶端開發包 okhttp
star:21981;fork:5311
okhttp 是一個 Java 的 HTTP+SPDY 客戶端開發包,同時也支持 Android。
Java 設計模式 java-design-patterns
star:21456;fork:7162
設計模式是程序員在設計應用程序或系統時解決常見問題的最佳實踐,重用設計模式有助於防止可能導致重大問題的細微問題,同時熟悉模式的程序員和架構師的代碼也更具可讀性。
Google的Java常用類庫 Guava
star:18414;fork:4327
Guava 中文是石榴的意思,該項目是 Google 的一個開源項目,包含許多 Google 核心的 Java 常用庫。
Android 註解工具 ButterKnife
star:17845;fork:3662
Butter Knife 是 Android 視圖欄位和方法綁定,使用註解處理來生成樣板代碼。
⑹ JAVA的常用的類庫有哪些
一、日誌相關類庫
日誌庫是很常見的,因為你在每一個項目中都需要他們。列印日誌是伺服器端應用中最重要的事情,因為日誌是你了解你的程序發生了什麼的唯一途徑。盡管JDK附帶自己的日誌庫,但是還是有很多更好的選擇可用,例如 Log4j 、 SLF4j 和 LogBack。
Java開發人員應該熟悉日誌記錄的利弊, 並且了解為什麼SLF4J要比Log4J要好。
二、JSON解析庫
在當今世界的web服務和物聯網中(IoT),JSON已經取代了XML,成為從客戶端到伺服器傳送信息的首選協議。有一個好消息和一個壞消息。壞消息 是JDK沒有提供JSON庫。好消息是有許多優秀的第三方庫可以用來解析和創建JSON消息,如 Jackson 和 Gson
一個Java web開發人員應該熟悉Jackson 和 Gson這兩種中的至少一種庫。
三、單元測試庫
單元測試技術的使用,是區分一個一般的開發者和好的開發者的重要指標。程序員經常有各種借口不寫單元測試,但最常見的借口就是缺乏經驗和知識。常見的單測框架有 JUnit , Mockito 和PowerMock 。
《2020最新Java基礎精講視頻教程和學習路線!》
四、通用類庫
有幾個很好的第三方通用庫可供Java開發人員使用,例如 Apache Commons 和 Google Guava 。我會經常在我的代碼中使用這些通用類庫,因為這些類庫都是經過無數開發者實踐過的,無論是實用性還是在性能等方面都是最佳的。
五、Http 庫
我不是很喜歡JDK的一個重要原因就包括他們缺乏對HTTP的支持。雖然可以使用java.net包類,但是這和直接使用像 Apache HttpClient 和 HttpCore 等開源類庫比起來麻煩太多了。
盡管JDK 9將開始HTTP 2.0,也對HTTP的支持做了優化,但是我還是強烈建議所有的Java開發人員熟悉流行的HTTP處理類庫,例如HttpClient和HttpCore HTTP等庫。
六、XML解析庫
市面上有很多XML解析的類庫,如 Xerces , JAXB , JAXP , Dom4j , Xstream 等。 Xerces2是下一代高性能,完全兼容的XML解析工具。Xerces2定義了 Xerces Native Interface (XNI)規范,並提供了一個完整、兼容標準的 XNI 規范實現。該解析器是完全重新設計和實現的,更簡單以及模塊化。
七、Excel讀寫庫
許多應用程序需要提供把數據導出到Excel的功能,如果你要做相同的Java應用程序,那麼你需要 Apache POI API 。
這是一個非常豐富的類庫,你可以從Java程序讀寫XLS文件。
八、位元組碼庫
如果你正在編寫一個框架或者類庫。有一些受歡迎的位元組碼庫如 javassist 和 Cglib Nodep 可以供你選擇,他們可以讓你閱讀和修改應用程序生成的位元組碼。
Javassist使得JAVA位元組碼操作非常簡單。它是一個為編輯Java位元組碼而生的類庫。 ASM 是另一個有用的位元組碼編輯庫。
九、資料庫連接池庫
如果你的Java應用程序與資料庫交互不是使用資料庫連接池庫的話,那麼你就大錯特錯了。因為在運行時創建資料庫連接非常耗時並且會拖慢你的程序。所以牆裂建議使用,有些好用的連接池可供選擇,如 Commons Pool 和 DBCP 。
在web應用程序中,web伺服器通常提供了這些功能。但是在java項目中需要把資料庫連接池的類庫導入到應用中。
十、消息傳遞庫
像日誌和資料庫連接池一樣,消息傳遞也是很多實際的Java項目中必備的。Java提供了JMS Java消息服務,但這不是JDK的一部分,你需要單獨的引入jms.jar。類似地,如果您准備使用第三方消息傳遞協議, Tibco RV 是個不錯的選擇。
十一、PDF處理庫
除了Excel和Word,PDF也是一種常用的文件格式。如果你的應用程序要支持PDF格式的文件處理,你可以使用 iText 和 Apache FOP 類庫。兩者都提供了非常有用的PDF處理功能。
十二、日期和時間庫
在Java之前,JDK的日期和時間庫一直被人們所詬病,比如其非線程安全的、不可變的、容易出錯等。很多開發人員會選擇更好用的 JodaTime 類庫。
但是在Java8推出之後,我們就可以徹底放棄JodaTime了,因為Java 8提供了其所有功能。但是,如果你的代碼運行在一個低版本的JDK中,那麼JodaTime還是值得使用的。
十三、集合類庫
雖然JDK有豐富的集合類,但還是有很多第三方類庫可以提供更多更好的功能。如 Apache Commons Collections 、 Goldman Sachs collections 、 Google Collections 和 Trove 。Trove尤其有用,因為它提供所有標准Collections 類的更快的版本以及能夠直接在原語(primitive)(例如包含int 鍵或值的Map 等)上操作的Collections 類的功能。
FastUtil是另一個類似的API,它繼承了Java Collection Framework,提供了數種特定類型的容器,包括映射map、集合set、列表list、優先順序隊列(prority queue),實現了java.util包的標准介面(還提供了標准類所沒有的雙向迭代器),還提供了很大的(64位)的array、set、list,以及快速、實用的二進制或文本文件的I/O操作類。
十四、郵件API
javax.mail 和 Apache Commons Email 提供了發送郵件的api。它們建立在JavaMail API的基礎上,提供簡化的用法。
十五、HTML解析庫
和XML與JSON類似,HTML是另外一種我們可能要打交道的傳輸格式。值得慶幸的是,我們有jsoup可以大大簡化Java應用程序使用HTML。你不僅可以使用 JSoup 解析HTML還可以創建HTML文檔。
十六、加密庫
Apache Commons家族中的 Commons Codec 就提供了一些公共的編解碼實現,比如Base64, Hex, MD5,Phonetic and URLs等等。
十七、嵌入式SQL資料庫庫
我真的是非常喜歡像 H2 這種內存資料庫,他可以嵌入到你的Java應用中。在你跑單測的時候如果你需要一個資料庫,用來驗證你的SQL的話,他是個很好的選擇。順便說一句,H2不是唯一嵌入式DB,你還有 Apache Derby 和 HSQL 可供選擇。
十八、JDBC故障診斷庫
有不錯的JDBC擴展庫的存在使得調試變得很容易,例如P6spy,這是一個針對資料庫訪問操作的動態監測框架,它使得資料庫數據可無縫截取和操縱,而不必對現有應用程序的代碼作任何修改。 P6Spy 分發包包括P6Log,它是一個可記錄任何 Java 應用程序的所有JDBC事務的應用程序。其配置完成使用時,可以進行數據訪問性能的監測。
十九、序列化庫
Google Protocol Buffer是一種輕便高效的結構化數據存儲格式,可以用於結構化數據串列化,或者說序列化。它很適合做數據存儲或 RPC 數據交換格式。可用於通訊協議、數據存儲等領域的語言無關、平台無關、可擴展的序列化結構數據格式。目前提供了 C++、Java、Python 三種語言的 API。
二十、網路庫
一些有用的網路庫主要有 Netty 的和 Apache MINA 。如果您正在編寫一個應用程序,你需要做的底層網路任務,可以考慮使用這些庫。
這都是每位Java開發人員應該熟悉的,並且十分有用的庫。Java生態系統非常龐大的,你會發現有很多不同的類庫可以做不同的事情。每個你想到的東西,都可能有一個庫可以做到。
要相信,你遇到的問題,肯定不止你一個遇到過。
要相信,也許有很多人比你更勤奮。
要相信,你用或不用,輪子就在那裡。
要相信,使用這些類庫,你和你的代碼都會變得更好。
原文鏈接:https://blog.csdn.net/u011001084/article/details/79216958