![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java底层
IT大都督
一个有态度的程序员
展开
-
一文搞明白位运算、补码、反码、原码
在平时看各种框架的源码的过程中,经常会看到一些位移运算,所以作为一个Java开发者是一定掌握位移运算的。 正数位移运算 Java中有三个位移运算: <<:左移 >>:右移 >>>:无符号右移 我们直接看一下Demo: System.out.println(2 << 1); // 4 System.o...原创 2019-08-14 09:15:00 · 317 阅读 · 0 评论 -
Integer.highestOneBit(int i)方法的作用与底层实现
在Integer类中有这么一个方法,你可以给它传入一个数字,它将返回小于等于这个数字的一个2的幂次方数。这个方法就是highestOneBit(int i)。 比如下面的Demo,注意方法的输入与返回值: System.out.println(Integer.highestOneBit(15)); // 输出8 System.out.println(Integer.highestOneBit(1...原创 2019-08-29 18:07:57 · 652 阅读 · 1 评论 -
大型互联网公司分布式ID方案总结
ID是数据的唯一标识,传统的做法是利用UUID和数据库的自增ID,在互联网企业中,大部分公司使用的都是Mysql,并且因为需要事务支持,所以通常会使用Innodb存储引擎,UUID太长以及无序,所以并不适合在Innodb中来作为主键,自增ID比较合适,但是随着公司的业务发展,数据量将越来越大,需要对数据进行分表,而分表后,每个表中的数据都会按自己的节奏进行自增,很有可能出现ID冲突。这时就需要一个...原创 2019-09-05 15:36:11 · 1041 阅读 · 0 评论