摘要: 在并发队列上JDK提供了两套实现,一个是以ConcurrentLinkedQueue为代表的高性能队列,一个是以BlockingQueue接口为代表的阻塞队列,无论哪种都继承自Queue。 一、ConcurrentLinkedQueue 是一个适用于高并发场景下的队列,通过无锁的方式,实现了高并发状 阅读全文
posted @ 2016-08-07 00:53 dongdone 阅读(761) 评论(0) 推荐(0) 编辑
摘要: Copy-On-write简称COW,是一种用于程序设计中的优化策略。 JDK里的COW容器有两种:CopyOnWriteArrayList和CopyOnWriteArraySet,COW容器非常有用,可以在非常多的并发场景中使用到。 CopyOnWrite容器即写时复制的容器。通俗的理解是当我们往 阅读全文
posted @ 2016-08-06 23:04 dongdone 阅读(261) 评论(0) 推荐(0) 编辑
摘要: ConcurrentMap接口下有两个重要的实现: ConcurrentHashMap ConcurrentSkipListMap(支持并发排序功能,弥补ConcurrentHashMap) ConcurrentHashMap内部使用段(Segment)来表示这些不同的部分,每个段其实就是一个小的H 阅读全文
posted @ 2016-08-06 22:54 dongdone 阅读(1340) 评论(0) 推荐(0) 编辑
摘要: scala语言中没有static成员存在,但是scala允许以某种方式去使用static成员这个就是伴生机制,所谓伴生,就是在语言层面上,把static成员和非static成员用不同的表达方式,class和object,但双方具有相同的package和name,但是最终编译器会把他们编译到一起,这是 阅读全文
posted @ 2016-08-05 17:57 dongdone 阅读(3179) 评论(1) 推荐(1) 编辑
摘要: list的下标访问 map函数 添加元素 foreach 去重 累加 reduce 元组: map: 阅读全文
posted @ 2016-08-05 17:07 dongdone 阅读(196) 评论(0) 推荐(0) 编辑
摘要: to until switch 阅读全文
posted @ 2016-08-05 16:58 dongdone 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 默认值: 可变参数: 下划线的使用: 递归函数:需要显式的给予函数的返回类型 函数柯里化: 把这个参数一个个独立开来写,这就是柯里化 柯里化就是把参数可以分开来,把部分函数参数可以用下划线来代替 匿名函数声明方式 :后面是数据类型,c代表传进来的参数 匿名函数 匿名函数作为参数,其实就是参数名,后面 阅读全文
posted @ 2016-08-05 16:49 dongdone 阅读(209) 评论(0) 推荐(1) 编辑
摘要: 一、条件表达式 在scala中if/else表达式有值,这个值就是跟在if或者else之后的表达式的值。 在scala中每个表达式都有一个类型。举例来说,表达式if(x>0) 1 else -1的类型是Int,因为两个分支的类型都是Int. 混合表达式的类型是两个分支的类型的公共超类型。例如if(x 阅读全文
posted @ 2016-08-05 11:47 dongdone 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 一、cume_dist 这两个序列分析函数不是很常用,这里也介绍一下。注意: 序列函数不支持WINDOW子句。 数据准备: 创建表并加载数据 验证数据: CUME_DIST–CUME_DIST 小于等于当前值的行数/分组内总行数–比如,统计小于等于当前薪水的人数,所占总人数的比例 rn1: 没有pa 阅读全文
posted @ 2016-08-04 18:04 dongdone 阅读(1462) 评论(0) 推荐(0) 编辑
摘要: 一、ntile 序列函数不支持window子句 数据准备: 把数据load到表中 NTILE(n),用于将分组数据按照顺序切分成n片,返回当前切片值NTILE不支持ROWS BETWEEN,比如 NTILE(2) OVER(PARTITION BY cookieid ORDER BY createt 阅读全文
posted @ 2016-08-04 17:33 dongdone 阅读(795) 评论(0) 推荐(0) 编辑