Guava
汪小哥
有多少时光可以挥洒~人生短短几十年~
展开
-
Guava字符串处理Joiner源码分析
Joiner的使用以及实现原理作用和并字符串的作用,还可以去掉null的值哦Joining together a sequence of strings with a separator can be unnecessarily tricky – but it shouldn’t be. If your sequence contains nulls, it can be even harder原创 2017-04-07 20:46:13 · 1755 阅读 · 0 评论 -
Guava Cache 使用学习
Guava -Caache Guava缓存值CacheBuilder介绍-参考 Google -CachesExplained wiki 缓存框架Guava Cache部分源码分析概述缓存是日常开发中经常应用到的一种技术手段,合理的利用缓存可以极大的改善应用程序的性能。 Guava官方对Cache的描述连接 缓存在各种各样的用例中非常有用。例如,当计算或检索值很昂贵时,您应原创 2018-02-05 20:01:51 · 53122 阅读 · 7 评论 -
Guava类库中的Multisets的实现机制源码分析
Guava类库中的Multisets的实现机制Multisets数据结构,虽然它不怎么经常用。我们知道Java类库中的Set不能存放相同的元素,且里面的元素是无顺序的;List是能存放相同的元素,而且是有顺序的。Multisets是能存放相同的元素,但是元素之间的顺序是无序的。从这里也可以看出,Multisets肯定不是实现Java中Set接口的.因为Set接口是不能存放相同的元素Java原创 2017-04-03 22:02:37 · 1082 阅读 · 0 评论 -
Guava ImmutableSet源码去重处理,Hash处理
为什么ImmutableSet是不可变类,ImmutableSet源码去重处理,Hash处理关于不可变类具备了啥子Immutable创建的过程,如何使用Hash一些基本的方法的说明构建一个和多个分开起来,估计是为了做Hash的分开处理吧!从创建开始说起of(E element)从这个函数开始说起,of有很多的重载函数,我们就从简单的创建说起,一步步的跟踪看看这个函数到底为啥会是不可变类。原创 2017-04-02 21:57:31 · 2684 阅读 · 0 评论 -
Googgle guava ImmutableCollections
Googgle guava ImmutableCollections参考文档 Google Guava ImmutableCollections官方文档Immutable objects have many advantages(不可变类有很多的好处)Safe for use by untrusted libraries(安全的使用不受信任的库),我记得Effective Java中看到过,原创 2017-04-02 16:11:11 · 919 阅读 · 0 评论 -
Guava ImmutableSet.Builder源码分析,移位原码补码反码复习
建筑者模式的继承结构建筑者模式对于构建非常的爽,这种写法也是比较的喜欢的,看看这里处理的继承体系吧 使用ImmutableSet作为例子每一个都有一个static的成员方法,更好的统一所有集合的构造调用 使用ImmutableSet作为例子中的 public static <E> Builder<E> builder() { return new Builder<E>();}Im原创 2017-04-02 16:07:29 · 650 阅读 · 0 评论 -
Guava ByteSreams 常用方法的封装,FileInputStream的兄弟ByteArrayInputSteam,装饰类大兄弟DataOutputStream
ByteArrayInputSteamJDK解释:一个从字节数组读取的输入流包含一个内部缓冲区包含的字节,可以从流中读取。内部计数器跟踪由读方法提供的下一个字节。Closing a ByteArrayInputStream has no effect. The methods in this class can be called after the stream has been closed w原创 2017-04-10 20:57:34 · 2753 阅读 · 0 评论 -
Guava在Preconditions前置条件的判断
why?在编写程序的时候,很多时候都需要检查输入的参数是否符合我们的需要,比如人的年龄要大于0,小于100,值不能为NUll如果不符合这两个要求,我们将认为这个对象是不合法的.检测是非常有必要的,不检查那个不得了了啊很多情况下,不满足就进行处理,那个意外伤害性很大。参考文档https://github.com/google/guava/wiki/PreconditionsExplained原创 2017-03-31 21:16:00 · 3411 阅读 · 1 评论 -
Google Guava 使用Optional<T>
Google Guava之Optional为什么使用这个使用Optional除了简化粗鲁的if(null == object)、降低函数的复杂度、增加可读性之外,它是一种傻瓜式的防护,Optional引导编码人员主动的思考引用为null的情况。轻率地使用null可能会导致很多令人惊愕的问题。此外,Null的含糊语义让人很不舒服。Null很少可以明确地表示某种语义,例如,Map.get(key)原创 2017-03-31 21:09:05 · 7268 阅读 · 0 评论 -
Guava处理原生类型的数据
概述Java的原生类型就是指基本类型:byte、short、int、long、float、double、char和boolean。基本类型byte: 8位 -128~127基本类型char char 是字符数据类型 ,是无符号型的,占2字节(Unicode码),大小范围 是0—65535;char是一个16位二进制的Unicode字符,JAVA用char来表示一个字符 。Java是用unicod原创 2017-04-09 18:19:08 · 4378 阅读 · 0 评论 -
Guava Ordering的使用
Guava Ordering的使用参考官方说明文档-OrderingExplained Guava强大的”流畅风格比较器”-翻译版 Guava —- Ordering排序工具-简单的使用 Guava学习笔记:Ordering犀利的比较器概述排序器Ordering是Guava流畅风格比较器Comparator的实现,它可以用来为构建复杂的比较器,以完成集合排序的功能。原创 2018-02-07 14:48:29 · 4404 阅读 · 1 评论