• OpenJDK源码调试图文教程

    时间:2022-06-28 09:55:29

    这篇文章主要介绍了OpenJDK源码调试,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  • JDK源码中一些实用的“小技巧”总结

    时间:2022-06-23 10:43:46

    这篇文章主要给大家总结介绍了关于JDK源码中一些实用的“小技巧”,文中通过示例代码介绍的非常详细,对大家学习或者使用jdk源码具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

  • JDK源码(1.7) -- java.util.Map

    时间:2022-06-19 15:48:18

     java.util.Map<K,V>源码分析---------------------------------------------------------------------------------java.util.Map<K,V>是一个接口,它的定义如下:1pu...

  • jdk源码——集合(LinkedHashSet)

    时间:2022-05-18 23:29:03

            这一篇分析的是LinkedHashSet的源码,根据HashSet的底层是一个HashMap集合,类比可知,LinkedHashSet的底层是一个LinkedHashMap集合,这只是我们的猜测,所以我们从网上搜一下,LinkedHashSet的底层果然就是LinkedHashMap...

  • jdk源码->集合->LinkedList

    时间:2022-05-17 16:19:50

    类的属性publicclassLinkedList<E>extendsAbstractSequentialList<E>implementsList<E>,Deque<E>,Cloneable,java.io.Serializable{//实际元素个数...

  • 关于JDK源码:我想聊聊如何更高效地阅读

    时间:2022-05-03 04:43:44

    简介大家好,我是彤哥,今天我想和大家再聊聊JDK源码的几个问题:为什么要看JDK源码JDK源码的阅读顺序JDK源码的阅读方法为什么要看JDK源码一,JDK源码是其它所有源码的基础,看懂了JDK源码再看其它的源码会达到事半功倍的效果。二,JDK源码中包含大量的数据结构知识,是学习数据结构很好的资料,比...

  • 从JDK源码角度看java并发的公平性

    时间:2022-05-03 04:43:32

    JAVA为简化开发者开发提供了很多并发的工具,包括各种同步器,有了JDK我们只要学会简单使用类API即可。但这并不意味着不需要探索其具体的实现机制,本文从JDK源码角度简单讲讲并发时线程竞争的公平性。所谓公平性指所有线程对临界资源申请访问权限的成功率都一样,不会让某些线程拥有优先权。我们知道CLHN...

  • 调试过程中发现按f5无法走进jdk源码

    时间:2022-04-26 00:48:55

    debug模式,在fis=newFileInputStream(file);行打断点调试过程中发现按f5无法走进jdk源码packagecom.lzl.spring.test;importjava.io.File;importjava.io.FileInputStream;importjava.io...

  • JDK源码解析之LinkedList

    时间:2022-04-16 14:34:20

    一、LinkedList简介       LinkedList跟ArrayList一样实现了List接口,但跟ArrayList不同的是ArrayList采用的是数组作为存储元素的容器,所以ArrayList可以直接用角标获取元素,所以ArrayList查询效率较高,但在添加和删除元素的速度比较慢,...

  • jdk源码——集合(LinkedList)

    时间:2022-03-23 13:52:47

    上一篇分析了ArrayList的源码jdk源码——集合(ArrayList),这一次分析LinkedList的源码。先看一下LinkedList的类定义:publicclassLinkedList<E>extendsAbstractSequentialList<E>imple...

  • JDK源码那些事儿之LinkedBlockingDeque

    时间:2022-02-21 04:24:43

    阻塞队列中目前还剩下一个比较特殊的队列实现,相比较前面讲解过的队列,本文中要讲的LinkedBlockingDeque比较容易理解了,但是与之前讲解过的阻塞队列又有些不同,从命名上你应该能看出一些端倪,接下来就一起看看这个特殊的阻塞队列前言JDK版本号:1.8.0_171LinkedBlocking...

  • jdk源码剖析一:OpenJDK-Hotspot源码包目录结构

    时间:2022-02-03 01:43:34

    开启正文之前,先说一下源码剖析这一系列,就以“死磕到底”的精神贯彻始终,JDK--》JRE--》JVM(以openJDK代替)最近想看看JDK8源码,但JDK中JVM(安装在本地C:\ProgramFiles\Java\jdk1.8.0_121\jre\bin\server下jvm.dll)本身并不...

  • jdk源码分析ArrayDeque

    时间:2022-01-23 16:17:04

    ArrayDeque数组循环队列,这个数据结构设计的挺有意思的。据说此类很可能在用作堆栈时快于Stack,在用作队列时快于LinkedList。一、容量1.1默认容量是8=2^31.2指定初始化容容量publicArrayDeque(intnumElements){allocateElements(...

  • 【并发编程】【JDK源码】CAS与synchronized

    时间:2022-01-22 03:27:16

    线程安全众所周知,Java是多线程的。但是,Java对多线程的支持其实是一把双刃剑。一旦涉及到多个线程操作共享资源的情况时,处理不好就可能产生线程安全问题。线程安全性可能是非常复杂的,在没有充足的同步的情况下,多个线程中的操作执行顺序是不可预测的。Java里面进行多线程通信的主要方式就是共享内存的方...

  • jdk源码->并发->Unsafe&Atomic

    时间:2022-01-02 00:48:06

    synchronized关键字类似于java中的悲观锁机制,接下来介绍一种java的乐观锁机制Unsafe类CASCAS简介CAS全称是CompareAndSwap,即比较交换,它是在并发执行时的一种无锁思想,其主要包含三个参数:/***V主内存中的值*E表示线程中旧的预期值*N表示新值**/CAS...

  • eclipse中jdk源码调试步骤

    时间:2021-12-12 03:49:48

    分析源码是学习一项技术内幕最有效的手段。由于正常的引入JAr包源码没法进行对源码打断点,想要深入了解源码不方便。下面就开始介绍源码调试的步骤。1.在eclipse新建一个JAVA项目compare_javac2.将JAVAhome中src.zip解压并将解压的包src内的源代码复制到compare_...

  • JDK源码阅读(五)java.io.Serializable接口

    时间:2021-12-11 06:01:02

    packagejava.io;publicinterfaceSerializable{}(1)实现Serializable接口的类,将会被提示提供一个 serialVersionUID注意点一、序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。有两种生成方式:       ①一...

  • JDK源码那些事儿之并发ConcurrentHashMap上篇

    时间:2021-12-11 04:13:59

    前面已经说明了HashMap以及红黑树的一些基本知识,对JDK8的HashMap也有了一定的了解,本篇就开始看看并发包下的ConcurrentHashMap,说实话,还是比较复杂的,笔者在这里也不会过多深入,源码层次上了解一些主要流程即可,清楚多线程环境下整个Map的运作过程就算是很大进步了,更细的...

  • 【并发编程】【JDK源码】JDK的(J.U.C)java.util.concurrent包结构

    时间:2021-12-11 04:13:53

    本文从JDK源码包中截取出concurrent包的所有类,对该包整体结构进行一个概述。在JDK1.5之前,Java中要进行并发编程时,通常需要由程序员独立完成代码实现。当然也有一些开源的框架提供了这些功能,但是这些框架依然没有JDK自带的功能使用起来方便。而当针对高质量Java多线程并发程序设计时,...

  • 从JDK源码角度看java并发的原子性如何保证

    时间:2021-12-11 04:14:11

    JDK源码中,在研究AQS框架时,会发现很多地方都使用了CAS操作,在并发实现中CAS操作必须具备原子性,而且是硬件级别的原子性,java被隔离在硬件之上,明显力不从心,这时为了能直接操作操作系统层面,肯定要通过用C++编写的native本地方法来扩展实现。JDK提供了一个类来满足CAS的要求,su...