Java常用类库和API

简介

如果不会总结,很多知识学习后想回顾就会花很多时间,这里总结一下Java常用的类库,都是日常开发中常用到的库,并且之后用到比较好用的库也会再这里添加

日志类库

无论是开发,学习和运维,日志已经是每个环节都必须的存在,不幸的是在java中日志体系比较混乱,这时我们需要去梳理一下这些类库,常用的有log4j、JUL、logback等等,以及后来出现的日志框架commons-logging、SLF4J,如果不知道怎么选,选择SLF4J就好,SLF4J(Simple logging Facade for Java)不是一个真正的日志实现,而是一个抽象层( abstraction layer),它允许你在后台使用任意一个日志类库。而不是直接使用 Log4j, commons logging, logback 或者 java.util.logging。
在这里插入图片描述

JSON解析库

现在的web服务和物联网中(IoT),JSON已经取代了XML,成为从客户端到服务器传送信息的首选协议,但是Java并没有提供相应的解析库,但是有很多优秀的三方库可以用,常见的库有JSON.simple、GSON、Jackson、JSONP,如果你对JSON库的解析速度比较敏感的话,大文件选Jackson,小文件选GSON,两者则JSON.simple。做为一个Java开发人员,是必须要学会使用至少一种JSON解析库的。
在这里插入图片描述

单元测试库

单元测试技术的使用,是区分一个一般的开发者和好的开发者的重要指标,只有测好了每一个最小单元(方法),才能保存之后组成的服务稳定可用。前期开发测试方便且快速,后期维护如果再有哪个方法出了问题,再想修改就很废时且很麻烦,这也是要写好自己功能模块测试的原因。在这里插入图片描述

XML解析库

Java开发难免会去解析XML文件,例如读配置文件信息等,市面上有很多XML解析的类库,如DOM,SAX,DOM4J,JDOM等。这些分析库各有优缺点,可以根据自己的需求来选择一个,例如:DOM采用的是整体读入,向前处理时很容易,且能修改文件,缺点是对于大文件的载入非常浪费资源,并且有内存溢出的风险。而SAX采用的事件处理,SAX不主动载入XML文档,优点在处理速度快,资源消耗最小,缺点是不能提供向前访问,只有重新载入,且不能修改文件。而JDOM采用的是DOM和SAX的综合体。
在这里插入图片描述

HTML解析库

和XML与JSON类似,HTML是另外一种我们可能要打交道的传输格式。值得庆幸的是,我们有jsoup可以大大简化Java应用程序使用HTML。你不仅可以使用 JSoup 解析HTML还可以创建HTML文档
在这里插入图片描述

Excel读写库

许多程序需要操作Excel的功能,而常用的解析Excel文件的工具库主要有JXL和POI,其中推荐使用POI,因为JXL有bug和版本不更新等问题
在这里插入图片描述

PDF处理库

除了Excel和Word,PDF也是一种常用的文件格式。如果你的应用程序要支持PDF格式的文件处理,你可以使用 iText 和 Apache FOP 类库。两者都提供了非常有用的PDF处理功能
在这里插入图片描述

数据库连接池库

运行时频繁创建数据库连接非常耗时并且会拖慢你的程序,所以在实际开发中,一定且必须要用数据库连接池,常见的数据库连接池有C3P0、DBCP、proxool、DBPool、Primrose、Druid那么,这么多的数据库连接池,怎么选呢,别选,选就是Druid,从各个方面都比别的数据库连接池好用,是目前最好用的数据库连接池,并且经受住阿里上百款的实际应用考验
在这里插入图片描述

集合类库

虽然JDK有丰富的集合类,但还是有很多第三方类库可以提供更多更好的功能。如 Apache Commons Collections 、 Goldman Sachs collections 、 Google Collections 和 Trove 。
在这里插入图片描述

邮件API

javax.mail 和 Apache Commons Email 提供了发送邮件的api。它们建立在JavaMail API的基础上,提供简化的用法。
在这里插入图片描述

加密库

Apache Commons家族中的 Commons Codec 就提供了一些公共的编解码实现,比如Base64, Hex, MD5,Phonetic and URLs等等
在这里插入图片描述

嵌入式SQL数据库库

可以嵌入到你的Java应用中。在你跑单测的时候如果你需要一个数据库,用来验证你的SQL的话,嵌入式数据库是个很好的选择,常见的嵌入式数据库有H2、 Apache Derby 和 HSQL
在这里插入图片描述

序列化库

Google Protocol Buffer是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 三种语言的 API。
在这里插入图片描述

发布了59 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_22136439/article/details/103935188