上一页 1 2 3 4 5 6 7 8 9 10 ··· 33 下一页
摘要: Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现 阅读全文
posted @ 2018-11-21 15:18 阿玛尼迪迪 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 网上有很多人探讨Java中异常捕获机制try...catch...finally块中的finally语句是不是一定会被执行?很多人都说不是,当然他们的回答是正确的,经过试验,至少有两种情况下finally语句时不会被执行的: (1)try语句没有被执行到,如在try语句之前就返回了,这样finall 阅读全文
posted @ 2018-11-20 17:57 阿玛尼迪迪 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 如java中:if(name == null)和if(null == name)有什么讲究吗? 答:在java里面,它们是一样的。但是通常写为null == name。这其实是在C语言里面引申出来的。 在C语言里面,为了防止少敲一个等号,编程人员仍然能在编译的时候找到错误。因为if(name = n 阅读全文
posted @ 2018-11-19 19:41 阿玛尼迪迪 阅读(11308) 评论(0) 推荐(0) 编辑
摘要: 空串 空串""是长度为0的字符串。可以调用以下代码检查字符串是否为空: 空串是一个java对象,有自己的串长度(0)和内容(空)。 null 不过,String变量还可以存放一个特殊的值,名为null,这表示目前没有任何对象与该变量关联。要检查一个字符串是否为null,要使用以下条件: 有时要检查一 阅读全文
posted @ 2018-11-19 19:31 阿玛尼迪迪 阅读(2598) 评论(0) 推荐(0) 编辑
摘要: 一、多线程put后get为null 源码定位 分析:线程1将src[j] = null;即将table[j] = null;因为代码第二行定义了Entry[] src = table;即src和table是对同一对象的引用。 这时切换到线程2,线程2此时若正在调用get(key)方法: 若get(k 阅读全文
posted @ 2018-11-12 20:10 阿玛尼迪迪 阅读(1871) 评论(0) 推荐(0) 编辑
摘要: JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能。因为同步容器将所有对容器状态的访问都串行化了,这样保证了线程的安全性,所以这种方法的代价就是严重降低了并发性,当多个线程竞争容器时,吞吐量严重降低。因此Java5.0开始针对多线程并发访问设计,提供了并 阅读全文
posted @ 2018-11-12 15:53 阿玛尼迪迪 阅读(495) 评论(0) 推荐(0) 编辑
摘要: 问题的症状 从前我们的Java代码因为一些原因使用了HashMap这个东西,但是当时的程序是单线程的,一切都没有问题。后来,我们的程序性能有问题,所以需要变成多线程的,于是,变成多线程后到了线上,发现程序经常占了100%的CPU,查看堆栈,你会发现程序都Hang在了HashMap.get()这个方法 阅读全文
posted @ 2018-11-11 16:18 阿玛尼迪迪 阅读(666) 评论(0) 推荐(0) 编辑
摘要: ArrayList 优点:ArrayList是实现了基于动态数组的数据结构,因为地址连续,一旦数据存储好了,查询操作效率会比较高(在内存里是连着放的)。 缺点:因为地址连续,当要插入和删除时,Arraylist要移动数据,所以插入和删除操作效率比较低。 LinkedList 优点:LinkedLis 阅读全文
posted @ 2018-11-07 15:19 阿玛尼迪迪 阅读(1361) 评论(0) 推荐(0) 编辑
摘要: 哈希表这个数据结构想必大多数人都不陌生,而且在很多地方都会利用到hash表来提高查找效率。在Java的Object类中有一个方法: 根据这个方法的声明可知,该方法返回一个int类型的数值,并且是本地方法,因此在Object类中并没有给出具体的实现。 为何Object类需要这样一个方法?它有什么作用呢 阅读全文
posted @ 2018-11-06 17:05 阿玛尼迪迪 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景极其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行 阅读全文
posted @ 2018-11-04 12:34 阿玛尼迪迪 阅读(185) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 33 下一页