随笔分类 -  JDK常用源码分析

基于 JDK1.8 的常用源码分析
摘要:1. execute 和 submit 的区别 前面说了还需要介绍多线程中使用 execute 和 submit 的区别(这两个方法都是线程池 ThreadPoolExecutor 的方法)。 1.1 方法来源不同 execute 方法是线程池的顶层接口 Executor 定义的,在 ThreadP 阅读全文
posted @ 2023-04-07 16:46 下半夜的风 阅读(448) 评论(0) 推荐(0) 编辑
摘要:一、AQS 简介 AQS,就是 AbstractQueuedSynchronizer,在同步组件的实现中,AQS是核心部分,同步组件的实现者通过使用AQS提供的模板方法实现同步组件语义,AQS则实现了对同步状态的管理,以及对阻塞线程进行排队,等待通知等等一些底层的实现处理。AQS的核心也包括了这些方 阅读全文
posted @ 2022-04-27 20:33 下半夜的风 阅读(86) 评论(0) 推荐(0) 编辑
摘要:每当你想要努力一把的时候,都是未来的你在求救!!! ​ 1. 概述 1.1 HashMap 与 HashTable HashMap 线程不安全 因为多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap,如以下代码: publ 阅读全文
posted @ 2022-04-01 19:30 下半夜的风 阅读(96) 评论(0) 推荐(0) 编辑
摘要:每当你想要努力一把的时候,都是未来的你在求救!!! 1. 概述 HashMap 是我们开发中很常用的一个键值对集合。底层基于散列算法实现,HashMap 允许 Null 值和 Null 键,并且键不能重复(重复会被覆盖),计算键的 Hash 值时 Null 键的哈希值是 0。另外,HashMap 不 阅读全文
posted @ 2022-03-07 20:22 下半夜的风 阅读(416) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示