- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 java集合类
相对于其他的自平衡树例如AVL树,红黑树并不严格保证时左右子树的高度差超过1,这使得红黑树在删除时能够更快的恢复平衡,成本比较低,所以面对频繁的插入删除时,红黑树更适合,而面对低频修改,大量查询时AVL树更合适。get操作逻辑:计算出key的hash值并计算出槽位,然后通过getObjectVolatile获取数该槽位的元素,并比较hash值和key值,若相同则返回,如果槽位内节点的hash值小于0则说明正在进行扩容,则通过ForwardingNode的find函数去新的数组nextTable中进行查找。
2023-08-02 08:26:32
53
原创 java知识
但是由于秘钥同样需要在网络上进行传输,我们仍然需要对秘钥进行保护,为了解决这个问题,我们可以使用非对称加密,就是我们常见的RSA算法,该算法能够生成公钥和私钥,公钥任何人都可见,用来对信息加密,而私钥用来对加密信息进行解密,这种非对称加密算法,加密和解密的耗时都比较长,所以只适合对少量的数据进行加密传输,就刚好可以用来进行对称加密算法的秘钥传输。HashMap的容量为2的幂的主要是因为HashMap在计算槽位的时候使用的算法是(n-1)& hash,当n为2的幂时元素可以更加均匀的散列。
2023-07-30 16:43:46
77
原创 java小知识
注意事项:在switch语句中,如果case控制的语句体后面不写break,将出现穿透现象,在不判断下一个case值得情况下,向下运行,直到遇到break,或者整体switch语句结束。依次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行过程中,遇到break就会结束。如果所有的case后面的值和表达式的值都不匹配,就会执行default里面的语句体,然后程序结束掉。参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者--。类型,要么是true,要么是false。
2023-07-09 16:58:05
58
原创 JAVA数据类型转换
注1:光就System.out.println的使用来说,语句System.out.println(object.toString());在使用重载方法时,这样做是一个好的习惯。Integer.valueof(String s)是将一个包装类是将一个实际值为数字的变量先转成string型再将它转成Integer型的包装类对象(相当于转成了int的对象)这样转完的对象就具有方法和属性了。Object.toString(),(String)要转换的对象,String.valueOf(Object)等。
2023-06-18 21:13:47
1406
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人