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源码分析
JDK源码分析
-TreeMap(2)
1.概述前文「
JDK源码分析
-TreeMap(1)」分析了TreeMap的一些方法,本文分析其中的增删方法。这也是红黑树插入和删除节点的操作,由于相对复杂,因此单独进行分析。
·
2021-02-07 13:33
java后端
JDK源码分析
-LinkedList
1.概述相较于ArrayList,LinkedList在平时使用少一些。LinkedList内部是一个双向链表,并且实现了List接口和Deque接口,因此它也具有List的操作以及双端队列和栈的性质。双向链表的结构如下:前文分析了Queue和Deque接口,正是因为LinkedList实现了Deque接口。LinkedList的继承结构如下:2.代码分析2.1结点类Node查看LinkedLis
·
2021-02-06 23:12
java后端
JDK源码分析
-LinkedList
1.概述相较于ArrayList,LinkedList在平时使用少一些。LinkedList内部是一个双向链表,并且实现了List接口和Deque接口,因此它也具有List的操作以及双端队列和栈的性质。双向链表的结构如下:前文分析了Queue和Deque接口,正是因为LinkedList实现了Deque接口。LinkedList的继承结构如下:2.代码分析2.1结点类Node查看LinkedLis
·
2021-02-06 23:42
java后端
JDK源码分析
-Vector
1.概述上文「
JDK源码分析
-ArrayList」主要分析了ArrayList的实现原理。本文分析List接口的另一个实现类:Vector。
·
2021-02-06 23:41
java后端
JDK源码分析
-Vector
1.概述上文「
JDK源码分析
-ArrayList」主要分析了ArrayList的实现原理。本文分析List接口的另一个实现类:Vector。
·
2021-02-06 23:26
java后端
JDK源码分析
-ArrayList
前面「
JDK源码分析
·
2021-02-06 23:20
java后端
JDK源码分析
-ArrayList
前面「
JDK源码分析
·
2021-02-06 18:47
java后端
【2021年】小哪吒入门学习Java的第一天打卡
(感谢一键三连)内存分析,底层算法,
JDK源码分析
(idea版本和jdk13)初级学习方
程序员哆啦A梦
·
2021-01-16 23:53
java
程序员
后端
【2021年】小哪吒入门学习Java的第一天打卡
(感谢一键三连)内存分析,底层算法,
JDK源码分析
(idea版本和jdk13)初级学习方
程序员哆啦A梦
·
2021-01-16 23:53
java
程序员
后端
【2021年】小哪吒入门学习Java的第一天打卡
(感谢一键三连)内存分析,底层算法,
JDK源码分析
(idea版
程序员哆啦A梦
·
2021-01-16 18:30
达达后端指路
java
后端
经验分享
编程语言
jdk源码分析
之 ConcurrentHashMap
整体架构:ConcurrentHashMap继承了AbstractMap及实现了ConcurrentMap。从类注解获得的信息所有的操作都是线程安全的,可以放心使用,无需再加锁;多个线程同时进行put、remove等操作时并不会阻塞,可以同时进行,和HashTable不同,HashTable在操作时,会锁住整个Map;(所以有些时候要求数据是强一致性时,要使用HashTable,Concurent
是表哥啊
·
2020-11-25 10:57
jdk源码
【JDK】
JDK源码分析
-Vector
概述上文「
JDK源码分析
-ArrayList」主要分析了ArrayList的实现原理。本文分析List接口的另一个实现类:Vector。
weixin_30731287
·
2020-09-17 02:31
java
JDK源码分析
-Vector
继承结构可以看出Vector集合和ArrayList集成结构一样,其实内部方法也是大同小异,这里不常用,就做学习其实现原理。构造方法protectedObject[]elementData;protectedintelementCount;protectedintcapacityIncrement;privatestaticfinallongserialVersionUID=-2767605614
刘超军
·
2020-09-17 01:58
jdk源码分析
JDK源码分析
------Vector
概述正如我们大家都知道的样子,在集合框架中ArrayList和LinkedList都是线程不安全的。但是有没有存在线程安全的类呢?答案必然是肯定的。这里就解释一下Vector这个类。可能有人会提到java.util.concurrent.CopyOnWriteArrayList这个东西,由于其实现机制和Vector是不同的,这里不做如何讨论。当分析到CopyOnWriteArrayList这个类的
qq_25484147
·
2020-09-17 00:38
javase
Java基础
JDK
源码分析
Vector
深入学习java各种容器--面试使用
转载地址对着原文走了一遍流程,分析地址是androdsdk中的29中的源代码分析,和原文地址
jdk源码分析
有点区别,大体一致前言相信大家在工作中使用容器的场景是具有多变性的,那么在性能方面你知道怎么去选择一种当前最优的数据结构吗
narkang
·
2020-09-16 15:01
#
高并发
【JDK】
JDK源码分析
-List, Iterator, ListIterator
List方法列表如下:由于上文「
JDK源码分析
-Collection」已对Collection接口的方法进行了简要分析,而List接口继承自Collection,因此这里只分析一些List特有的方法:/
weixin_30764771
·
2020-09-14 16:53
jdk源码分析
——Collection 集合
jdk源码分析
——Collection集合Collection——java.util.Collectionnotrecommended不建议使用-Enumeration 迭代器,被
卡拉汪汪汪
·
2020-09-14 14:09
数据结构和算法
java
JDK源码分析
:java.lang.String
最近开始看JDK源码,不能太懒了~~注释非常详细(虽然是英文),而且部分代码也不算很复杂。先挑的简单的看看。。为了坚持下去,所以在博客写些记录,一是为了记忆,二是给自己一个坚持的理由~~哇咔咔,英文不算很好,那就对着中文API一起看吧。。String结构这个类结构很简单。。/**Thevalueisusedforcharacterstorage.*/privatefinalcharvalue[];
分布式编程
·
2020-09-14 12:43
java
源码分析
jdk
string
正则表达式
equals
regex
JDK源码分析
----Integer
1.Integer的缓存技术JDK1.5后Java引入了自动装箱和自动拆箱技术,Integerina=2;Integerinb=2;System.out.println("装箱后"+(ina==inb));Integerinc=200;Integerind=200;System.out.println("装箱后"+(inc==ind));上面的执行结果分别为true和false.为什么两次装箱结果
Mr普
·
2020-08-25 14:33
重学Java
JDK源码分析
-ScheduledExecutorService
概述接口的继承结构如下:下面分析这几个接口的定义。Executor从名字来看,Executor可译为“执行器”,它的作用就是执行任务。该接口只有一个execute方法:publicinterfaceExecutor{//执行给定的任务(Runnable)voidexecute(Runnablecommand);}该方法的作用就是(在将来的某个时间)执行给定的命令,即实现了Runnable接口的对象
WriteOnRead
·
2020-08-25 10:05
java
JDK源码分析
-DelayQueue
概述DelayQueue也是一种队列,它内部的元素有“延迟”,也就是当从队列中获取元素时,如果它的延迟时间未到,则无法取出。DelayQueue的类签名和继承结构如下:publicclassDelayQueueextendsAbstractQueueimplementsBlockingQueue{}下面分析其代码实现。代码分析相关接口DelayQueue中的元素要实现Delayed接口,该接口定义
WriteOnRead
·
2020-08-25 10:14
JAVA
JDK源码分析
——单例模式
什么是单例模式?定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例场景,也就是说:确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象应该有且只有一个。保证一个类仅有一个实例,并提供一个访问它的全局访问点。/***Copyright(C),2018-2020*FileName:SingletonDemo*Author:xjl*Date:2020/8
庄小焱
·
2020-08-25 08:14
JDK源码分析
jdk
JDK源码分析
-ReentrantReadWriteLock
概述前面分析过ReentrantLock「
JDK源码分析
-ReentrantLock」,它是一种互斥的可重入锁,可用于处理并发场景下的线程安全问题。
WriteOnRead
·
2020-08-24 23:36
java
JDK源码分析
-CopyOnWriteArrayList
1.概述CopyOnWriteArrayList,从名字可以看出它跟ArrayList有点关系,可以理解为线程安全的ArrayList。它的类签名和继承结构如下:publicclassCopyOnWriteArrayListimplementsList,RandomAccess,Cloneable,java.io.Serializable{}它主要实现了List接口,也是一个集合类,下面分析其代码
WriteOnRead
·
2020-08-24 23:07
java
JDK源码分析
初步整理
1.啰嗦一下不知不觉一年又到了尾声,从年初开始写「
JDK源码分析
」这个系列,而今已经过了大半年,文章也写了几十篇,虽说不多但也不算太少(好像还是有点少
WriteOnRead
·
2020-08-24 22:45
java
2018.3.21
JDK源码分析
之String源码分析
写在前面的话首先,最近有人在问我String、StringBuffer、StringBuilder的部分问题,我觉得还是深入探讨一下为好,所以开了这个坑,带领大家来初略的领略一下JDK源码是如何对这个三个类进行设计的(基于JDK1.8);所谓的字符串就是一系列字符的集合,所以我们可以把字符串当作数组来看待。观察定义结构String类的定义结构(JDK1.0)publicfinalclassStri
weixin_30773135
·
2020-08-24 03:51
Open
JDK源码分析
之DirectMemory大小(一)
发现问题在使用javaNIO时,会使用到buffer。那么JDK里面如何分配堆外内存到大小呢?下面根据一系列猜想,整理了一个求证的过程:importjava.nio.ByteBuffer;importjava.util.concurrent.TimeUnit;importsun.misc.VM;importsun.nio.ch.DirectBuffer;publicclassDirectByteB
彭薄
·
2020-08-21 16:54
JDK
Open
JDK源码分析
之DirectMemory大小(二)
OpenJDK源码包结构介绍上文我们从JDK里面的java代码实现跟踪到了Runtime.getRuntime().maxMemory();这个Native方法,那么要理解这个方法如何实现,就需要下载OpenJDK的源码进行学习了。下面我们先介绍一下OpenJDK源码包的结构,避免我们在代码追踪时迷路:OpenJDK——corba:不流行的多语言、分布式通讯接口——hotspot:Java虚拟机—
彭薄
·
2020-08-21 16:54
JDK
JDK源码分析
——Integer
一.基本描述java.lang.Integer是最常用的Java类型之一,然而恐怕很少有人会去注意这个支撑起整个Java世界的小小基石。Integer类的声明是publicfinalclassIntegerextendsNumberimplmentsComparable,我们可以发现Integer类是不能被继承的。Integer的核心字段是privatefinalintvalue,这个字段代表着I
驹子与叶子
·
2020-08-21 15:55
jdk
java
JDK源码分析
——AbstractQueuedSynchronizer(上)
一.Java并发编程的基石AQS是Java并发编程的基础,Java类库提供的并发工具如Semaphore,CountDownLatch,CyclicBarrier,ReentrantLock,ReadWriteLock等等都是建立在AQS上的,按照DougLea的说法,AQS是一个并发基础框架,用户通过继承AQS并覆写tryAcquire()和tryRelease()来表达他所希望的信号量控制方式
驹子与叶子
·
2020-08-21 04:29
java
并发
JDK源码分析
异常
说明对于
JDK源码分析
的文章,仅仅记录我认为重要的地方。源码的细节实在太多,不可能面面俱到地写清每个逻辑。
被称为L的男人
·
2020-08-20 13:14
设计模式 | 用实际案例详解工厂模式
目录一、案例需求二、简单工厂模式1、基本介绍三、工厂方法模式1、基本介绍四、抽象工厂模式1、基本介绍五、
JDK源码分析
之工厂模式六、工厂模式小结1、工厂模式的意义2、三种工厂模式3、设计模式的依赖抽象原则一
一颗白菜__
·
2020-08-20 04:55
随记
学习之路
JavaWeb
JVM性能调优实践——G1 垃圾收集器介绍篇
这一篇先简单总结一下GC的种类,然后侧重总结下G1(Garbage-First)垃圾收集器的分代,结合open-
jdk源码分析
下重要算法如SATB,重要存储结构如CSet、RSet、TLAB、PLAB、
zhangguolvi
·
2020-08-19 06:39
垃圾收集器
ArrayList 中 replaceAll(UnaryOperator operator) 方法的作用【
jdk源码分析
】
今天在看ArrayList源码的时候有个方法【replaceAll(UnaryOperatoroperator)】不是很理解。主要是对于参数的不是很理解,毫不自愧的说,“第一次见”!见方法名之其意:不就是替换吗。跟字符串替换方法名字一样嘛,有啥区别嘛。但是一写测试类,就无法下手了,这参数,到底传什么嘛,几十脸懵逼。不过经过一番跟进相关类及相关方法。终于理清楚了。如有不足或错误的地方,欢迎指出~~~
System.out.print
·
2020-08-19 05:30
jdk源码
JDK源码分析
——AbstractQueuedSynchronizer(上)
一.Java并发编程的基石AQS是Java并发编程的基础,Java类库提供的并发工具如Semaphore,CountDownLatch,CyclicBarrier,ReentrantLock,ReadWriteLock等等都是建立在AQS上的,按照DougLea的说法,AQS是一个并发基础框架,用户通过继承AQS并覆写tryAcquire()和tryRelease()来表达他所希望的信号量控制方式
驹子与叶子
·
2020-08-17 07:33
java
并发
JDK源码分析
——Integer
一.基本描述java.lang.Integer是最常用的Java类型之一,然而恐怕很少有人会去注意这个支撑起整个Java世界的小小基石。Integer类的声明是publicfinalclassIntegerextendsNumberimplmentsComparable,我们可以发现Integer类是不能被继承的。Integer的核心字段是privatefinalintvalue,这个字段代表着I
驹子与叶子
·
2020-08-16 05:27
jdk
java
java中的集合框架(Set、List、Map)及其实现类
Java中集合框架包括Collection接口、Set接口、List接口、Map接口,已经常用的它们的实现类,简单的
JDK源码分析
底层实现集合框架:Java语言的设计者对常用的数据结构和算法做了一些规范
马超伟
·
2020-08-15 10:40
javaSE
java基础面试全攻略
面试常问的知识点总结(持续更新)
JDK源码分析
(jdk1.8)ArrayList源码分析LinkedList源码分析HashMap源码分析HashTable源码分析Object源码分析Runtime源码分析ConcurrentHashMap
HY_Chan
·
2020-08-14 14:50
java
JDK源码分析
——SecurityManager安全管理器实例分析
目录目录1样例github2安全管理器简介2.1获取系统管理器2.2设置系统管理器2.3JDK默认安全策略文件2.4自定义安全策略文件3样例分析3.1样例相关文件3.2样例源码4调试分析4.1直接运行(无参数)4.2配置默认安全管理器4.3配置默认管理+自定义策略文件(=)4.4配置默认管理+自定义策略文件(==)1样例githubhttps://github.com/mh47838704/Jav
m47838704
·
2020-08-13 15:38
jdk
java
JDK源码分析
——类加载器的分析和实战
本篇文章中的实例代码已经放入github的JavaExample中:github地址:https://github.com/mh47838704/JavaExample该文章中的实例代码:https://github.com/mh47838704/JavaExample/tree/master/src/test/java/com/mh/JavaExample/cloader实例放在项目的test模
m47838704
·
2020-08-13 15:37
jdk
classloader
java
JDK源码分析
——Java的SPI机制分析与实战
重点提示:在我博客中的所有的源码分析的实例,我都将会放到github上,感兴趣的朋友可以下载下来调试运行,我相信还是可以有所收获的。我的目的是让所有读到我博客的朋友都可以了解到有价值的东西,学习到java核心的原理,使用起来更加得心应手。所有实例的GitHub地址:https://github.com/mh47838704/JavaExample,我会不定期的更新代码,所有大家可以长期关注一下。前
m47838704
·
2020-08-13 15:37
java
spi
扩展性
java
spi
service
JDK源码分析
——ThreadPoolExecutor参数详解
参考文章:
JDK源码分析
——ThreadPoolExecutor参数详解本篇文章主要对jdk中线程池ThreadPoolExecutor的参数进行详细分析ThreadPoolExecutor已经对上面的各种情况进行了封装处理
m47838704
·
2020-08-13 15:06
java
jdk
线程池
Java并发学习笔记4 openjdk源码
bilibili-Java并发学习笔记4openjdk源码基于java1.8.0P16_通过open
jdk源码分析
ObjectMonitor底层实现opensourceopenjdkMercurialdownloadhttp
morningcat2018
·
2020-08-11 04:54
Java多线程
Java_Integer 类常用方法总结
借鉴视频:章节4课时63、64尚学堂_高淇_包装类_Integer_Number_
JDK源码分析
.wmv(网易云课堂)Integer类:1.声明并创建Integer对象2.Integer函数3.Autoboxingandunboxing
qq_34287501
·
2020-08-10 19:10
Java
【
JDK源码分析
】 String.join()方法解析
前言最近出于习惯问题,顺手点开了String的源码,意外发现String在JDK8中新增了join方法。(实在惭愧,JDK8都发布多久了。。。)源码String重载了join方法,两个方法的异同点在于,第一个方法使用的可变参数,第二个方法使用的可迭代参数,这样设计主要是为了方法适用性更广。比如参数可以传一个数组、集合等等。下面就拿一个方法的源码来解析String类/***delimiter分隔符*
还是搬砖踏实
·
2020-08-10 17:27
Java
设计模式之单例模式
设计模式之单例模式什么是单例模式单例模式介绍单例模式应用使用场景优点八种实现方式饿汉式(静态常量)饿汉式(静态代码块)懒汉式(线程不安全)懒汉式(线程安全)双重检查静态内部类实现枚举单例模式
JDK源码分析
什么是单例模式单例模式介绍单例模式
更新失败
·
2020-08-05 02:52
设计模式
JDK源码分析
——Java.util.Vector的浅析
首先我们来看JDK源码中Java.util.Vector的代码,剔除所有的方法和静态变量,Java.lang.Vector的核心代码如下:[java]viewplaincopypublicclassVectorextendsAbstractListimplementsList,RandomAccess,Cloneable,java.io.Serializable{protectedObject[]
wankaiming
·
2020-08-04 03:15
Java
JDK源码分析
--ArrayList深入理解
一、实现原理以JDK1.8.0_74源码为基础进行分析。1、基于数组的实现,是一个容量能自动增长的动态数组。2、ArrayList实现了Serializable接口,因此它支持序列化,能够通过序列化传输,实现了RandomAccess接口,支持快速随机访问,实际上就是通过下标序号进行快速访问,实现了Cloneable接口,能被克隆。3、随着向ArrayList中不断添加元素,其容量也自动增长。自动
wolfshadow.cn
·
2020-08-04 01:07
JDK源码
JDK源码分析
--ArrayList怎么扩容
为何将ArrayList的扩容单独写成一篇博客?之前对ArrayList进行过源码分析,对于扩容也有介绍,但考虑到文章写得有点多,可能一些朋友根本没兴趣全部看完;基于此原因,将其扩容规则单独列出。源码:privatevoidgrow(intminCapacity){//overflow-consciouscodeintoldCapacity=elementData.length;intnewCap
wolfshadow.cn
·
2020-08-03 11:33
JDK源码
jdk源码分析
(四)——ArrayList
ArrayList可以说是我们在java中最经常使用的数据结构之一了,它为我们提供了方便灵活的可变长度列表实现,并可以高效的存取。因此,作为一个如此亲密的朋友,我们自然是要走近它,一探究竟了。一.类定义ArrayList位于java.util包,其定义如下:publicclassArrayListextendsAbstractListimplementsList,RandomAccess,Clon
自由水鸟
·
2020-07-31 18:28
上一页
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
其他