- 博客(21)
- 资源 (5)
- 收藏
- 关注
原创 Guava学习系列
Google guava是一个java的工具集,为我们提供了许多实用的帮助类及扩展,对于java程序员很有帮助,下面是一些guava中常用的东西,如有不足,望指教。 Guava学习(一):OptionalGuava学习(二):Preconditions 前置条件Guava学习(三):ObjectsGuava学习(四):Ordering(流畅风格排序器)Guava学习(五):Compa...
2019-09-01 23:37:21
236
原创 Guava学习(十):区间
数学里的区间可以描述一个范围,guava中使用Range帮助我们实现了这种功能。主要方法如下:离散区间抽象类:DiscreteDomain,可以自己实现这个抽象类来创建特定的离散类。代码示例:RangeTest 类package com.bluedragon.guavalearning.range;import com.google.common.collect.BoundTyp...
2019-09-01 23:23:03
415
原创 Guava学习(九):字符串处理
Guava提供了一些字符串处理的类,Joiner:连接器(字符串连接用的),Splitter:拆分器(字符串拆分用的),CharMatcher:字符匹配器(字符匹配用的),CaseFormat:大小写格式。使用例子:/** * @author CodeRush * @date 2019/8/12 22:48 */public class StringToolsTest {...
2019-08-14 23:41:06
283
原创 Guava学习(八):集合帮助类
guava中的集合帮助类主要有:Collections2,Lists,Sets,Maps,Ints,Strings等基本集合类型对应的帮助类及guava的新集合类型对应的帮助类,类名基本是对应类后面加个s。其中Lists,Sets的生产集合的方法可以再创建的时候就传入元素,使用很方便,Sets可以对对两个Set求交集、并集、差集,在某些场景下很有用,其他很多方法有兴趣可以看看。使用例子:pa...
2019-08-11 16:29:33
248
原创 Guava学习(七):新的集合类型
文章目录MultisetMultimapBiMapTableClassToInstanceMapRangeSetRangeMap主要介绍目录中这七种,下面分别介绍^_$。MultisetMultiset:它可以多次添加相等的元素,Multiset继承自JDK中的Collection接口,而不是Set接口,所以包含重复元素并没有违反原有的接口契约。使用场景:一些需要计算元素个数的情况等。...
2019-08-04 22:21:07
264
原创 Guava学习(六):不可变集合
Guava学习(六):不可变集合使用不可变集合的好处:当对象被不可信的库调用时,不可变形式是安全的;不可变对象被多个线程调用时,不存在竞态条件问题不可变集合不需要考虑变化,因此可以节省时间和空间。所有不可变的集合都比它们的可变形式有更好的内存利用率(分析和测试细节);不可变对象因为有固定不变,可以作为常量来安全使用。创建对象的不可变拷贝是一项很好的防御性编程技巧。Guava为所有JD...
2019-08-03 23:02:42
276
原创 Guava学习(五):ComparisonChain(比较链)
Guava学习(五):ComparisonChain(比较链)主要作用是帮助我们实现对象的比较(如果对象有多个字段,我们希望比较的时候是根据多个字段来比较的),没用这个之前我们通常这样写: class Person implements Comparable { private String lastName; private String firstName; ...
2019-07-28 00:37:09
1704
4
原创 Guava学习(四):Ordering(流畅风格排序器)
Guava学习(四):Ordering(流畅风格排序器) 排序器[Ordering]是Guava流畅风格比较器[Comparator]的实现, 它可以用来为构建复杂的比较器, 以完成集合排序的功能。 从实现上说, Ordering实例就是一个特殊的Comparator实例。 Ordering把很多基于Comparator的静态方法(如Collections.max) 包装为自己的实例方法...
2019-07-28 00:22:25
364
原创 Guava学习(三):Objects
Guava学习(三):Objects guava的Objects类中为我们提供了一些实用法方法,主要有:equals,hashCode(这两个jdk7的Objects中也有),toStringHelper(已经废弃,建议使用MoreObjects.toStringHelper,用来帮助生成更易于查看的toString方法)例子:package com.bluedragon.guavale...
2019-07-27 23:52:56
252
原创 Guava学习(二):Preconditions 前置条件
Guava学习(二):Preconditions 前置条件前置条件主要是封装了一些条件判断的实用方法,Preconditions类中主要方法如下:使用例子:package com.bluedragon.guavalearning.preconditions;import com.google.common.base.Preconditions;/** * @author Code...
2019-07-27 23:35:57
203
原创 Guava学习(一):Optional
Guava学习(一):OptionalOptional对象中的主要方法如下:例子: package com.bluedragon.guavalearning.optional; import com.google.common.base.Optional; /** * @author CodeRush * @date 2019/7/27 20:39 */ publ...
2019-07-27 23:06:33
235
原创 大型网站技术架构·核心原理与案例分析思维导图
大型网站技术架构·核心原理与案例分析思维导图大型网站技术架构·核心原理与案例分析 第一章·大型网站架构演化思维导图大型网站技术架构·核心原理与案例分析 第二章·大型网站架构模式思维导图大型网站技术架构·核心原理与案例分析 第三章·大型网站核心架构要素思维导图大型网站技术架构·核心原理与案例分析 第四章·瞬时响应:网站的高性能架构思维导图大型网站技术架构·核心原理与案例分析 第五章·万无一...
2019-02-24 22:39:43
460
原创 RESTful及RESTful API设计规范简介
RESTful及RESTful API设计规范简介RESTful及RESTful API设计规范简介什么是REST什么是RESTfulRESTful API设计规范其他补充说明什么是REST REST这个词,是Roy Thomas Fielding在他2000年的博士论文中提出的。 REST的全称是Representational State Tran...
2018-07-30 00:45:57
1876
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人