JDK源码
文章平均质量分 80
Concurrent、IO、NIO、Reflect、network、Annotation、Collection、JDBC、Java8
街灯下的小草
这个作者很懒,什么都没留下…
展开
-
【JVM原理】Java 内存模型
共享内存、线程消息传递、线程同步等。原创 2019-11-23 17:21:37 · 383 阅读 · 0 评论 -
【集合】PriorityQueue 源码分析
PriorityQueue 的 offer,peek,poll 源码分析以及底层数据结构分析。原创 2022-02-22 18:47:15 · 1394 阅读 · 0 评论 -
【集合】ArrayDeque 源码分析
ArrayDeque 的 push,peek,pop 以及底层数据结构分析。原创 2022-02-14 11:50:41 · 517 阅读 · 0 评论 -
【集合】LinkedHashMap 源码分析
前言一 概述二 实例三 LinkedHashMap 底层实现重点分析 put(),get()/getOrDefault(),removeEldestEntry()。类结构构造器LinkedHashMap#put()LinkdedHashMap#get()LinkedHashMap#removeEldestEntry()四 总结...原创 2021-07-06 21:57:09 · 766 阅读 · 2 评论 -
【集合】HashSet 源码分析
HashSet 存储结构,应用场景,实现原理原创 2021-06-13 23:14:56 · 431 阅读 · 1 评论 -
【集合】SynchronizedMap 源码分析
前言Github:https://github.com/yihonglei/jdk-source-code-reading原创 2021-06-04 18:39:52 · 601 阅读 · 1 评论 -
【并发编程】Daemon 线程
前言Github:https://github.com/yihonglei/jdk-source-code-reading(java-concurrent)Daemon 线程Daemon 线程(守护线程)是一种支持型线程,主要用于程序中后台调度以及支持工作。Java 虚拟机退出的条件是 Java 虚拟机中不存在非 Daemon 线程,当存在普通线程,Java 虚拟机不能自动退出。在线程启动前,可以使用 Thread.setDaemon(true) 将线程设置为 Daemon 线程,启动后原创 2021-02-03 12:17:45 · 683 阅读 · 0 评论 -
【并发编程】ReentrantReadWriteLock 源码分析
ReentrantReadWriteLock 读写锁,写写互斥,写读互斥,读读共享,适用于读多写少环境。原创 2021-01-27 20:37:59 · 367 阅读 · 0 评论 -
【集合】PriorityBlockingQueue 源码分析
前言Github:https://github.com/yihonglei/jdk-source-code-reading(java-concurrent)一概述PriorityBlockingQueue基于数组实现的顺序队列,有界队列,默认 数组大小 11。二 PriorityBlockingQueue 实例package com.jpeony.concurrent.queue;import java.util.concurrent.PriorityBlockingQueue..原创 2020-12-22 20:39:23 · 366 阅读 · 0 评论 -
【集合】ArrayBlockingQueue 源码分析
前言Github:https://github.com/yihonglei/jdk-source-code-reading(java-concurrent)一概述ArrayBlockingQueue基于数组实现的有界顺序队列。二 ArrayBlockingQueue 实例三 ArrayBlockingQueue 底层实现主要分析 put()/offer() 入队操作,take()/poll() 出队操作。重要属性public class ArrayBlocking...原创 2020-12-21 20:27:25 · 399 阅读 · 0 评论 -
【集合】ConcurrentHashMap 源码分析
前言Github:https://github.com/yihonglei/jdk-source-code-reading主要分析 JDK8 版本源码。HashTable 源码分析HashMap 源码分析一 概述ConcurrentHashMap 是一种支持高并发和线程安全的散列表。二 实例简单 Demo。package com.jpeony.java.map;import java.util.concurrent.ConcurrentHashMap;/**原创 2020-12-05 17:03:21 · 404 阅读 · 0 评论 -
【集合】HashMap 源码分析
前言Github:https://github.com/yihonglei/jdk-source-code-reading主要分析 JDK8 版本源码。一 概述HashMap 是一种非线程安全的散列表,散列表英文名“Hash Table”,也叫 “哈希表” 或 “hash 表”,散列表用的是数组支持按照下标随机访问的特性,是数组的一种扩展,HashMap 在 JDK7使用链表法(chaining)解决 hash 冲突,简单来说,就是基于数组 + 链表实现,HashMap 在 JD..原创 2020-12-05 10:22:00 · 440 阅读 · 0 评论 -
【集合】HashTable 源码分析
HashTable 源码分析,散列表数据结构分析......原创 2020-12-01 14:52:20 · 455 阅读 · 0 评论 -
【集合】Stack 源码分析
前言Github:https://github.com/yihonglei/jdk-source-code-reading(java-collection)一 概述Java 里面的 Stack 底层基于数组实现,栈也可以用链表实现,是一种后进先出的容器。二 实例简单 Demo。package com.jpeony.collection.stack;import java.util.Stack;/** * @author yihonglei */public class原创 2020-11-05 19:49:29 · 439 阅读 · 0 评论 -
【集合】LinkedList 源码分析
前言Github:https://github.com/yihonglei/jdk-source-code-reading(java-collection)一LinkedList 概述LinkedList基于双向链表实现,主要特性:二ListkedList 实例三 LinkedList 底层实现四 总结原创 2020-11-03 20:42:01 · 389 阅读 · 0 评论 -
【集合】Vector 源码分析
前言Github:https://github.com/yihonglei/jdk-source-code-reading(java-collection)一 Vector 概述Vector日常应用中不常用,底层也是基于数组实现的,跟ArrayList最大的区别就是Vector通过Synchronized实现线程安全,而ArrayList是非线程安全的,理解ArrayList(ArrayList源码分析),Vector几乎也都理解了。二 Vector 实例来个简单的demo。p原创 2020-11-01 15:14:50 · 381 阅读 · 0 评论 -
【集合】ArrayList 源码分析
ArrayList 数组实现,查找快,插入和删除慢,支持动态大约1.5倍扩容等等。原创 2020-10-07 23:23:50 · 577 阅读 · 2 评论 -
【并发编程】Java线程顺序执行方式
前言GitHub:https://github.com/yihonglei/thinking-in-concurrent概述T1、T2、T3如何保证线程顺序执行?直接上Demo吧!一 Join方法Join方法是最常用的方式,底层通过wait即加了synchronized同步锁和notify通知逻辑实现。Join实现原理:https://blog.csdn.net/u010983881/article/details/80257703package com.jpeony.co原创 2020-07-28 14:00:12 · 528 阅读 · 0 评论 -
【并发编程】进程与线程
前言GitHub:https://github.com/yihonglei/thinking-in-concurrent一 进程进程是程序执行的单元,每个进程提供程序执行所需的资源,由操作系统创建、调度、终止使用CPU。进程具有虚拟地址空间,可执行代码,打开系统对象的句柄,具有安全的上下文,有一个唯一的进程标识符,环境变量,优先级类,能进行最小和最大工作集大小设定,每个进程至少要有一个线程。每个进程都是从一个线程开始的,通常称为主线程,但是可以从它创建额外任何线程。二 线程线原创 2020-07-26 17:26:22 · 211 阅读 · 0 评论 -
【集合】LinkedBlockingQueue 源码分析
LinkedBlockingQueue 源码分析 put/offer 入队,take/poll 出队原创 2020-06-04 17:28:37 · 507 阅读 · 0 评论 -
【集合】CopyOnWriteArrayList 源码分析
读写分离场景、线程安全、效率等原创 2020-05-15 12:59:15 · 1099 阅读 · 0 评论 -
【并发编程】饱和策略实现原理
Abort策略、CallerRuns策略、Discard策略、DiscardOldest策略、自定义饱和处理策略等。原创 2019-11-23 21:13:08 · 567 阅读 · 0 评论 -
【并发编程】AQS 源码分析
同步队列、共享资源、公平、非公平、线程池模板方法等。原创 2019-10-15 09:15:23 · 980 阅读 · 1 评论 -
【并发编程】Java 锁实现原理
乐观锁、悲观锁、公平锁、非公平锁、独占锁、共享锁、重入锁等。原创 2019-09-29 15:04:02 · 693 阅读 · 0 评论 -
【并发编程】ThreadLocal 源码分析
ThreadLocal、ThreadLocalMap实现原理等。原创 2019-02-21 19:28:14 · 461 阅读 · 0 评论 -
【并发编程】CAS 和 ABA
CAS实现原理、ABA问题解决方案等。原创 2019-02-17 15:57:37 · 1352 阅读 · 0 评论 -
【并发编程】PipedOutputStream和PipedInputStream管道实现线程通信
piped线程通信实现原理等。原创 2019-02-15 17:45:43 · 502 阅读 · 0 评论 -
【并发编程】wait、notify、notifyAll 源码分析
等待/通知机制、阻塞、唤醒等。原创 2019-02-15 17:10:23 · 455 阅读 · 0 评论 -
【并发编程】Semaphore 源码分析
应用场景、释放信号、获取许可、限流、实现原理等原创 2019-02-14 19:04:28 · 1178 阅读 · 0 评论 -
【并发编程】CyclicBarrier 源码分析
等待/通知模型、屏障等。原创 2019-02-14 14:55:10 · 934 阅读 · 0 评论 -
【并发编程】CountDownLatch 源码分析
应用场景、countDown、await、实现原理等原创 2019-02-13 19:04:06 · 1119 阅读 · 0 评论 -
【并发编程】ReentrantLock 源码分析
ReentrantLock获取锁、释放锁、公平和非公平、Condition等。原创 2019-02-12 17:09:51 · 872 阅读 · 0 评论 -
【并发编程】volatile 实现原理
轻量级锁、可见性、指令重排序、Lock指令等。原创 2019-02-12 14:15:39 · 488 阅读 · 0 评论 -
【并发编程】synchronized 对象锁和类锁
synchronized作用于普通方法、静态方法、代码块等。原创 2019-02-11 19:34:50 · 8286 阅读 · 6 评论 -
【并发编程】synchronized 实现原理
Monitor对象、monitorenter\monitorexit指令等。原创 2019-02-11 18:29:34 · 885 阅读 · 0 评论 -
【并发编程】线程池源码分析
线程池工作原理、阻塞队列、饱和策略等原创 2019-01-28 17:55:44 · 722 阅读 · 2 评论 -
【并发编程】线程终止方式
异常法、休眠停止、暴力停止、使用return正常停止。原创 2019-01-28 11:45:23 · 1027 阅读 · 0 评论 -
【并发编程】线程生命周期状态
NEW(初始状态)、RUNNABLE(可运行状态)、Running(运行中)、BLOCKED(阻塞状态)、WAITING(等待状态)原创 2019-01-27 18:30:48 · 777 阅读 · 0 评论 -
【并发编程】线程实现方式
常用方式:Runnable,Thread,Callable。原创 2019-01-27 13:56:53 · 888 阅读 · 0 评论 -
【并发编程】FutureTask 源码分析
先看一段FutureTask获取线程返回值简单应用的代码,以下基于jdk8进行源码分析。package com.lanhuigu.demo.createthread;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurren...原创 2018-09-12 18:32:36 · 1679 阅读 · 2 评论