阻塞队列、线程池、原子性及并发工具类
一、阻塞队列ArrayBlockingQueue类:底层是数组,有界,没有无参构造方法
LinkedBlockingQueue类:底层是链表,无界但最多能存放int的最大值,无参构造方法默认容量就是最大值
常用方法:
put(Object o): 将参数放入队列,如果放不进去会阻塞
take(): 取出第一个数据,取不到会阻塞
使用阻塞队列实现生产者消费者模式:
public class Test {
public static void main(String[] args) throws
InterruptedException {
ArrayBlockingQueue<String> arrayBlockingQueue = new
ArrayBlockingQueue<>(1);
Foodie foodie = new Foodie(arrayBlockingQueue);
Cooker cooker ...
进制转换、原码、反码、补码及位运算详解
一、进制介绍二进制是逢2进位的进位制,0、1是基本算符。
现代的电子计算机技术全部采用的是二进制,因为它只使用0、1两个数字符号,非常简单方便,易于用电子方式实现。计算机内部处理的信息,都是采用二进制数来表示的。二进制(Binary)数用0和1两个数字及其组合来表示任何数。进位规则是“逢2进1”,数字1在不同的位上代表不同的值,按从右至左的次序,这个值以二倍递增。
对于整数,有四种表示方式:
1、二进制:0,1.满2进1,以0b或0B开头。
2、十进制:0-9,满10进1。
3、八进制:0-7,满8进1,以数字0开头表示
4、十六进制:0-9及A(10)-F(15),满16进1,以0x或0X开头表示。此处的A-F不区分大小写。
二、二进制、八进制、十六进制转换为十进制(1)二级制转换为十进制示例
规则:从最低位(右边) 开始,将每个位上的数据提取出来,乘以2的(位数-1)次方,然后求和。
案例:将0b1011转为十进制的数
0b1011 = 1 * 2的(1-1)次方 + 1 * 2的(2-1)次方 + 0 * 2的(3-1)次方 + 1 * 2的(4-1)次方= ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.欢迎来到Hexo!这是你的第一篇文章。有关详细信息,请查看文档。如果您在使用Hexo时遇到任何问题,您可以在疑难解答中找到答案,也可以在GitHub上询问我。
Quick StartCreate a new post创建新帖子$ hexo new "My New Post"
More info: Writing
Run server运行服务器$ hexo server
More info: Server
Generate static files$ hexo generate
More info: Generating
Deploy to remote sites部署到远程站点$ hexo depl ...