推荐Java 中优秀的第三方开源 jar 包


1. log4j
理由:向system.out.println()说永别,刚开始学java的时候总是喜欢依靠system.out.println()的输出来查看异常和调试。后来工作后就果断log4j了,这样项目开发和发布的时候,可以根据自己的需求开关日志级别,把日志打印到远程服务等多种功能。现在这个基本成为标配了。

2.guava
google出品的第三方工具库。当java.util 提供的数据结构不能满足的时候从这里你可以快速找到大量已经写好的数据结构了,这使得你不用花费心思在一些常用的数据结构上了。比如LRU缓存之类的。只是好几个版本的跨度比较大,兼容也不怎么好。

3.apache commons 包含的组件 http://commons.apache.org/。
apache commons 涵盖了大量的小工具,比如发邮件(线上告警用),快速且方便的IO操作封装。等等工具很多,可以自己慢慢去学习。

4.netty
一个网络通信框架,当需要实现自定义协议的时候我就用这个,netty的新版本自带了很多协议的实现版本,这是搞网络快速开发不二的选择。

5.httpclient 系列

主要是用在测试线上服务的时候用的。毕竟是一个基于http协议网络工具,当开发的web上线的时候,利用httpclient来写测试用例,效果很不错。测试的工具有很多,但是这个可以满足你定制http请求的需求。


6.jetty
httpclient 的同一个项目下有一个简易的http server 但是没有实现servlet,这个时候jetty的效果就体现出来了。特别的是,当你打算对 jsp jstl 等方式编写的网页进行功能测试的时候,jetty就可以承担 mock的作用,好用得很。使得你可以在junit的框架下对jsp编写的网页进行测试。

7.maven
现在的java已经离不开这个玩意了。你可以自己搭建一个nexus 来做maven私服。当你存在RPC的需求的时候。完全可以把自己的接口部分和client打包上传到maven私服,调用的服务只需要include这个包就可以远程调用你的服务了。在国内配合上dubbo这类 SOA框架。那个效果酸爽的很。完成了实际意义上的接口于实现在网络层级的分离。让java 的package 形成一个网络上的package。需要某个服务的时候,include 直接调用。其他的一律不用管。


8. Disruptor http://lmax-exchange.github.io/disruptor/
高性能的并发框架,一般用来在涉及到 生产者--消费者模型的时候会用到。抛开性能不谈(实际上性能相当棒)它的抽象方式和接口都设计得很好。

9.quartz http://www.quartz-scheduler.org/
一个调度器,当涉及到多任务定时调用的时候这个框架能帮上非常多。特别在网络游戏服务器中,如果需要定时或者短时定时来做某些事情的时候(用户的长时间buff状态,刷新时间等),quart是一个非常不错的选择。如果时间比较短的话,利用java内置的DelayQueue 也可以。


10.jOOQ/jOOQ · GitHub
用来替代hibernate等,第一次用的时候就眼前一亮。之前用hibernate的时候,如果遇到复杂查询需要优化,是个很麻烦的事情,dba给的建议肯定是基于sql的,需要在sql、hql之间转来转去,或者用原生sql去做。
jooq基本就解决了这个问题,掌握一门sql就可以了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值