Semaphore和Exchanger

类Semaphore的主要作用是限制并发执行的线程数,它具有synchronized所不具有的强大功能,比如等待获取许可的同时可以加入等待时间,还有尝试是否可以持有锁等这类扩展功能,可以说它是强有力的控制并发线程个数的解决方案之一。
Exchanger是线程间传输数据的方式之一,而且在传输数据类型上没有任何限制。

阅读全文 »

java 单例模式

单例模式算是设计模式中最容易理解,也是最容易手写代码的模式了吧。但是容易不一定意味着简单,想要用好、用对单例模式,还真得费一番脑筋。本文对Java中常见的单例模式写法做了一个总结,如有错漏之处,恳请读者指正。

阅读全文 »

zookeeper 安装

单机安装zookeeper

1、下载响应版本的zookeeper

wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

2、解压安装文件

tar -xzvf zookeeper-3.4.6.tar.gz
mv zookeeper-3.4.6 zookeeper
阅读全文 »

mysql 其他函数

DEFAULT(col_name)
函数使用说明:返回一个表列的默认值。若该列没有默认值则会产生错误。

FORMAT(X ,D)
函数使用说明:将数字 X 的格式写为 '#,###,###.##', 以四舍五入的方式保留小数点后 D 位, 并将结果以字符串的形式返回。若 D 为 0, 则返回结果不带有小数点,或不含小数部分。

阅读全文 »

mysql 聚合函数

AVG([DISTINCT] expr)
函数使用说明:返回 expr 的平均值。 DISTINCT 选项可用于返回 expr 的不同值的平均值。

BIT_AND(expr)
函数使用说明:返回expr 中所有比特的 bitwise AND 。计算执行的精确度为64 比特(BIGINT) 。若找不到匹配的行,则这个函数返回18446744073709551615 。( 这是无符号 BIGINT 值,所有比特被设置为 1 )。

阅读全文 »