![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
《JavaGuide》
#_
这个作者很懒,什么都没留下…
展开
-
并发-并发容器总结
四 ConcurrentLinkedQueue 当多个线程共享访问一个公共 collection时,ConcurrentLinkedQueue 是一个恰当的选择。原创 2019-06-07 10:01:39 · 94 阅读 · 0 评论 -
并发-Java 并发进阶常见面试题总结
目录 1. synchronized 关键字 双重校验锁实现对象单例(线程安全) 1.3讲一下 synchronized 关键字的底层原理 1.4 说说 JDK1.6 之后的synchronized 关键字底层做了哪些优化,可以详细介绍一下这些优化吗 1.5. 谈谈 synchronized和ReentrantLock 的区别 2. volatile关键字 3. ThreadLoc...原创 2019-06-04 13:23:52 · 495 阅读 · 0 评论 -
Java8
Lamda 表达式作用域(Lambda Scopes) 访问默认接口方法 还记得第一节中的 formula 示例吗?Formula接口定义了一个默认方法sqrt,可以从包含匿名对象的每个 formula 实例访问该方法。 这不适用于lambda表达式。 无法从 lambda 表达式中访问默认方法,故以下代码无法编译: Formula formula = (a) -> sqrt(...转载 2019-06-15 19:03:08 · 459 阅读 · 0 评论 -
并发-Java 并发基础常见面试题总结
目录 1. 什么是线程和进程? 1.1. 何为进程? 1.2. 何为线程? 2. 请简要描述线程与进程的关系,区别及优缺点? 2.1. 图解进程和线程的关系 2.2. 程序计数器为什么是私有的? 3. 说说并发与并行的区别? 8. 什么是线程死锁?如何避免死锁? 8.1. 认识线程死锁 8.2. 如何避免线程死锁? 9. 说说 sleep() 方法和 wait() 方法区别和...原创 2019-06-03 20:52:40 · 249 阅读 · 0 评论 -
容器-HashMap(JDK1.8)源码学习
目录 1put方法 2constructor 3resize 4HashMap为什么线程不安全 HashMap在面试的时候会问哪些问题? 比如HashMap与HashTable的区别,HashMap的默认容量、扩容因子、扩容机制、底层的数据结构,以及HashMap底层在Java7与Java8中的区别,为何要将数组+链表改为数组+链表+红黑树,最后还要说一下HashMap线程不安全的场景,...原创 2019-06-03 20:15:14 · 121 阅读 · 0 评论 -
JVM-Java内存区域
三 HotSpot 虚拟机对象探秘 Java对象分配简要流程原创 2019-06-09 13:17:03 · 88 阅读 · 0 评论 -
并发-AQS 原理以及 AQS 同步组件总结
Java并发之AQS详解转载 2019-06-08 20:51:26 · 201 阅读 · 0 评论 -
容器-ArrayList 源码学习
Jdk 6260652 Bug 扩容 private void grow(int minCapacity) { // overflow-conscious code int oldCapacity = elementData.length; int newCapacity = oldCapacity + (oldCapacity >...原创 2019-06-02 20:38:13 · 75 阅读 · 0 评论 -
容器-常见面试题
目录 ArrayList 的扩容机制 HashMap 和 Hashtable 的区别 HashMap的底层实现 JDK1.8之前 JDK1.8之后 HashMap的长度为什么是2的幂次方 HashMap 多线程操作导致死循环问题 ConcurrentHashMap ConcurrentHashMap线程安全的具体实现方式/底层具体实现 JDK1.7 JDK1.8 集合框...转载 2019-06-02 18:34:36 · 2272 阅读 · 0 评论 -
并发-JUC 中的 Atomic 原子类总结
AtomicMarkableReference则是将一个boolean值作是否有更改的标记,本质就是它的版本号只有两个,true和false,修改的时候在这两个版本号之间来回切换,这样做并不能解决ABA的问题,只是会降低ABA问题发生的几率而已 原子访问和更新的内存效果一般遵循以下可变规则,正如 The Java Language Specification, Third Edition ...原创 2019-06-07 21:15:56 · 210 阅读 · 0 评论 -
容器-ConcurrentHashmap
put方法: final V putVal(K key, V value, boolean onlyIfAbsent) { if (key == null || value == null) throw new NullPointerException(); int hash = spread(key.hashCode()); int binCo...原创 2019-07-20 20:22:33 · 101 阅读 · 0 评论