
java
com.蒙大侠
码蒙
展开
-
Java并发编程——同步模式之顺序控制——juc多个线程交替打印
同时三个线程启动分别打印a、b、c, 要求按照循序打印abcabcabc。使用wait notify两个关键字实现。原创 2022-11-09 00:16:27 · 257 阅读 · 1 评论 -
java 对象锁synchronized关键字锁住对象时,对象内容是否能被改变?
所以如果需要使用synchronized关键字锁对象,对象声明时最好加上final关键字以免编译不通过,但确确实实锁住的同时对内容是可以发生改变的,只不过对象的地址不能发生改变。(所谓对象地址指的是变量指向堆空间的指针指向,也就是指针指向不能发生改变,但指针指向的值可以发生改变!)...原创 2022-08-02 23:04:28 · 750 阅读 · 0 评论 -
Java 二分查找(无符号位移优化)
关于二分查找计算中间值可能出现的超出类型范围问题在此提供了解决方案。可以测试一下,当数组的长度为 Integer.MAX_VALUE(2147483647)时 ,第二次循环到 m = (l + r) / 2; 就会出现异常 测试: 第二次循环的时候 m(中间值) 为负数。那怎么办呢? 我的方法是使用位移运算符测试:没毛病!在此不讨论位移运算的细节,修改二分查找代码: 仅是个人学习所得,如有不足之处,欢迎指正。......原创 2022-06-08 11:21:42 · 181 阅读 · 0 评论