
Java工具类
Leon-Zheng
未来已来
展开
-
Google Guava Splitter
String.split的特殊情况 String[] split = ",a,,b,".split(","); for (String s : split) { System.out.println(s); } System.out.println(split.length);输出结果为:ab原创 2017-03-28 01:20:32 · 989 阅读 · 0 评论 -
JDK 动态代理实现及原理解析
前面介绍了代理模式,讲了动态代理常见的实现方式,包含了JDK的动态代理和CGLib的动态代理。本文将介绍下JDK 动态代理实现及机制。首先,要了解的是InvocationHandler接口。"InvocationHandler is the interface implemented by the invocation handler of a proxy instance.原创 2017-04-23 21:19:29 · 1777 阅读 · 0 评论 -
CGLib动态代理的介绍及用法(单回调、多回调、不处理、固定值、懒加载)
前面介绍了代理模式,讲了动态代理常见的实现方式,包含了JDK的动态代理和CGLib的动态代理。本文将介绍下CGLib动态代理及几种用法。CGLib(Code Generation Library)是一个高效的代码生成库,底层实现是使用asm来转换字节码生成类。在生成代理类的场景中,由于JDK动态代理必须要求源对象有实现接口,而实际场景中,并不是所有类都有实现接口,因此使用CGLib可以用在未实原创 2017-04-24 01:21:56 · 7785 阅读 · 1 评论 -
Guava cache简单使用
使用guava cache用来构建内存级别的缓存,减少对数据库的访问次数public class Test { public static void main(String[] args) throws ExecutionException, InterruptedException { LoadingCache cahceBuilder = CacheBuilder原创 2017-07-20 23:47:59 · 398 阅读 · 0 评论