-
常用Java开源Library
收藏标准JDK中没有提供,或者提供了但是API不是很实用的一些在项目中经常用到的Java开源Library的用法。
最近更新文章
Java命令行选项解析之Commons-CLI & Args4J & JCommander
熟悉Linux命令的都知道几乎所有程序都会提供一些命令行选项。而命令行选项有两种风格:以“-”开头的单个字符的POSIX风格;以“--”后接选项关键字的GNU风格。
假定我们的程序需要以下选项:
引用Options:
-t,--text use given information(String)
-b display current time(boolean)
-s,--size us ...
Java调用Native API之JNA
Java调用C/C++的Native API一般采用JNI(Java Native Interface),但是需要编写特殊的代码,方法、数据的映射也很复杂。JNA(Java Native Access)能够是Java代码很简单的调用到Native API(.dll、.so)。类似于.NET的P/Invoke(Platform Invoke)、Python的ctypes。最初是1999年SUN公司为开 ...
Java执行SSH/SCP之JSch
JSch (Java Secure Channel)是纯Java的SSH2实现。可以把它集成到你的Java应用中来连接sshd服务器,执行指令(port forward, file transfer, terminal emulation)。Ant、Eclipse-CVSSSH2、NetBeans等工具都在使用它。如果你的服务部署在linux服务器中,有时你需要执行一些系统命令,这时候需要用到Run ...
Java元组类型之javatuples
关于方法的返回值,经常需要返回2个值或多个值的一个序列,比如数据表的一条记录,文件的一行内容等。除了使用数组Array、集合(List、Set、Map)这些容器类型之外,在Java中我们就必须创建一个Class来作为返回类型。
在很多语言中都提供元组类型Tuple的支持,比如 .NET Framework 最多支持7个元素的元组,参考这里:
var population = new Tuple&l ...
Java检测无用代码之UCDetector
如果你的项目代码量很大,或者维护了好多年,就必然会存在很多无用代码,维护这些代码会带来很大的成本开支,有时候需要清理这些无用代码,可以通过代码覆盖率工具来检测,但是这样也会很费事。UCDetector : Unnecessary Code Detector,一个检测无用的public代码(类、方法,属性等)的eclipse插件。
http://www.ucdetector.org/
Eclips ...
Java数学表达式计算(Expression Evaluator)
常见的表达式计算lib有:
parsii
JEval
JEPLite
expr
Janino
MathEval
(1)parsii
String exp = "2 + (7-5) * 3.14159 * x + sin(0)";
// compile
Scope scope = Scope.create();
Expression parsiiExpr = Pa ...
Java日文分词器之Kuromoji
Kuromoji是一个开源的,基于java语言开发的轻量级的日文分词工具包。捐赠给了ASF之后被内置在Lucene 和 Solr中,作为默认的日文分词器(默认的中文分词器是smartcn)。但他也不依赖Lucene 或 Solr,可以单独使用。采用维特比算法(Viterbi algorithm),默认使用IPA字典。
其他有名的还有lucene-gosen :http://code.google. ...
Java单元测试之代码覆盖率-JaCoCo
代码覆盖率测试的工具,比较常用的如下:
(1)开源:
JaCoCo http://www.eclemma.org/jacoco/
Cobetura http://cobertura.sourceforge.net/
Emma http://emma.sourceforge.net/
(2)商用:
Clover http://www.atlassian.com/software/c ...
Java单元测试之邮件测试-GreenMail
比较流行的Java的SMTP开源组件有:
Apache James Server http://james.apache.org/
JES(Java Email Server) http://www.ericdaugherty.com/java/mailserver/
SubEthaSMTP http://code.google.com/p/subethasmtp/
Dumbster http: ...
Java简化臃肿代码之Lombok
对于Java语言的一些模板代码(Boilerplate Code),比如我们最常见的访问类的成员变量的getter/setter。如果没有特殊需求,这些方法一般都按照统一的定义规则来书写,而且内容基本不会有什么变化。
当然现在流行的Java的IDE开发工具都提供这些模板代码的自动生成,或者一些编辑器也提供Snippet功能,来减少这些重复性的工作。以最常见的Java开发IDE的Eclipse为例, ...
Java嵌入式NoSQL数据库之Berkeley DB Java Edition
一个通用的事务保护,100%纯Java编写的嵌入式NoSQL数据库,采取开源(免费)和商用(付费)的双License的授权模式。Berkeley DB是历史悠久的嵌入式数据库系统,06年被 Oracle 收购,而Berkeley DB Java Edition是Berkeley DB产品中的一部分。
引用Berkeley DB Java Edition is a open source, tran ...
Java压缩解压ZIP之Zip4j
Zip4j是一个Java操作zip压缩格式的开源项目,功能强大而且使用方便,能完全满足Java操作Zip压缩文件。默认采用UTF-8编码,所以支持中文,同时也支持密码,而且支持多种压缩算法。Zt-ZIP也不错,有兴趣的可以试试。
版本:zip4j_1.3.1.jar
http://www.lingala.net/zip4j/(需FQ)
压缩
1、文件压缩
ZipFile zipFile = ...
Java作业调度之Quartz
Quartz 是一个完全由java编写的开源作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz 允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。整合了 Quartz 的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业。
由James House创建并最初于2001年春天被加入sou ...
Java 常用工具类库 - 目录
有人说当你开始学习Java的时候,你就走上了一条不归路,在Java世界里,包罗万象,从J2SE,J2ME,J2EE三大平台,到J2EE中的13中核心技术,再到Java世界中万紫千红的Framework......等等,你会发现自己总是在学习,但总是有自己不知道的东西。
当你看到代码工程的lib下各种各样的jar文件的时候,你是否能全部知道他们都是干什么用的,为什么要导入到工程下吗?
从Googl ...
Java读写CSV之SuperCSV
Super CSV是一个速度奇快、免费跨平台的 CSV 格式数据的读写库,可以方便的处理对象、Map、列表的读写操作,以及自动化的类型转换和数据检查功能。
http://supercsv.sourceforge.net/
版本:SuperCSV-1.52.jar
1、读CSV(CsvBeanReader/CsvListReader/CsvMapReader)
InputStreamRead ...
Java解析HTML之NekoHTML
NekoHTML是一个简单地HTML扫描器和标签补偿器(tag balancer),使得程序能解析HTML文档并用标准的XML接口来访问其中的信息。这个解析器能投扫描HTML文件并“修正”许多作者(人或机器)在编写HTML文档过程中常犯的错误。NekoHTML能增补缺失的父元素、自动用结束标签关闭相应的元素,以及不匹配的内嵌元素标签。NekoHTML的开发使用了Xerces Native Inter ...
Java网络通信之HttpClient
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。在Android系统中内置了HttpClient。Android下可以试试Square的OkHttp。
http://hc.apache.org/httpcomponents-client-ga/ ...
Java集合框架之fastutil
fastutil扩展了 Java集合框架,通过提供特定类型的map、set、list和queue,以及小内存占用、快速访问和插入;也提供大(64位)array、set 和 list,以及快速、实用的 二进制文件和文本文件的I/O类。它是自由软件,依照Apache许可证2.0发布,需要Java 6或更高版本。
类实现其标准接口(例如, map 的 Map),可以插入现有代码。此外,它们还提供未在标 ...
Java工具类之Apache的Commons Lang和BeanUtils
Apache Commons包估计是Java中使用最广发的工具包了,很多框架都依赖于这组工具包中的一部分,它提供了我们常用的一些编程需要,但是JDK没能提供的机能,最大化的减少重复代码的编写。
http://commons.apache.org/
1)Commons Lang是对JDK中java.lang包的补充,提供了各种各样的Utilities工具类,这里说说最常用的几个工具类。
版本: ...
Java日期计算之Joda-Time
Joda-Time提供了一组Java类包用于处理包括ISO8601标准在内的date和time。可以利用它把JDK Date和Calendar类完全替换掉,而且仍然能够提供很好的集成。
http://joda-time.sourceforge.net/
版本:joda-time-2.1.jar
1、时间类得作成
//方法一:取系统点间
DateTime dt1 = new DateTim ...
- 专栏创建者:rensanning
- 创建时间:2014-03-06 13:13:09
- 专栏文章数:25篇
- 专栏被浏览:682284 次
本专栏热门文章
最新评论
楼主,很赞。问一下,lang和lang3差距不是很多吧。我这有个老代码,用的是lang,到网上下载ja ...
u014212273 评论了 Java工具类之Apache的Commons Lang和BeanUt ...
u014212273 评论了 Java工具类之Apache的Commons Lang和BeanUt ...