庫java
㈠ 你常用的java工具庫都有哪些
JavaSDK肯定是使用最廣的庫,所以本文的名單焦點是流行的第三方庫。該列表可能並不完善,所以如果你覺得有什麼應該出現在列表中的,請留下您的評論。非常感謝!
1、核心庫
Apache Commons Lang:來自Apache的核心庫,為java.lang API補充了許多常用的工具類,如字元串操作、對象的創建等。
Google Guava:來自谷歌的核心庫,包括集合(Collection)、緩存(Caching)、支持原語(Primitives)等。(示例)
Jsoup:一個簡化了的 HTML操作的庫。(示例)
STaX:一組可以高效處理XML的API。 (示例)
Spring:Java平台上眾所周知的開源框架和依賴注入容器。(示例)
Struts2:來自Apache的流行Web框架。 (示例)
GoogleWebToolkit:Google提供的開發工具庫,主要用於構建和優化復雜的Web程序用。 (示例)
Strips:使用最新Java技術構建的Web程序框架,推薦使用。
Tapestry:面向組件的框架,用於使用Java創建動態、健壯、擴展性高的Web應用程序。
JFreeChart:用於創建如條形圖、折線圖、餅圖等圖表。
JFreeReport:創建於輸出PDF格式的報表。
JGraphT:創建圖像,其中只包含由線段連接的點集。
Swing:SDK提供的GUI庫。(示例)
SWT:eclipse提供的GUI庫。
EclipseRCP。(示例)
OpenNLP:來自Apache的自然語言處理庫。 (示例)
StanfordParser:斯坦福大學提供的自然語言處理庫。(示例)
EclipseJDT:由IBM提供的靜態分析庫,可以操作Java源代碼。(示例)
WALA:可以處理jar包文件(即位元組碼)的工具庫。(示例)
Jackson: 用於處理JSON數據格式的多用途的Java庫。Jackson 旨在快速、准確、輕量、對開人員友好之間找到最好的平衡點。
XStream:一個簡單用於對象和XML互相轉換的庫。
GoogleGson:一個專門用於Java對象和Json對象相互轉換的工具庫。(示例)
JSON-lib:用於beans、maps、collections、javaarrays、XML和JSON之間相互轉換操作的工具庫。
ApacheCommonsMath:提供數學計算和數值統計需函數的工具庫。
ApacheLog4j:風行一時的日誌記錄操作庫。(示例)
Logback:當前流行的log4j項目的繼任者。
SLF4J(TheSimpleLoggingFacadeforJava): 各種日誌框架的一個簡單的外觀或抽象(如java.util.logging 、logback、log4j等),允許用戶在部署時加入需要的日誌框架。
ApachePOI:利用其提供的APIs,可以使用純Java代碼操作各種基於微軟OLE2合成文檔格式的文檔。
Docx4j:一個用於創建、操作微軟公開的XML文件的庫(支持Worddocx、 Powerpointpptx和Excelxlsx)。
Joda-Time:如有質量問題包退包換的Java日期和時間類。
Hibernate、EclipseLink、JPA
JDO
jOOQ
SpringJDBC、SpringData
ApacheDbUtils
Lambok: 旨在減少代碼編寫的Java開發庫。
2、HTML、XML Parser
3、Web框架
請猛擊這里查看以上面框架之間的比較。
4、圖表、報表、圖像
5、窗口
SWT與Swing的比較。
6.、GUI框架
7、自然語言處理
如果你是一名NLP專家,請猛擊這里查看更多工具庫介紹。
8、靜態分析
9、JSON
10、數學
11、日誌
12、Office
13、日期和時間
14、資料庫
15、開發工具
㈡ 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
㈢ java運行庫是什麼
對於java初學者來說,往往不懂區分jdk和jre的區別,實際上這兩個東西差別很大的,有必要了解一下:
·SDK(Software Development Kit)一般指軟體開發包,可以包括函數庫、編譯程序等。
·JDK(Java Development Kit)是面向JAVA開發人員使用的SDK,它提供了Java的開發環境和運行環境。
·JRE(Java Runtime Enviroment)是指Java的運行環境,是面向Java程序的使用者,而不是開發者。
如果安裝了JDK,會發現你的電腦有兩套JRE,一套位於j2sdk\jre, 另外一套位於 C:\Program Files\Java\j2re1.4.1_01目錄下,後面這套比前面那套少了Server端的Java虛擬機,不過直接將前面那套的Server端Java虛擬機復制過來就行了。
而且在安裝JDK時可以選擇是否安裝這個位於 C:\Program Files\Java 目錄下的JRE。如果你只安裝JRE,而不是JDK,那麼只會在 C:\Program Files\Java 目錄下安裝唯一的一套JRE(供瀏覽器來使用)。
JRE的地位就象一台PC機一樣,我們寫好的Win32應用程序需要操作系統幫我們運行,同樣的,我們編寫的Java程序也必須要JRE才能運行。所以當你裝完JDK後,如果分別在硬碟上的兩個不同地方安裝了兩套JRE,那麼你可以想像你的電腦有兩台虛擬的Java PC機,都具有運行Java程序的功能。所以我們可以說,只要你的電腦安裝了JRE,就可以正確運行Jav a應用程序。
1、為什麼Sun要讓JDK安裝兩套相同的JRE?這是因為JDK裡面有很多用Java所編寫的開發工具(如javac.exe、jar.exe等),而且都放置在 \lib\tools.jar 里。從下面例子可以看出,先將tools.jar改名為tools1.jar,然後運行javac.exe,顯示如下結果: Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/javac /Main 這個意思是說,你輸入javac.exe與輸入 java -cp c:\jdk\lib\tools.jar com.sun.tools.javac.Main 是一樣的,會得到相同的結果。從這里我們可以證明javac.exe只是一個包裝器(Wrapper),而製作的目的是為了讓開發者免於輸入太長的指命。而且可以發現\lib目錄下的程序都很小,不大於2 9K,從這里我們可以得出一個結論。就是JDK里的工具幾乎是用Java所編寫,所以也是Java應用程序,因此要使用JDK所附的工具來開發Java程序,也必須要自行附一套JRE才行,所以位於C:\Program Files\Java目錄下的那套JRE就是用來運行一般Java程序用的。
2、如果一台電腦安裝兩套以上的JRE,誰來決定呢?這個重大任務就落在java.exe身上。Java.exe的工作就是找到合適的JRE來運行Java程序。 Java.exe依照底下的順序來查找JRE:自己的目錄下有沒有JRE;父目錄有沒有JRE;查詢注冊表: [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment] 所以java.exe的運行結果與你的電腦裡面哪個JRE被執行有很大的關系。
3、介紹JVM JRE目錄下的Bin目錄有兩個目錄:server與client。這就是真正的jvm.dll所在。 jvm.dll無法單獨工作,當jvm.dll啟動後,會使用explicit的方法(就是使用Win32 API之中的LoadLibrary()與GetProcAddress()來載入輔助用的動態鏈接庫),而這些輔助用的動態鏈接庫(.dll)都必須位於jvm.dll所在目錄的父目錄之中。因此想使用哪個JVM,只需要設置PATH,指向JRE所在目錄底下的jvm.dll。
也可以參考下面的介紹:
轉自: http://www.javanb.com/java/1/17269.html
Java語言的發展經歷
(1)Sun的Java語言開發小組成立於1991年,其目的是開拓消費類電子產品市場,例如,互動式電視、烤麵包箱等。
(2)開始寫Java時,並不局限於擴充語言機制本身,更注重於語言所運行的軟硬體環境。他要建立一個系統,這個系統運行於一個巨大的、分布的、異構的網格環境中,完成各電子設備之間的通信與協同工作。設計中採用了虛機器碼(Virtual Machine Code)方式
(3)中性瀏覽器HotJava的誕生。不依賴於任何硬體平台和軟體平台,它應是一種實時性較高、可靠安全、有交互功能的瀏覽器。
(4)在以網路為中心的計算時代,不支持HTML和Java,就意味著應用程序的應用范圍只能限於同質的環境。
(5)未來的計算方式,每個HomePage的實質是一個多媒體應用程序,這些程序用Java來開發。Java應用程序運行在異質的機器、異質的操作系統之上,甚至於電冰箱、烤麵包箱、防盜電子設備之中, 用Internet把所有的電子設備連接起來,通過TCP/IP進行信息的交流。未來可能進行代理(Agent)交換,代理有一定的智能性,那便是信息交換的更高級階段。
Java工業
(1)Java Card
(2)Embedded System
(3)Java Applet
(4)Java Application
(5)Java OS
Java平台技術
Java不僅僅是一種語言,更重要是一種區別於傳統系統,遵循"網路就是計算機"信條的平台技術。Java平台將面向對象系統擴展成包括程序和數據的網路計算機(NC),而這個平台的核心就是Java虛擬機,許多使Java成為萬能開發平台的屬性都源於Java虛擬機的概念和實現。以下是如乾重要概念:
(1)Java虛擬機:從底層看,Java虛擬機就是以Java位元組碼為指令組的軟CPU。
(2)位元組碼:位元組碼是Java虛擬機的指令組(很象CPU上的微碼)。
(3)即用即裝入:一個.class文件可以引用許多其它.class文件(在Java語言中,通過import, implement或extends語句實現),當運行的類需要其他類時,Java虛擬機即從網路或本地文件系統裝入.class文件。
(4)Java認證器:認證器包括四個階段的操作:類文件認證、類型系統認證、位元組碼認證和運行時類型與訪問檢查。此外,認證器在檢查期間還能識別演算法操作的上溢和下溢等其他可能發生在運行期間的程序錯誤。
(5)Java效率和(Just-In-Time)JIT及時編譯技術:JIT編譯器在程序開始執行前把所有位元組碼翻譯成本地機器碼,然後再將翻譯後的機器碼放在CPU上運行。
Java可移植特性
(1)JAVA作為一種編程語言:源代碼可移植性
(2)JAVA作為一個虛擬機:硬體平台可移植性
(3)JAVA作為一種虛擬的操作系統(OS)和圖形用戶界面(GUI):操作系統移植性
Java語言特性
(1)面向對象:無全局變數或函數
(2)分布式:Java包括一個支持HTTP和FTP等基於TCP/IP協議的子庫。因此,Java應用程序可憑借URL打開並訪問網路上的對象,象本地一樣。
(3)取消了C語言的:結構,指針,#define語句,多重繼承,全局變數和函數,GOTO語句 ,操作符重載,自動類型轉換等等
(4)安全健壯:例如,邊界檢查,類型檢查,位元組碼認證,自動的指針和內存管理 (5)結構中立:為了建立Java作為網路的一個整體
(6)垃圾收集器:虛擬機自動啟動的一個線程來完成不用內存的回收,免去delete.
Java開發工具 (1)JDK:Java開發工具包 (2)Symantec café:第一個推出具有完全特性的集成開發環境的公司是Symantec。
(3)Java Workshop:Sun公司1996年中推出的全部用Java實現的集成開發環境。
(4)Visual J++:微軟推出的Visual Stutio組建之一
(5)Jbuilder:Borland公司推出的Windows和Linux平台的開發環境。
㈣ java中的外部庫是什麼
java 庫是 java 運行環境自帶的庫, 類似你自己會的技能, 例如走路,唱歌等. 隨時隨地可以發動技能
外部庫是別人為 java 寫的庫, java 可以調用. 一般是 jar 文件或單個 class 文件. 類似別人的技能. 你會的再多也不可能把所有技能學會. 這樣當你需要時可以找一個會這個技能的人來幫你完成.
㈤ Java資料庫主要有哪些
常用的資料庫有MySQL,緩存資料庫 一般使用 Redis ,比較大型的項目我們一般一會使用orcal
㈥ java和資料庫有什麼關系嗎
1、Java是一門編程語言,為的實現如何連接客戶與數據,之間的一種連接工具,你可以這么理解,你想要圖書館裡面的所有的圖書,查找某個資料,沒有編程語言做的變成系統,你只能夠通過自己去圖書館一本一本的去翻,去找。有了編程語言,就可以專門的做出一個查詢系統,這個系統將所有的圖書的內容都融匯到一個地方,然後通過你用Java編寫的查詢系統,進行查找想要的資料,就是電子化,這樣同時可以提供給更多的人去查找,也給更多的人省去了,單獨查找的時間。編程語言就是做這個的。
2、資料庫是做什麼的呢:
在上面我們提到了,就是把所有的書的內容都放置到一個地方,而資料庫就是進行存放這個書籍內容的地方,有了資料庫,我們可以更好的去管理書籍裡面的內容,進行改寫,進行備份,進行整理。在一個企業裡面:三分管理 七分技術 十二分數據,其實人們最注重的是數據的積累。一家銀行,有多少個客戶,客戶都各自存儲了多少錢,什麼時候存儲的。它並不關心你這系統是什麼東西,它只想通過你的系統繼續操作裡面的數據。資料庫就是這個作用。
3、話又說回來了,就是存儲數據,你完全可以用記事本,excel表格,或者自己隨便的定義一種東西進行存儲,但是,當級別達到幾千,幾萬,幾十萬,幾百萬,幾千萬,幾億,你如何去存儲,用什麼東西進行查詢歷史的數據,如果你真的有本事能夠做到查詢的速度性,安全性以及便於管理性,你可以完全不用資料庫,當然目前世界上還沒有人能夠弄成,能弄成的幾個公司就是現在的資料庫公司:oracle,db2等等
㈦ java中資料庫到底是一個什麼東西有什麼用謝謝。。
額。。。。資料庫、資料庫,顧名思義就是存儲數據的倉庫呀,不管你有何種語言開發程序,應用程序只是對數據的讀取和處理,那麼數據從哪裡來呢,處理完之後數據又放在哪裡呢,這當然就要考慮數據存儲問題了,這就需要資料庫了
㈧ Java庫有哪些
java.applet
java.awt
java.beans
java.io
java.lang
java.math
java.net
java.nio
java.rmi
java.security
java.sql
java.text
java.time
java.util
㈨ java常用類庫有哪些
1.java.lang包 java.lang包 是Java中最常用的包,程序不需要注入,就可以使用該包中的類,利用包中的類可以設計最基本的Java程序。
2.java.awt包 java.awt包中的類提供了圖形界面的創建方法,包括按鈕、文本框、列表框、容器、字體、顏色和圖形等元素的建立和設置。
3.javax.swing包 javax.swing包為Java編寫的圖形界面提供創建類,利用javax.swing包的類建立的界面元素可調整為各種操作系統的界面風格,支持各種操作平台的界面的開發。此外,swing包還提供了樹形控制項、標簽頁控制項、表格控制項的類。Java.swing包中的很多類都是從java.awt包的類繼承而來,Java保留使用java.awt包是為了保持技術的兼容性,但應盡量地使用javax.swing包來開發程序界面。
4.java.io包 java.io包的類提供數據流方式的系統輸入輸出控制、文件和對象的讀寫串列化處理,比較常用的類包括:BufferInputStream、BufferOutputStream、BufferedReader、BufferedWriter、DataInputStream、DataOutputStream、FileInputStream和FileOutputStream等。
5.java.util包 java.util包提供時間日期、隨機數以及列表、集合、哈希表和堆棧等創建復雜數據結構的類,比較常見的類有:Date、Timer、Random和LinkedList等。
6.java.net包 java.net包提供網路開發的支持,包括封裝了Socket套接字功能的伺服器Serversocket類、客戶端Socket類以及訪問互聯網上的各種資源的URL類。
7.java.applet包 java.applet包只有一個Applet類,用於開發網頁上的Applet小程序,使網頁具有更強的交互能力以及多媒體、網路功能。
這七個包中的類庫都是java編程語言中最基本最常用的,同學們一定要熟練掌握。這樣才能在java編程語言學習中提高效率,事半功倍。
㈩ 什麼是Java類庫
java類庫就是由一堆java類打包在一起組成的庫,封裝一些類方便你使用,比如Map,List這種。