
JDK源码
文章平均质量分 88
JDK源码
数据与算法架构提升之路
我是一名专注于AI和数据架构的技术专家,拥有扎实的编程与数学基础。在大数据框架重构和底层源码开发方面积累了丰富经验,擅长自动驾驶、数据架构和深度学习等领域的研究与实践。目前,我主要从事数据AI架构相关工作,并曾在新能源汽车行业积累了深厚的技术背景。对技术创新和持续学习充满热情,致力于推动前沿技术的应用与发展。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java集合性能测试:理解HashMap, LinkedHashMap, 和 TreeMap的速度差异
这些测试结果对于选择合适的数据结构以优化Java应用程序的性能提供了实际的指导意见,尤其是在需要考虑数据访问模式(随机访问 vs. 有序访问)时。在实际开发中,选择合适的Map实现可以根据具体的使用场景和性能要求来决定。原创 2019-03-15 16:59:04 · 7482 阅读 · 0 评论 -
力扣刷题(JAVA)常用数据结构总结
力扣刷题常用数据结构总结原创 2023-01-17 12:59:38 · 1570 阅读 · 0 评论 -
线程池内运行的线程抛异常,线程池会怎么办
当线程池中线程执行任务的时候,任务出现未被捕获的异常的情况下,线程池会将允许该任务的线程从池中移除并销毁,且同时会创建一个新的线程加入到线程池中;可以通过ThreadFactory自定义线程并捕获线程内抛出的异常,也就是说甭管我们是否去捕获和处理线程池中工作线程抛出的异常,这个线程都会从线程池中被移除。转载 2021-08-16 23:04:06 · 6066 阅读 · 2 评论 -
InheritableThreadLocal跨线程传递变量
通过 InheritableThreadLocal 可以在父子线程之间传递 ThreadLocal ,父线程为当前线程,而子线程即为在当前线程中声明的线程。如果 ThreadLocal 为 InheritableThreadLocal ,子线程就可以拿到父线程在 ThreadLocal 中设置的值。原创 2021-08-12 17:19:41 · 1516 阅读 · 0 评论 -
TreeMap深入浅出源码分析Java8
二叉查找树红黑树的起源得从二叉查找树(二叉排序树)说起。先来看二叉查找树的定义:1、要么为一颗空树,要么就是一颗具有如下特性的二叉树。2、左子节点的值必须小于等于父节点的值。3、右子节点的值必须大于等于父节点的值。每个节点都符合这个特性,所以易于查找,如下图:平衡二叉树定义:1、要么为一颗空树,要么就是一颗具有如下特性的二叉树。2、它的左子树和右子树都是平衡...原创 2019-04-09 22:17:15 · 410 阅读 · 0 评论 -
ThreadLocal 源码解读
ThreadLocal源码解读,网上面早已经泛滥了,大多比较浅,甚至有的连基本原理都说的很有问题,包括百度搜索出来的第一篇高访问量博文,说ThreadLocal内部有个map,键为线程对象,太误导人了。ThreadLocal非常适合对Java多线程编程感兴趣的程序员作为入门类阅读,原因两方面: 加上注释源码也不过七八百行。 结构清晰,代码简洁。 本文重点导读ThreadLo...转载 2019-04-01 00:35:12 · 426 阅读 · 1 评论 -
Iterator(迭代器)的用法及其背后机制的探究
Iterator 怎么使用?有什么特点?Java中的Iterator功能比较简单,并且只能单向移动:(1) 使用方法iterator()要求容器返回一个Iterator。第一次调用Iterator的next()方法时,它返回序列的第一个元素。注意:iterator()方法是java.lang.Iterable接口,被Collection继承。(2) 使用next()获得序列中的下一个元...转载 2019-04-01 00:34:06 · 1804 阅读 · 0 评论 -
Java集合框架深度剖析:HashMap的设计与实现
HashMap的设计思想原创 2019-03-28 23:43:50 · 885 阅读 · 0 评论 -
并发编程之 Java 内存模型 + volatile 关键字 + Happen-Before 规则
在操作 volatile 关键字变量前后的汇编代码中,会有一个 lock 前缀,根据 intel IA32 手册,lock 的作用是 使得 本 CPU 的Cache 写入了内存,该写入动作也会引起别的CPU或者别的内核无效化其Cache,别的CPU需要重新获取Cache。这样就实现了可见性。可见底层还是使用的 CPU 的指令。同样是lock 指令,这个指令还相当于一个内存屏障(大多数现代计算机为了提高性能而采取乱序执行,这使得内存屏障成为必须。语义上,内存屏障原创 2018-12-02 19:25:07 · 586 阅读 · 0 评论 -
并发编程之ConcurrentHashMap jdk1.7和1.8源码剖析
目录一、背景:线程不安全的HashMap效率低下的HashTable容器二、应用场景三、源码分析:3.1 jdk1.7的源码3.1.1锁分段技术3.1.2ConcurrentHashMap的主要数据结构3.1.3 hash槽的的个数3.1.4 定位操作:3.1.5remove(key)操作3.1.5 get操作3.1.6 put操作3.1....原创 2019-01-14 02:08:15 · 1507 阅读 · 0 评论 -
Synchronized 用法和底层原理
一、对象锁和类锁1. 对象锁在 Java 中,每个对象都会有一个 monitor 对象,这个对象其实就是 Java 对象的锁,通常会被称为“内置锁”或“对象锁”。类的对象可以有多个,所以每个对象有其独立的对象锁,互不干扰。2. 类锁在 Java 中,针对每个类也有一个锁,可以称为“类锁”,类锁实际上是通过对象锁实现的,即类的 Class 对象锁。每个类只有一个 Class 对象,所...原创 2016-08-11 10:34:44 · 2622 阅读 · 0 评论