Guava学习笔记(五)

Guava学习笔记(五)

本节学习Guava的InternetDomainName、I/O utilities、Ranges和Hashing

InternetDomainName

一个域名解析库,用到的时候再来看看。

I/O utilities

Closing Resources

在操作完读写流时,我们需要关闭流,这个代码看起来很长。怎么解决呢?

Closer是一个Guava类,使用它可以管理我们的流对象

1
2
3
4
5
6
7
8
9
10
Closer closer = Closer.create();
try {
InputStream in = closer.register(openInputStream());
OutputStream out = closer.register(openOutputStream());
// do stuff with in and out
} catch (Throwable e) { // must catch Throwable
throw closer.rethrow(e);
} finally {
closer.close();
}

Ranges

一个区间库,好像之前还没场景用过这个,插个眼,有需要的时候再看看

-w288

Hashing

我理解下来,这就是一个Hash生成器,功能肯定是比JDK自带的要好用,组要体现在把算法与数据进行了分解。

1
2
3
4
5
6
7
8
public void test3() {
HashFunction hashFunction = Hashing.sha256(); //1
HashCode hashCode= hashFunction.newHasher()
.putString("wuyuexin", Charset.defaultCharset())
.putInt(18)
.hash(); //2
System.out.println(hashCode.toString());
}
  1. 声明了需要使用的Hash算法,Guava内置了很多默认的Hash算法
  2. 对需要加密的数据进行hash,最后会得到一个HashCode对象,就能拿到Hash后的值

备注: emm。BloomFilter部分没看懂

# guava

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×