文章 2023-08-09 来自:开发者社区

Java源码类-Optional类源码分析与使用

Java源码类-Optional类源码分析与使用Optional 是 Java8 提供的了 为了解决 Null 安全问题的一个 API 。善用Optional可以使我们代码中很多繁琐、丑陋的设计变得十分优雅 。在阿里巴巴编码规范里面有一段说明:【推荐】防止 NPE,是程序员的基本修养,注意 NPE 产生的场景:正例:使用 JDK8 的 Optional 类来防止 NPE 问题。一、Optiona....

文章 2023-05-05 来自:开发者社区

Java8原子弹类之LongAdder源码分析

Java8原子弹类之LongAdder源码分析JDK 8开始,针对Long型的原子操作, Java又提供了LongAdder. LongAccumulator; 针对Double类型,Java提供了DoubleAdder、DoubleAccumulator。Striped64 UMLAtomicLong内部是一个volatile long型变量,由多个线程对这个变量进行CAS操作。多个线程同时对....

Java8原子弹类之LongAdder源码分析
文章 2022-10-20 来自:开发者社区

Java通过jar包方式加载指定对象类教程以及源码分析

一,类加载器基础巩固类加载器是JVM的重要核心组件之一,也是字节码执行的发源地,只有准确加载了类,JVM才能够创建对象。一般地有三种类加载器,其名称、对应的对象类以及作用分别是(以JDK8为例):启动类加载器——加载JRE库文件用于加载rt.jar等11份文件,如下图所示,扩展类加载器——加载JRE扩展文件用于加载dnsns.jar等12份文件,如下图所示,系统类加载器——加载类路径(class....

Java通过jar包方式加载指定对象类教程以及源码分析
文章 2022-09-21 来自:开发者社区

Java 基础:String 类源码分析

Java 中数据类型分为两大类:基础数据类型(byte,short,int,long,float,double,char,boolean)和引用类型(String 类型和基础数据类型的包装类),可以看出 String 类型是非常特殊的,同时也是编写代码过程中使用比较频繁的一种类型,为了更好的了解该类型,决心钻研一下 String 类源码,希望能有所收获。String 类实现接口public fi....

文章 2022-02-17 来自:开发者社区

Java8 原子弹类之LongAdder源码分析

简单来说,这个类用于在多线程情况下的求和。 官方文档的说明 从关键方法 add 包含了一个Cell数组,Striped64的一个内部类 Padded variant of AtomicLong supporting only raw accesses plus CAS 即AtomicLong的填充变体且只支持原始访问和CAS 有一个value变量,并且提...

文章 2022-02-17 来自:开发者社区

【Java入门提高篇】Day24 Java容器类详解(七)HashMap源码分析(下)

  前两篇对HashMap这家伙的主要方法,主要算法做了一个详细的介绍,本篇主要介绍HashMap中默默无闻地工作着的集合们,包括KeySet,values,EntrySet,以及对应的迭代器:HashIterator,KeyIterator,ValueIterator,EntryIterator和 fast-fail 机制。会介绍三个集合的作用以及它们中隐藏的惊人秘密。 KeySet ...

文章 2022-02-17 来自:开发者社区

【Java入门提高篇】Day23 Java容器类详解(六)HashMap源码分析(中)

  上一篇中对HashMap中的基本内容做了详细的介绍,解析了其中的get和put方法,想必大家对于HashMap也有了更好的认识,本篇将从了算法的角度,来分析HashMap中的那些函数。 HashCode   先来说说HashMap中HashCode的算法,在上一篇里,我们看到了HashMap中的put方法是这样的: public V put(K key, V value) { ...

文章 2022-02-17 来自:开发者社区

【Java入门提高篇】Day21 Java容器类详解(四)ArrayList源码分析

     今天要介绍的是List接口中最常用的实现类——ArrayList,本篇的源码分析基于JDK8,如果有不一致的地方,可先切换到JDK8后再进行操作。   本篇的内容主要包括这几块:   1.源码结构介绍   2.源代码展示   3.要点说明   4.优缺点说明 一、源码结构介绍   ArrayList的源码跟之前的接口源码比起来,那可就不能同日而语了,一千多行代码,如果...

文章 2022-02-17 来自:开发者社区

【Java入门提高篇】Day26 Java容器类详解(八)HashSet源码分析

  前面花了好几篇的篇幅把HashMap里里外外说了个遍,大家可能对于源码分析篇已经讳莫如深了。别慌别慌,这一篇来说说集合框架里最偷懒的一个家伙——HashSet,为什么说它是最偷懒的呢,先留个悬念,看完本文之后,你就会知道所言不假了。   本篇将从以下几点来进行介绍:   1.HashSet的特点和使用场景   2.HashSet的示例   3.HashSet的继承结构图   4.HashSe....

文章 2022-02-17 来自:开发者社区

Java并发编程笔记之Unsafe类和LockSupport类源码分析

一.Unsafe类的源码分析 JDK的rt.jar包中的Unsafe类提供了硬件级别的原子操作,Unsafe里面的方法都是native方法,通过使用JNI的方式来访问本地C++实现库。 rt.jar 中 Unsafe 类主要函数讲解, Unsafe 类提供了硬件级别的原子操作,可以安全的直接操作内存变量,其在 JUC 源码中被广泛的使用,了解其原理为研究 JUC 源码奠定了基础。 首先我们先了解....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

Java开发者

Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~

+关注