赣州新闻网

首页 / 科技

2020科技巨头对开源的影响

2020-01-07 · 赣州新闻网 · 科技

一般一个经验丰富的开发者,一般都喜欢使用开源的第三方api库来进行开发,毕竟这样能够提高开发效率,并且能够简单快速的集成到项目中去,而不用花更多的时间去在重复造一些无用的轮子,多了解一些第三方库可以提高我们的开发效率,下面就来看一下在开发过程中经常会用到的一些开发第三方I h C R库,也可能不是太全,就列举一些常见或者常用的吧。

1,日志库

日志库是最常用的,毕竟! ! r 子是没有意义的。我们应该使用经过测试的库,而不是时不时地编写我们自己的程序。对于开发人员来说,熟悉Apache Commons和谷歌Gk 7 b M Luava是很有用的。

5,HTTP库

虽然J~ N t p d I -DK中的? ( m V Z java.net 包也能实现^ O . ] lHTTP连接,以及Http请求,但是它的使用没有像Apache HttpClient和HttpCore这样的开源第三方库简单,执行HTTP! { {请求都得自己自己重复写大量的代码。虽然JDK 9提供了对+ u _ h 8 ^ 0 ]HTTP 2.0的支持和对HTTP的更好支持,但我强烈建议所有Java开发人员熟悉流行的HTTP客户D } S r x z [ P *端请求库,包括HttpClient和HttpCore。

6,XML解析库

有许多XML解析库,包括Xerces、JAXB、JAXP、Dom4j和Xstream。Xerces! N R 0 T $ u C2是Apache Xerces家族中下一代G h { J a d k G高性能、完e X [ u / , u & ~全兼容的XML解析器。这个新版本的Xerces引入了Xe b Zjavassist和Cglib Nodep。Javassist 使得JAVA字节码操作非常简单。它是一个用于v + m _ w A b编辑Java字节码的类库。ASM是另一个有用的字节码编辑库。

9,数据库连接池库

如果您正在与来自Java应用程序的u 3 n O I p数据库进行交互,但是没有使用数据库连接池库,那么您可能会遗漏一些内容。由于在运6 b 7 8 L行时创建数据库连接需要时间,并且会使请求处理速度变慢,因此总是建议使用DB连接库。其中最流行的是C3P0和DBCP,以及) t = 8 K - J H !阿里的德鲁伊(Druid)。

在web应用程序G 7 F $ * ( V yOP,PDF Box库。

两者都提+ T 7供了有用的PDF相关功能,但iText更丰富、更好。

12,日期和时间库

在Java 8之前,JDK的数据和时间库有很多缺陷,因为它们不是线程安全的、不可变的和容易出错的。许多Java开发人员依赖于JodaTime来实现他们的日期和时间需求。

从JDK 8开始,就没有理由使用JodaTime ,因为JDKd * l g S j u 8的新的日期和时间API提供了所有这些功能,但是如果您使用的是较旧的Java版本,那么JodaTime0 Q | Q R 9 B Z是一个值得学习的库。

13,集合库

尽管JDK有丰富的集合 I 4 [ Q : /库,但也有一些第三方库提供了更多的选项,比如Apache Commons集合、GoldmaL 1 z , U y 6 r un Sachs(高盛公司)集合、谷歌集合和Trove。

Trove库特别有用,因为它为Java提供了高速的常规和基本集合。

FasS b t T y s h { vtUtil是另一个类似的API。它扩展了Java集合框架,提供了类型特定的映射、集合、列表和优先级队列,@ P }占用的内存很少,访问和插入也很快;它还提供了大型(64位)数组、集合和列表,并为二进制文件和文本文件提供了快速、实用的I/O类。

14,邮件API库

javax.O Z I d % n %mail和Apache Commons Email都提供了从Java发送电子邮件的API。它构建在JavaMail API之上,其目的是简化API。

15,HTML转换库

与JSON和XML类似,HMTL是许多人必须处理的另一种常见格式。谢天谢地,我们有了JSoup,它极大地简化了在Java应用程序中使用HTML的工作。

它提供了Y s 8 F , q _ [一个非常方便的API,可以使用DOM、CSS和类似于jquery的方法来提取和操作数据。JSouD : 9 5p实现了HTML5规范,并像现代浏览器那样将HTML解析为相J j K y S V j ;同的DOM。

16,加密库

apY # ; ? K n |ache Commons Codec包包含用于各种格式(如Base64和十六进I [ f _ )制)的简单编码器和解码器。

除了这些广泛使用的编码器和解码器之外,codec包还维护了语音编X { H X码实用程序的集合/

17,嵌入式sql数据库库

像H2p f Z E这样的内存数据库,它可以嵌入到Java应用程序中。它们非常适合测试S8 # 2 # C Z % RQL脚本和运行需要数据库的单元测试。u _ $ n O P Z然而,H2并不是唯一的DB,您还可以d F v选择Apache Derby和HSQL。

18,JDBC故障排除库

有一些很好的JDBC扩展库,它们可以简化调试,比如P6spy。

这个库使数据库数据能够被无缝地拦截和记录,而不需要对应用程序进行任何代码更改。U g z D 6您可以使用它们来记录SQL查询及其计时。

例如,如果k J t您在代码中使用PrepI 8 ( U 2 2aredStatment和CallableStatemeg P } ) U 6 5 Pnt,G Z i l这些库可以使用参数记录准确的调用以及执行所需的时间。

19,序列化库

谷歌Protobuf是一种将结构化数据编码为一w x m C Q l种高效且可扩展格式的方法。它是Java序列化的更丰富和更好的选择。建5 ` ( O议有经验的Java开发人员可以学习一下谷歌Protobuf。q 5 [ 5 I v

20,网络库

一些有用的网络库是Netty和Apache MINA。如果您正在编写一个需要执行低级网络任务的应用程序,请考虑使用这些库。

Java程序员必须了解的20个lib库

以上就是每个Java开发人员都应该使用的一些有用的库。Jm ; k qava领域非常庞大,您会发现有大量的库可以用来做不同的事情。

转自:https://www.cnblogs.com/Hackerman/p/12577340.html

测试项目工作需求请求影响寻乌巨头科技