摘要: ArrayList线程不安全怎么办? 有三种解决方法: 使用对应的 Vector 类,这个类中的所有方法都加上了 synchronized 关键字 就和 HashMap 和 HashTable 的关系一样 使用 Collections 提供的 synchronizedList 方法,将一个原本线程不 阅读全文
posted @ 2021-08-29 22:08 诺狗w 阅读(462) 评论(2) 推荐(1)
摘要: HashMap线程不安全怎么办? 有关 HashMap 的具体分析在前一篇随笔中有,如不了解可自行查看 HashMap 线程不安全其实并不能说是它的缺点,毕竟它本来就不是为了线程安全而设计的,因此存在线程不安全的问题是很正常的 在 JDK7 中,HashMap 的线程不安全主要体现在扩容时可能会导致 阅读全文
posted @ 2021-08-29 14:39 诺狗w 阅读(230) 评论(0) 推荐(1)
摘要: HashMap的底层原理? 在 JDK7 和 JDK8 中,HashMap 的底层是有所不同的 在 JDK7 中,HashMap 是通过数组+链表实现的 在 JDK8 中,HashMap 是通过数组+链表+红黑树实现的 我们通过源码来探讨 JDK8 中 HashMap 的底层,主要是分析它的一些属性 阅读全文
posted @ 2021-08-29 14:30 诺狗w 阅读(82) 评论(0) 推荐(1)
摘要: Object类中有哪些方法,分别有什么作用? getClass public final native Class<?> getClass(); 这是一个 final 方法,我们在子类中无法覆写,通过调用这个方法可以得到实例对象所属类型对应的 Class 对象 hashCode public nat 阅读全文
posted @ 2021-08-29 14:27 诺狗w 阅读(147) 评论(0) 推荐(1)
摘要: java8有什么新特性? 主要有以下这些新特性: lambda 表达式,经常配合函数式接口使用,可以有效减少代码量 Runnable 是一个函数式接口,下面展示了创建线程三种写法,显然最后一种最简洁: class OldWay implements Runnable { @Override publ 阅读全文
posted @ 2021-08-29 14:16 诺狗w 阅读(310) 评论(0) 推荐(1)