Java commonly used third party Library

chenhongjiang 2021-01-21 09:42:07
java commonly used party library

One 、JAVA Core extension


JAVA Although the standard library provides the most basic data type operation methods , But there are still some common demand scenarios , Lack of utility classes . And others are JAVA The standard library itself is not perfect , What needs to be supplemented by a third party Library .


1、Apache Commons Lang


Apache Commons Lang yes Apache The most famous JAVA library (GitHub Code base on ), It's right java.lang It's good to expand , Contains a large number of very practical tool classes , Most of them are StringUtils,DateUtils,NumberUtils etc. .


except Apache Commons Lang, There are others Apache Ku is also right JAVA It's a good addition to itself , Such as Apache Commons Collection,Apache Commons IO,Apache Commons Math


2、Google Cuava


Google Cuava Contains Google In their own JAVA Some of the cores used in the project JAVA library . Contains the right : aggregate , cache , Concurrent Libraries , string manipulation , I/O And so on . in addition Google Libraries developed are always known for their performance .




Java SE 8 Previous JAVA The support for dates in this version is poor ,Joda-Time Is often used to replace the original date system , It can support more calendar systems , And provides a lot of very convenient date processing methods , And its performance is excellent .(GitHub Code base on )



Two 、Web frame


Web Framework is the core part of an application , So I always recommend the most standard , And there's a good community support framework , such as Spring and Struts.




Spring Is an open source application framework , It contains many subprojects, such as Spring MVC, Spring Security, Spring Data,Sping Boot wait , Almost everything you need on your project . It's also my development Web The preferred back-end framework for the project .(GitHub Code base on )


2、Struts 2


Struts 2 yes Apache The most famous Web frame , It's also a free and open source MVC frame .Struts Can also support REST,SOAP,AJAX Wait for the latest technology .(GitHub Code base on )


Except for the two longest ones mentioned above, your Web Outside the framework , What's more Google Web Toolkit, Tapestry, Strips And other excellent frameworks to choose from .



3、 ... and 、 database ( Persistence layer )


The choice of persistence layer framework is also critical to the success or failure of a project , It will directly affect the performance of the system 、 quality 、 Safety and stability .




MyBatis It's my favorite database ( Persistence layer ) frame , Because it's all based on SQL Of the statement ( adopt SQL To extract data and automatically map it to the desired data object ), Can give me enough flexibility .(GitHub Code base on )


2、Spring JDBC / Spring Data


Spring JDBC It's not independent Spring subprojects , It's an integration of Spring In the core library , by JDBC Operation provides the basic encapsulation processing module . After a simple configuration , It can be done by Context Medium jdbcTemplate Make a call to get the result .


Spring Data yes Spring A subproject of , Provides a more powerful encapsulation of persistence layer functions , And object mapping . It can be associated with Spring MVC Well integrated . You can use JPA and CrudRepository To greatly simplify the development of persistence layer .




Hibernate It is probably the most widely used persistence layer framework in China , It's very powerful , But it's not easy to make good use of it , You need to understand its internal mechanisms , Otherwise, there may be some unforeseen performance problems , Especially when the amount of data is very large .(GitHub Code base on )


In addition to some of the most commonly used persistence layer libraries above , There are also several excellent Libraries , such as JDO,JOOQ,Apache DbUtils etc.



Four 、 journal


JAVA Logging is also included in , But it's dealing with log grading , Storage of logs , And log backup 、 They're not good enough at archiving , Therefore, in the project, we usually use a third-party log library to process logs .


1、SLF4J- Simple Logging Facade for Java (SLF4J)


SLF4J Provides us with an abstraction layer for logging services , Based on it , You can choose different log implementations , such as :java.util.logging,logback,log4j, When you need to change the log implementation component , You don't need to change any code , Just change the configuration .(GitHub Code base on )


2、Apache Log4j


Log4j Is the most famous logging component , After simple configuration, you can easily record all levels of logs in the program , Its log files can be named and archived according to different rules .




Logback Than Log4j to update , It's seen as log4j A substitute for . It is better than log4j Better performance , And more fully realized SLF4J The interface of , And it comes with more functions , For example, automatic log compression , added filter etc. .




JSON It has become the most widely used data transmission format , So in the program JSON And it's getting more and more .



Here's the power node java Some of those recommended by training institutions JSON Processing library :




Jackson It's a multi-purpose Java library , Used for processing JSON data . It's easy to use in JSON Data and Java Convert between objects .(GitHub Code base on )


2)Google Gson


Google Developed JSON library , Can achieve JSON String and JAVA Conversion between objects , It's also very convenient to use .



5、 ... and 、 Chart




Can generate all kinds of charts for you , And support a variety of output formats , Include PNG and JPEG Image format , As well as to PDF,EPS,SVG Isovector diagram .




JasperReports Provides a complete set of report solutions , Help users use Java Language to develop programs with reporting capabilities .JasperReports The template of XML Format , Extract... From the database data , And PDF、HTML、XLS、CSV And XML And so on . One of its advantages is that it can handle reports with a large amount of data .



6、 ... and 、 test




JUnit Is currently the most widely used JAVA Unit test library through it , You can i It's very convenient to write your own unit test code , And automated testing .(GitHub Code base on )



7、 ... and 、Office Document processing


1、Apache POI


Apache POI Is a free open source library for dealing with Microsoft Office file . You can use it Java Read and create , modify MS Excel file ,MS Word and MSPowerPoint file .(GitHub Code base on )




docx4j It's another set based on JAXB Of Office file (docx,pptx,xlsx) Processing library .(GitHub Code base on )



8、 ... and 、XML analysis




JDOM It's an open source project , It's based on a tree structure , Pure utilization JAVA The technology is right XML Document implementation parsing 、 Generate 、 Serialization and multiple operations . stay JDOM in ,XML Element use Element Express ,XML Properties with Attribute Express ,XML The document itself uses Document Express . So these API It's very intuitive and easy to use .(GitHub Code base on )




DOM4J It's a process XML Open source framework of , It's a combination of XPath, And fully support DOM,SAX,JAXP Technology .




Xerces Is an open source XML parsers . from JDK1.5 in the future ,Xerces became JDK Of XML Default implementation



Nine 、 Other noteworthy code bases




jSOUP Provides a set of web pages with external Internet (HTML) interactive API, It's very convenient for users to utilize CSS Selectors to parse HTML page , To get what you need .




Lombok It's a kind of Java Utilities , Can be used to help developers eliminate Java Long , Especially for simple Java object (POJO). It does this through annotations . By means of IDE Add Lombok, Developers can save on building things like hashCode() and equals() This method and the past used to classify all kinds of accessor and mutator A lot of time .




Netty By JBOSS One of the java Open source framework .Netty Provide asynchronous 、 Event driven network application framework and tools , For rapid development of high performance 、 High reliability network server and client End program . in other words ,Netty It's based on NIO The customer , Server side programming framework , Use Netty Can ensure that you quickly and easily develop a network application , For example, customers who have implemented some kind of agreement , Server applications .


That's the power node java Training institutions Xiaobian introduced “Java Third party libraries are commonly used ” The content of , Hopefully that helped , more java The latest information, please continue to pay attention to the power node java Official website of training institution , There will be wonderful content to share with you every day .


  1. 【计算机网络 12(1),尚学堂马士兵Java视频教程
  2. 【程序猿历程,史上最全的Java面试题集锦在这里
  3. 【程序猿历程(1),Javaweb视频教程百度云
  4. Notes on MySQL 45 lectures (1-7)
  5. [computer network 12 (1), Shang Xuetang Ma soldier java video tutorial
  6. The most complete collection of Java interview questions in history is here
  7. [process of program ape (1), JavaWeb video tutorial, baidu cloud
  8. Notes on MySQL 45 lectures (1-7)
  9. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  10. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  11. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  12. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  13. 【递归,Java传智播客笔记
  14. [recursion, Java intelligence podcast notes
  15. [adhere to painting for 386 days] the beginning of spring of 24 solar terms
  16. K8S系列第八篇(Service、EndPoints以及高可用kubeadm部署)
  17. K8s Series Part 8 (service, endpoints and high availability kubeadm deployment)
  18. 【重识 HTML (3),350道Java面试真题分享
  19. 【重识 HTML (2),Java并发编程必会的多线程你竟然还不会
  20. 【重识 HTML (1),二本Java小菜鸟4面字节跳动被秒成渣渣
  21. [re recognize HTML (3) and share 350 real Java interview questions
  22. [re recognize HTML (2). Multithreading is a must for Java Concurrent Programming. How dare you not
  23. [re recognize HTML (1), two Java rookies' 4-sided bytes beat and become slag in seconds
  24. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  25. RPC 1: how to develop RPC framework from scratch
  26. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  27. RPC 1: how to develop RPC framework from scratch
  28. 一次性捋清楚吧,对乱糟糟的,Spring事务扩展机制
  29. 一文彻底弄懂如何选择抽象类还是接口,连续四年百度Java岗必问面试题
  30. Redis常用命令
  31. 一双拖鞋引发的血案,狂神说Java系列笔记
  32. 一、mysql基础安装
  33. 一位程序员的独白:尽管我一生坎坷,Java框架面试基础
  34. Clear it all at once. For the messy, spring transaction extension mechanism
  35. A thorough understanding of how to choose abstract classes or interfaces, baidu Java post must ask interview questions for four consecutive years
  36. Redis common commands
  37. A pair of slippers triggered the murder, crazy God said java series notes
  38. 1、 MySQL basic installation
  39. Monologue of a programmer: despite my ups and downs in my life, Java framework is the foundation of interview
  40. 【大厂面试】三面三问Spring循环依赖,请一定要把这篇看完(建议收藏)
  41. 一线互联网企业中,springboot入门项目
  42. 一篇文带你入门SSM框架Spring开发,帮你快速拿Offer
  43. 【面试资料】Java全集、微服务、大数据、数据结构与算法、机器学习知识最全总结,283页pdf
  44. 【leetcode刷题】24.数组中重复的数字——Java版
  45. 【leetcode刷题】23.对称二叉树——Java版
  46. 【leetcode刷题】22.二叉树的中序遍历——Java版
  47. 【leetcode刷题】21.三数之和——Java版
  48. 【leetcode刷题】20.最长回文子串——Java版
  49. 【leetcode刷题】19.回文链表——Java版
  50. 【leetcode刷题】18.反转链表——Java版
  51. 【leetcode刷题】17.相交链表——Java&python版
  52. 【leetcode刷题】16.环形链表——Java版
  53. 【leetcode刷题】15.汉明距离——Java版
  54. 【leetcode刷题】14.找到所有数组中消失的数字——Java版
  55. 【leetcode刷题】13.比特位计数——Java版
  56. oracle控制用户权限命令
  57. 三年Java开发,继阿里,鲁班二期Java架构师
  58. Oracle必须要启动的服务
  59. 万字长文!深入剖析HashMap,Java基础笔试题大全带答案
  60. 一问Kafka就心慌?我却凭着这份,图灵学院vip课程百度云