- 博客(4)
- 收藏
- 关注
原创 Map<String, String> m3 = new HashMap<>(3); 申请了多大的数组空间
1、先看结果 Map m0 = new HashMap<>(0);// 不创建内部存储数组 m0.put("k","v");// 内部空间开辟了 1 (数组长度=1) Map m1 = new HashMap<>(1);// 不创建内部存储数组 m1.put("k","v");// 内部空间开辟了 1 (数组长度=1)
2018-01-30 17:24:04 9339
原创 关于线程耗尽导致请求超时系统假死的思考
线程耗尽:我们知道java程序中,所有计算都是通过线程来执行的,同时我们为了能够重复利用线程,避免频繁创建线程而消耗资源,一般我们都使用线程池,既然是池,那就表明线程是有限的,既然是有限的就会有耗尽的时候。当我们应用中的线程耗尽了,同时所有已经持有线程的计算任务迟迟不释放线程,那就导致请求超时,系统假死。例子:最近我们又遇到了一些类似这样的问题,情况大概是这样的: 业务场景:业务1需要完成
2018-01-09 16:03:41 5552
原创 java中HashMap的另一面-Djdk.map.althashing.threshold
1、参数jdk.map.althashing.threshold使用方式:-Djdk.map.althashing.threshold=52、作用:当hash key 是String的时候,同时hash code 算法薄弱的情况,可以降低hash值的碰撞代码中英文描述 /** * The default threshold of map capacity above
2018-02-06 18:22:14 549 2
原创 java 的 i++ 和 ++i 的区别
我知道网上有很多这样的文章了,在这我只是想记录一下,总结一下,就当备忘录吧。一、什么区别?1、i++ 先运算再加一,++i先加一再运算2、i++ 有中间变量,++i 没有,理论上++i 相对运行快点二、代码(代码里有详细的解释) /** * 总结:i++ 最终去相加的都是中间变量 temp,请看例子 * @author tingliu * @create 2017-12-
2018-01-16 11:33:20 724
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人