E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
jdk源码分析
B02 迭代器模式
JDK源码分析
java.util.ArrayListItr作为具体的Iterator以内部类的方式实现在ArrayList中,使其可以访问ArrayList中维护的数组elementData;ArrayList又是java.util.Collection的具体实现,迭代器模式中的角色都体现到了;publicclassArrayListextendsAbstractListimplementsList,Rando
乌鲁木齐001号程序员
·
2024-01-11 11:56
【设计模式】责任链模式
文章目录前言一、概述结构二、案例三、优缺点五、
JDK源码分析
总结前言【设计模式】责任链模式——行为型模式,包含
JDK源码分析
。
浩泽学编程
·
2024-01-02 14:24
软件设计模式
设计模式
责任链模式
java
后端
软件工程
【设计模式】策略模式
文章目录前言一、概述结构二、实现案例三、优缺点使用场景四、
JDK源码分析
总结前言【设计模式】策略模式——行为型设计模式。
浩泽学编程
·
2024-01-01 16:30
软件设计模式
设计模式
策略模式
软件工程
java
后端
jdk源码分析
之ArrayList
ArrayList关键字段分析/***ThearraybufferintowhichtheelementsoftheArrayListarestored.*ThecapacityoftheArrayLististhelengthofthisarraybuffer.*/transientObject[]elementData;//non-privatetosimplifynestedclassacc
shoulda
·
2023-12-29 10:47
jdk源码分析
(一)Object类
一.概述Object类是java中所有类的父类,所有类默认(而非显式)继承Object。这也就意味着,Object类中的所有公有方法也将被任何类所继承。如果,整个java类体系是一颗树,那么Object类毫无疑问就是整棵树的根,因此值得我们仔细研读(以下代码基于jdk1.6)。Object类中的方法如下:image下面我们逐一介绍。二.核心方法1.equals方法默认的实现是:image可以看出默
Zal哥哥
·
2023-11-26 17:14
【设计模式从入门到精通】03-原型模式
笔记来源:尚硅谷Java设计模式(图解+框架源码剖析)文章目录原型模式1、克隆羊问题2、基本介绍3、原理结构图(UML类图)4、原型模式解决克隆羊问题5、
JDK源码分析
6、浅拷贝和深拷贝浅拷贝基本介绍深拷贝基本介绍
VectorUx
·
2023-09-15 00:27
设计模式从入门到精通
原型模式
深拷贝
浅拷贝
clone
JDK源码分析
--String的一些解析
注:以下解析基于JDK1.8.0_74。一、实现的3个接口1、java.io.SerializableSerializable接口是启用其序列化功能的接口。实现java.io.Serializable接口的类是可序列化的。序列化:把对象转换为字节序列的过程称为对象的序列化。反序列化:把字节序列恢复为对象的过程称为对象的反序列化。序列化的作用总结:(1)数据持久化,保存对象的字节序列到本地磁盘或数据
wolfshadow.cn
·
2023-08-30 00:41
JDK源码
JDK源码
String
String源码
JDK源码分析
(4)HashSet
JDK版本186.pngHashSet简介HashSet特点非线程安全允许null值添加值得时候会先获取对象的hashCode方法,如果hashCode方法返回的值一致,则再调用equals方法判断是否一致,如果不一致才add元素。注意:对于HashSet中保存的对象,请注意正确重写其equals和hashCode方法,以保证放入的对象的唯一性。HashSet源码publicclassHashSe
Tu9oh0st
·
2023-08-23 20:32
2018-04-24常用类
常用类_包装类_Integer_Number_
JDK源码分析
把一个数zuoweiobject处理一共有八种,其中六种是数字类,属于number类
MVP帅炸天
·
2023-08-06 02:11
Open
JDK源码分析
(二)—— OpenJDK Clion断点调试环境
image.pngimage.pngimage.pngimage.png/Users/ericfei/Code/opensource/openjdk-jdk12u/src/hotspot/share/runtime/thread.cppimage.png
81e2cd2747f1
·
2023-07-28 02:03
JDK源码分析
(3)HashMap
JDK版本186.pngHashMap简介HashMap基于哈希表的Map接口的实现。此实现提供所有可选的映射操作,并允许使用null值和null键。(除了不同步和允许使用null之外,HashMap类与Hashtable大致相同。)此类不保证映射的顺序,特别是它不保证该顺序恒久不变。值得注意的是HashMap不是线程安全的,如果想要线程安全的HashMap,可以通过Collections类的静态
Tu9oh0st
·
2023-07-23 07:04
Java设计模式(八)— 单例模式3
系列文章目录单例模式之静态内部类单例模式之枚举方式单例模式之
JDK源码分析
文章目录系列文章目录前言一、单例—静态内部类1.静态内部类案例2.静态内部类优缺点二、单例—枚举方式1.枚举方式案例2.枚举方式优缺点三
柚子猫屿
·
2023-06-18 17:04
#
Java设计模式
单例模式
java
设计模式
JDK源码分析
—— ArrayBlockingQueue 和 LinkedBlockingQueue
目的:本文通过分析JDK源码来对比ArrayBlockingQueue和LinkedBlockingQueue,以便日后灵活使用。1.在Java的Concurrent包中,添加了阻塞队列BlockingQueue,用于多线程编程。BlockingQueue的核心方法有:booleanadd(Ee),把e添加到BlockingQueue里。如果BlockingQueue可以容纳,则返回true,否则
数据探险家
·
2023-06-18 08:56
Java
Concurrent
java核心基础--
jdk源码分析
学习--HashMap
java.util.HashMap1.内部由内部类Node存储单节点数据,Node单向链表(hash冲突时往后放)。table为Node数组,hash后决定Node存在table[?]staticclassNodeimplementsMap.Entry{Nodenext;//单链表2.Node的构造函数Node(inthash,Kkey,Vvalue,Nodenext)3.新建无参HashMap的
qianggetaba
·
2023-04-09 03:28
java
java
源码
HashMap
【设计模式从入门到精通】06-桥接模式
笔记来源:尚硅谷Java设计模式(图解+框架源码剖析)文章目录桥接模式1、传统方式解决手机操作问题2、桥接模式基本介绍3、桥接模式解决手机操作问题4、
JDK源码分析
5、注意事项和细节6、桥接模式其他应用场景桥接模式
VectorUx
·
2023-03-30 22:51
设计模式从入门到精通
桥接模式
JDK源码分析
(6)ConcurrentHashMap
ConcurrentHashMap源码分析table:默认为null,初始化发生在第一次插入操作,默认大小为16的数组,用来存储Node节点数据,扩容时大小总是2的幂次方。nextTable:默认为null,扩容时新生成的数组,其大小为原数组的两倍。sizeCtl:默认为0,用来控制table的初始化和扩容操作,具体应用在后续会体现出来。**-1**代表table正在初始化**-N**表示有N-1
Tu9oh0st
·
2023-03-27 23:42
【2021年】小哪吒入门学习Java的第一天
(感谢一键三连)image内存分析,底层算法,
JDK源码分析
(idea版本和jdk13)初级学习方向:Java入门,idea开发环境使用(idea,eclipse),面向对象基础和面向对象设计,Java
魔王哪吒
·
2023-02-17 08:37
JDK源码分析
(5)Vector
JDK版本186.pngVector简介/***The{@codeVector}classimplementsagrowablearrayof*objects.Likeanarray,itcontainscomponentsthatcanbe*accessedusinganintegerindex.However,thesizeofa*{@codeVector}cangroworshrinkasn
Tu9oh0st
·
2023-02-05 10:47
Open
JDK源码分析
(三)—— OpenJDK VSCode断点调试环境
VSCodeC++插件Name:C/C++Id:ms-vscode.cpptoolsDescription:C/C++IntelliSense,debugging,andcodebrowsing.Version:0.26.0-insiders3Publisher:MicrosoftVSMarketplaceLink:https://marketplace.visualstudio.com/item
81e2cd2747f1
·
2023-01-29 23:49
【JDK】
JDK源码分析
-TreeMap(2)
前文「
JDK源码分析
-TreeMap(1)」分析了TreeMap的一些方法,本文分析其中的增删方法。这也是红黑树插入和删除节点的操作,由于相对复杂,因此单独进行分析。
weixin_30388677
·
2022-10-16 07:31
java
数据结构与算法
JDK源码分析
-TreeMap(2)
前文「
JDK源码分析
-TreeMap(1)」分析了TreeMap的一些方法,本文分析其中的增删方法。这也是红黑树插入和删除节点的操作,由于相对复杂,因此单独进行分析。
WriteOnRead
·
2022-10-16 07:30
JDK源码分析
<Java设计模式>(三)单例模式
)文章目录单例模式介绍八种方式1、饿汉式(静态常量)2、饿汉式(静态代码块)3、懒汉式(线程不安全)4、懒汉式(线程安全,同步方法)5、懒汉式(线程安全,同步代码块)6、双重检查7、静态内部类8、枚举
JDK
爱编程的大李子
·
2022-07-25 17:08
图解设计模式
单例模式
java
设计模式
HashMap源码分析(一):
JDK源码分析
系列
正文开始注:JDK版本为1.8HashMap1.8和1.8之前的源码差别很大目录简介数据结构类结构属性构造方法增加删除修改总结1.HashMap简介HashMap基于哈希表的Map接口实现,是以key-value存储形式存在。(除了不同步和允许使用null之外,HashMap类与Hashtable大致相同。)HashMap的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为n
乱敲代码
·
2021-06-08 07:39
JDK源码分析
多线程
说明对于
JDK源码分析
的文章,仅仅记录我认为重要的地方。源码的细节实在太多,不可能面面俱到地写清每个逻辑。
被称为L的男人
·
2021-05-17 00:04
JDK源码分析
(1)ArrayList
JDK版本186.pngArrayList简介ArrayList是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List,RandomAccess,Cloneable,java.io.Serializable这些接口。ArrayList继承了AbstractList,实现了List。它是一个数组队列,提供了相关的添加、删除、修改、
Tu9oh0st
·
2021-04-26 20:44
JDK源码分析
-Semaphore
本文首发于微信公众号【WriteOnRead】,欢迎关注。1.概述Semaphore是并发包中的一个工具类,可理解为信号量。通常可以作为限流器使用,即限制访问某个资源的线程个数,比如用于限制连接池的连接数。打个通俗的比方,可以把Semaphore理解为一辆公交车:车上的座位数(初始的“许可”permits数量)是固定的,行驶期间如果有人上车(获取许可),座位数(许可数量)就会减少,当人满的时候不能
·
2021-03-11 08:04
java后端
JDK源码分析
-CyclicBarrier
本文首发于微信公众号【WriteOnRead】,欢迎关注。1.概述CyclicBarrier是并发包中的一个工具类,它的典型应用场景为:几个线程执行完任务后,执行另一个线程(回调函数,可选),然后继续下一轮,如此往复。打个通俗的比方,可以把CyclicBarrier的执行流程比作:几个人(类比线程)围着操场跑圈,所有人都到达终点后(终点可理解为“屏障(barrier)”,到达次序可能有先后,对应线
·
2021-03-11 08:04
java后端
JDK源码分析
-Semaphore
本文首发于微信公众号【WriteOnRead】,欢迎关注。1.概述Semaphore是并发包中的一个工具类,可理解为信号量。通常可以作为限流器使用,即限制访问某个资源的线程个数,比如用于限制连接池的连接数。打个通俗的比方,可以把Semaphore理解为一辆公交车:车上的座位数(初始的“许可”permits数量)是固定的,行驶期间如果有人上车(获取许可),座位数(许可数量)就会减少,当人满的时候不能
·
2021-02-20 17:29
java后端
JDK源码分析
-CyclicBarrier
本文首发于微信公众号【WriteOnRead】,欢迎关注。1.概述CyclicBarrier是并发包中的一个工具类,它的典型应用场景为:几个线程执行完任务后,执行另一个线程(回调函数,可选),然后继续下一轮,如此往复。打个通俗的比方,可以把CyclicBarrier的执行流程比作:几个人(类比线程)围着操场跑圈,所有人都到达终点后(终点可理解为“屏障(barrier)”,到达次序可能有先后,对应线
·
2021-02-20 17:29
java后端
JDK源码分析
-CountDownLatch
本文首发于微信公众号【WriteOnRead】,欢迎关注。1.概述CountDownLatch是并发包中的一个工具类,它的典型应用场景为:一个线程等待几个线程执行,待这几个线程结束后,该线程再继续执行。简单起见,可以把它理解为一个倒数的计数器:初始值为线程数,每个线程结束时执行减1操作,当计数器减到0时等待的线程再继续执行。2.代码分析CountDownLatch的类签名和主要方法如下:publi
·
2021-02-18 13:17
java后端
JDK源码分析
-CountDownLatch
本文首发于微信公众号【WriteOnRead】,欢迎关注。1.概述CountDownLatch是并发包中的一个工具类,它的典型应用场景为:一个线程等待几个线程执行,待这几个线程结束后,该线程再继续执行。简单起见,可以把它理解为一个倒数的计数器:初始值为线程数,每个线程结束时执行减1操作,当计数器减到0时等待的线程再继续执行。2.代码分析CountDownLatch的类签名和主要方法如下:publi
·
2021-02-18 13:01
java后端
JDK源码分析
-ReentrantLock
本文首发于微信公众号【WriteOnRead】,欢迎关注。1.概述在JDK1.5以前,锁的实现只能用synchronized关键字;1.5开始提供了ReentrantLock,它是API层面的锁。先看下ReentrantLock的类签名以及如何使用:publicclassReentrantLockimplementsLock,java.io.Serializable{}典型用法:publicvoi
·
2021-02-15 13:21
java后端
JDK源码分析
-ReentrantLock
本文首发于微信公众号【WriteOnRead】,欢迎关注。1.概述在JDK1.5以前,锁的实现只能用synchronized关键字;1.5开始提供了ReentrantLock,它是API层面的锁。先看下ReentrantLock的类签名以及如何使用:publicclassReentrantLockimplementsLock,java.io.Serializable{}典型用法:publicvoi
·
2021-02-15 13:42
java后端
JDK源码分析
-AbstractQueuedSynchronizer(3)
1.概述前文「
JDK源码分析
-AbstractQueuedSynchronizer(2)」分析了AQS在独占模式下获取资源的流程,本文分析共享模式下的相关操作。
·
2021-02-14 22:54
java后端
JDK源码分析
-AbstractQueuedSynchronizer(3)
1.概述前文「
JDK源码分析
-AbstractQueuedSynchronizer(2)」分析了AQS在独占模式下获取资源的流程,本文分析共享模式下的相关操作。
·
2021-02-14 22:16
java后端
JDK源码分析
-AbstractQueuedSynchronizer(2)
1.概述前文「
JDK源码分析
-AbstractQueuedSynchronizer(1)」初步分析了AQS,其中提到了Node节点的「独占模式」和「共享模式」,其实AQS也主要是围绕对这两种模式的操作进行的
·
2021-02-14 17:40
java后端
JDK源码分析
-AbstractQueuedSynchronizer(1)
1.概述前文「
JDK源码分析
-Lock&Condition」简要分析了Lock接口,它在JDK中的实现类主要是ReentrantLock(可译为“重入锁”)。
·
2021-02-14 17:08
java后端
JDK源码分析
-Hashtable
本文首发于微信公众号【WriteOnRead】,欢迎关注。1.概述与HashMap类似,Hashtable也是散列表的实现。它的内部结构可以理解为「数组+链表」的形式,结构示意图如下:Hashtable的类继承结构与签名如下:publicclassHashtableextendsDictionaryimplementsMap,Cloneable,java.io.Serializable{}Hash
·
2021-02-14 17:08
java后端
JDK源码分析
-HashMap(2)
前文「
JDK源码分析
-HashMap(1)」分析了HashMap的内部结构和主要方法的实现原理。但是,面试中通常还会问到很多其他的问题,本文简要分析下常见的一些问题。
·
2021-02-14 17:08
java后端
JDK源码分析
-LinkedHashMap
1.概述前文「
JDK源码分析
-HashMap(1)」分析了HashMap主要方法的实现原理(其他问题以后分析),本文分析下LinkedHashMap。
·
2021-02-14 17:07
java后端
JDK源码分析
-HashMap(1)
本文首发于微信公众号【WriteOnRead】,欢迎关注。1.概述HashMap是Java开发中最常用的容器类之一,也是面试的常客。它其实就是前文「数据结构与算法笔记(二)」中「散列表」的实现,处理散列冲突用的是“链表法”,并且在JDK1.8做了优化,当链表长度达到一定数量时会把链表转为红黑树。因此,JDK1.8中的HashMap实现可以理解为「数组+链表+红黑树」。内部结构示意图:HashMap
·
2021-02-14 17:07
java后端
JDK源码分析
-AbstractQueuedSynchronizer(2)
1.概述前文「
JDK源码分析
-AbstractQueuedSynchronizer(1)」初步分析了AQS,其中提到了Node节点的「独占模式」和「共享模式」,其实AQS也主要是围绕对这两种模式的操作进行的
·
2021-02-14 17:02
java后端
JDK源码分析
-AbstractQueuedSynchronizer(1)
1.概述前文「
JDK源码分析
-Lock&Condition」简要分析了Lock接口,它在JDK中的实现类主要是ReentrantLock(可译为“重入锁”)。
·
2021-02-08 15:02
java后端
JDK源码分析
-Hashtable
本文首发于微信公众号【WriteOnRead】,欢迎关注。1.概述与HashMap类似,Hashtable也是散列表的实现。它的内部结构可以理解为「数组+链表」的形式,结构示意图如下:Hashtable的类继承结构与签名如下:publicclassHashtableextendsDictionaryimplementsMap,Cloneable,java.io.Serializable{}Hash
·
2021-02-08 15:01
java后端
JDK源码分析
-HashMap(2)
前文「
JDK源码分析
-HashMap(1)」分析了HashMap的内部结构和主要方法的实现原理。但是,面试中通常还会问到很多其他的问题,本文简要分析下常见的一些问题。
·
2021-02-07 19:16
java后端
JDK源码分析
-LinkedHashMap
1.概述前文「
JDK源码分析
-HashMap(1)」分析了HashMap主要方法的实现原理(其他问题以后分析),本文分析下LinkedHashMap。
·
2021-02-07 19:13
java后端
JDK源码分析
-HashMap(1)
本文首发于微信公众号【WriteOnRead】,欢迎关注。1.概述HashMap是Java开发中最常用的容器类之一,也是面试的常客。它其实就是前文「数据结构与算法笔记(二)」中「散列表」的实现,处理散列冲突用的是“链表法”,并且在JDK1.8做了优化,当链表长度达到一定数量时会把链表转为红黑树。因此,JDK1.8中的HashMap实现可以理解为「数组+链表+红黑树」。内部结构示意图:HashMap
·
2021-02-07 19:43
java后端
JDK源码分析
-TreeMap(2)
1.概述前文「
JDK源码分析
-TreeMap(1)」分析了TreeMap的一些方法,本文分析其中的增删方法。这也是红黑树插入和删除节点的操作,由于相对复杂,因此单独进行分析。
·
2021-02-07 14:30
java后端
JDK源码分析
-TreeMap(1)
本文首发于微信公众号【WriteOnRead】,欢迎关注。1.概述前面数据结构与算法笔记对红黑树进行了分析,而TreeMap内部就是基于红黑树实现的。示意图:它的查找、插入、删除操作的时间复杂度均为O(logn)。TreeMap类的继承结构如下:类签名:publicclassTreeMapextendsAbstractMapimplementsNavigableMap,Cloneable,java
·
2021-02-07 14:29
java后端
JDK源码分析
-TreeMap(1)
本文首发于微信公众号【WriteOnRead】,欢迎关注。1.概述前面数据结构与算法笔记对红黑树进行了分析,而TreeMap内部就是基于红黑树实现的。示意图:它的查找、插入、删除操作的时间复杂度均为O(logn)。TreeMap类的继承结构如下:类签名:publicclassTreeMapextendsAbstractMapimplementsNavigableMap,Cloneable,java
·
2021-02-07 14:29
java后端
上一页
1
2
3
4
5
6
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他