1.字符窜判断:从键盘输入一个字符串,判断字符是否可以转换为有效数字 2.随机产生一个200内数字,猜高了输出“高了”,低了输出低了,直到猜对为止输出“对了”(分别用死循环,dowhile,while写) 3.数组{1,3,5,6,0}插入一个数保持连续性 4.数组{“3”,“5”,“5”,“66” ...
分类:
编程语言 时间:
2020-06-11 00:55:47
阅读次数:
103
前言:我们都知道HashMap是线程不安全的,在多线程环境中不建议使用,但是其线程不安全主要体现在什么地方呢,本文将对该问题进行解密。1.jdk1.7中的HashMap在jdk1.8中对HashMap做了很多优化,这里先分析在jdk1.7中的问题,相信大家都知道在jdk1.7多线程环境下HashMap容易出现死循环,这里我们先用代码来模拟出现死循环的情况:1publicclassHashMapTe
分类:
编程语言 时间:
2020-06-06 23:19:27
阅读次数:
81
先来看一看老版本HashMap扩容代码: void resize(int newCapacity) { Entry[] oldTable = table; int oldCapacity = oldTable.length; ...... //创建一个新的Hash Table Entry[] new ...
分类:
其他好文 时间:
2020-06-06 13:05:28
阅读次数:
87
在项目中使用了mybatis的插件PageHelper,在分页查询时总数据量有2400条记录,分页参数为offset 和length,现在想要查询所有数据,即循环查询,循环跳出条件为查询数据为空,length=500, 在执行时发现循环不会跳出,陷入死循环,debug后发现当offset>2500时 ...
分类:
其他好文 时间:
2020-06-03 16:02:38
阅读次数:
71
一、一般java应用cpu过高基本上是因为 1.程序计算比较密集2.程序死循环3.程序逻请求堵塞4.IO读写太高 二、分析步骤 1. 找到被压服务的进程id(top -d 1) 2. ps -mp pid -o THREAD,tid,time 查看该进程的线程情况,找到耗时最多的线程id,转为16进 ...
分类:
其他好文 时间:
2020-06-02 14:46:13
阅读次数:
59
用“等待-通知”机制优化循环等待 前言 在破坏占用且等待条件的时候,如果转出账本和转入账本不满足同时在文件架上这个条件,就用死循环的方式来循环等待。 1 // 一次性申请转出账户和转入账户,直到成功 2 while(!actr.apply(this, target)) 3 ; 如果 apply() ...
分类:
编程语言 时间:
2020-05-28 23:45:18
阅读次数:
80
##二分查找的递归与非递归实现 非递归实现: public int bsearch(int[] a, int n, int value) { int low = 0; int high = n - 1; while (low <= high) { int mid = (low + high) / 2 ...
分类:
其他好文 时间:
2020-05-28 21:38:20
阅读次数:
53
也许程序猿不善言表, 温情藏匿于外冷内热之中, 但那些看起来冰冷的代码, 也能组合成最浪漫优美的情话, 如果不能用一行代码表达, 那就三行! 这样的表白太酥了, “自从遇见了你,就不停地想你。 编一个死循环, 让我们一直走,一直走。” “我一直在寻找 找到了你 便找到了整个世界” “我是个说谎者 我 ...
分类:
其他好文 时间:
2020-05-27 20:54:41
阅读次数:
183
嵌套与俄罗斯套娃 1 什么是嵌套算法: ? 每次有不同的输入 ? 但是每次运算相同 ? 必须有停止嵌套的条件(防止死循环) ? 与循环的不同:每次输入数据范围缩小 2 为什么要用嵌套算法: ? 能用嵌套不用循环:好写 好读 ? 问题可以分解为相同的小问题(处理的数据范围变小) ? 广泛应用于 树, ...
分类:
编程语言 时间:
2020-05-25 22:26:49
阅读次数:
125
HashMap与HashTable、ConcurrentHashMap HashMap:线程不安全 在多线程情形下会导致死循环 HashTable:线程安全但是效率低下synchronized保证线程安全弊端 进入等待或轮训场景既不能put也不能get。 ConcurrentHashMap:分段锁 ...
分类:
其他好文 时间:
2020-05-25 15:44:45
阅读次数:
46