本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- xiangjie88
- zysnba
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- gengyun12
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sam123456gz
- sichunli_030
- arpenker
- tanling8334
- gaojingsong
- kaizi1992
- xpenxpen
- 龙儿筝
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- lemonhandsome
- mengjichen
- jbosscn
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- mwhgJava
- kingwell.leng
最新文章列表
Guava: Working with Collections II
1. Table
2. ImmutableCollections
3. Comparision Chain & Range
4. Ordering
1. Table: Map<R, Map<C, V>>
1> Create table
package edu.xmu.guava.collection;
import stati ...
Guava: Working with Collections I
1. Classes with useful static methods for working with lists, maps and sets
2. The Range class used to represent the boundaries around a continuous set of values
3. Immutable Collections
4. Bimaps ...
Guava: Functional Programming with Guava
1. Function<F, T> & Functions
2. Predicate<T> & Predicates
3. Supplier<T> & Suppliers
1. Function & Functions
1> Function
With Java in its current ...
Guava: Joiner & Splitter
1. Joiner
Comparasion between traditional approach and Guava approach:
@Test
public void buildStringTest() {
List<String> data = Lists.newArrayList("A", "B" ...
Guava Optional<T> 关于null
对于Java中null的缺点和如何处理,大家讨论了很多遍,guava给出的解决方法是Optional<T>
public static Optional<String> getYourName () {
return Optional.of("malone");
}
public stati ...
Guava 字符串处理(Joiner, Splitter, CharMatcher)
guava 提供了非常强大的字符串处理操作
1 Joiner
以前肯定遇到过这样的场景,为了sql查询,把一个List<Integer>集合拼接成一个字符串,用逗号隔开,看一下Joiner如何实现的:
public static void main (String args[]) {
List<Integer> list = L ...
Guava Objects
java中所有的类都继承了Object类,当有需求时, 会重写equals, hashCode, toString方法,guava提供了Objects类简化了这些操作
1 equals
jdk要求对equals的重写要符合一下几点:
1. 自反性reflexive:任何非空引用x,x.equals(x)返回为true;
2. 对称性symmetric:任何非空 ...
guava 使用总结
guava 是google工程师开源的java工具包,里面包括了大量常用及好用的工具总结,谷歌的内部工程师也在大量使用。
guava主要包括这些包:
base 基本的工具类与接口
io io流相关的工具类与方法
net 网络地址相关的工具类与方法
primitives ...
MD5 几种方法的选择
md5加密实现方法有很多种,也导致很难选择。大概分析下自己了解的一些用法。
1.sun官方
sun提供了MessageDigest和BASE64Encoder可以用指定算法加密。
例:
public static final String EncoderPwdByMd5(String str) throws NoSuchAlgorithmException,U ...
Guaval API学习之RangeMap
在前面中谈到了RangeSet的特点及其用法。今天要谈的的RangeMap和RangeSet有许多不一样的。 在Google Guava官方API上面可以得知:RangeMap是一种集合类型( collection type),它将不相交、且不为空的Range(key)映射给一个值(Value)。和RangeSet不一样,RangeMap不可以将相邻的区间合并,即使这个区间映射的值是一 ...
Guava API学习之RangeSet
前面谈到了Guava中新引入的Range类,也了解了其中的作用,那么今天来谈谈Guava中用到Range来的地方:RangeSet类。RangeSet类是用来存储一些不为空的也不相交的范围的数据结构。假如需要向RangeSet的对象中加入一个新的范围,那么任何相交的部分都会被合并起来,所有的空范围都会被忽略。 讲了这么多,我们该怎么样利用RangeSet?RangeSet ...
Guava API学习之Range
在Guava中新增了一个新的类型Range,从名字就可以了解到,这个是和区间有关的数据结构。从Google官方文档可以得到定义:Range定义了连续跨度的范围边界,这个连续跨度是一个可以比较的类型(Comparable type)。比 如1到100之间的整型数据。不过我们无法遍历出这个区间里面的值。如果需要达到这个目的,我们可以将这个范围传给 ContiguousSet.cre ...
Guava API学习之CharSequenceReader
CharSequenceReader类是以CharSequence的形式读取字符。CharSequenceReader类继承自Reader类,除了remaining()、hasRemaining()以及checkOpen()函数之后,其他的函数都是重写Reader类中的函数。
注:CharSequenceReader类声明没有用public关键字,所以我们暂时还不 ...
Guava cache
Guava cache
1. 什么是Guava cache
Guava是google开源的一个java框架包,其中有很多java工具包,Guava cache就是该框架包中的一个工具包,通过Guava cache包可以实现一些简单的缓存功能,可以将一些常用数据进行本地缓存。
2. Guava cache的案例使用
如当我们在做web开发的时候,有些固定数据更新的不频繁(如系统配置,模板数据等 ...
Guava Collections API学习之Multisets
今天谈谈Guava类库中的Multisets数据结构,虽然它不怎么经常用,但是还是有必要对它进行探讨。我们知道Java类库中的Set不能存放相同的元素,且里面的元素是无顺序的;而List是能存放相同的元素,而且是有顺序的。而今天要谈的Multisets是能存放相同的元素,但是元素之间的顺序是无序的。从这里也可以看出,Multisets肯定不是实现Java中Set接口的,因为S ...
Guava Collections API学习之Iterators
Iterators类提供了返回Iterator类型的对象或者对Iterator类型对象操作的方法。除了特别的说明,Iterators类中所有的方法都在Iterables类中有相应的基于Iterable方法对应。 性能说明:除非特别说明,所有在这个类中的迭代器都是懒惰的,这意味着在觉得必要的时候,需要提前得到迭代功能。Iterators类可以通过emptyIterator()方 ...
guava测试例子,取值和定时重新装载
package com.taobao.saleengine.core.processor.onlinelearning.service.impl;
import static com.google.common.base.Preconditions.checkNotNull;
import java.util.concurrent.ExecutionException;
import ...