facebook presto源码解读( part3 )

# java8&guava&连接器&任务分发及执行
本文分四部分介绍:
分别是
1.java8
2.guava
3.presto连接器
4.presto任务分发及执行的细节

一 java8
1.1 lamda
1.2函数式接口
1.3方法引用
1.4stream
1.5Options
1.6并发

二 guava
1.1基本工具
option
check
Objects 的equal toString hash compare简化
Throwables.propagateIfInstanceOf(t, IOException.class);
1.2集合
2.1 不可变集合: 用不变的集合进行防御性编程和性能提升。
2.2 新集合类型: multisets, multimaps, tables, bidirectional maps等
2.3 强大的集合工具类: 提供java.util.Collections中没有的集合工具
2.4 扩展工具类:让实现和扩展集合类变得更容易,比如创建Collection的装饰器,或实现迭代器
1.3缓存

01
LoadingCache<Key, Graph> graphs = CacheBuilder.newBuilder()
02
        .maximumSize(1000)
03
        .expireAfterWrite(10, TimeUnit.MINUTES)
04
        .removalListener(MY_LISTENER)
05
        .build(
06
            new CacheLoader<Key, Graph>() {
07
                public Graph load(Key key) throws AnyException {
08
                    return createExpensiveGraph(key);
09
                }
10
        });

1.4函数式风格

1.5并发
ListenableFuture
Service框架
1.6字符串
Joiner,Spliter
1.7反射
Reflection
1.8EventBus
用于事件分发
1.9区间
[]
1.10散列
Hash包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值