CountDownLatch类可以实现两种角色的线程等待对方的效果;
CyclicBarrier类可以使同类现成互相等待达到同步的效果;
这两个类可以更加完善的实现现成对象之间的同步性,对线程对象执行的轨迹控制更加方便。
Semaphore和Exchanger
类Semaphore的主要作用是限制并发执行的线程数,它具有synchronized所不具有的强大功能,比如等待获取许可的同时可以加入等待时间,还有尝试是否可以持有锁等这类扩展功能,可以说它是强有力的控制并发线程个数的解决方案之一。
Exchanger是线程间传输数据的方式之一,而且在传输数据类型上没有任何限制。
java volatile 关键字理解
Java语言包括两种同步机制:同步块和volatile变量,都是为了实现线程的安全性。其中volatile同步性相对弱一些,所以相对容易出错;
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 )。
0%