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
JAVA源码分析
Java源码分析
-ArrayList
ArrayList介绍ArrayList实现了AbstractList抽象类,同时还继承了List,AccessRandom,Cloneable,java.io.Serializable接口,根据源码可知ArrayList也是实现泛型的机制。publicclassArrayListextendsAbstractListimplementsList,RandomAccess,Cloneable,ja
Conjane_Jiang
·
2020-08-04 02:33
Java
SE
java
源码
Java源码分析
之Object类(一)
一、本节目的:为了了解Object类源码实现。二、源码展示importjdk.internal.HotSpotIntrinsicCandidate;/***Object类是java所有类的父类。*/publicclassObject{privatestaticnativevoidregisterNatives();static{registerNatives();}/***JDK的源码中,被@Ho
_彩虹
·
2020-08-03 22:04
Java基础部分
java源码分析
:ArrayList的扩容机制
java源码分析
:ArrayList的扩容机制ArrayList是java中最常用的集合之一,底层的数据结构是数组,在学习集合时,阅读源码是必不可少的环节之一,阅读源码可以有效的帮助我们深入了解其工作原理
Far_Stars
·
2020-08-03 21:50
java源码分析
java源码分析
之ArrayList
ArrayList就是传说中的动态数组,就是Array的复杂版本,它提供了如下一些好处:动态的增加和减少元素、灵活的设置数组的大小......认真阅读本文,我相信一定会对你有帮助。比如为什么ArrayList里面提供了一个受保护的removeRange方法?提供了其他没有被调用过的私有方法?首先看到对ArrayList的定义:publicclassArrayListextendsAbstractL
快乐的燕子会飞
·
2020-08-03 18:52
java
Java源码分析
- HashMap常用方法和扩容算法
前言本文对HashMap(JDK1.8)的源码进行分析,包括以下几个部分:常用方法(put(),get(),containsKey(),containsValue(),remove())内部类(entrySet())底层基本数据结构以及扩容算法解析什么是HashMapHashMap是基于数组扩展实现的通过通过这种键值对映射的方式来存储数据的一种数据结构。因此它具有在O(1)时间查找元素的效率。Ha
blue_zy
·
2020-08-03 15:52
Java
Java源码分析
AbstractList的迭代器实现(Itr和ListItr)
Itr和ListItr的简介AbstractList的有两个内部类实现了迭代器,一个内部类Itr实现了Iterator接口,一个内部类ListItr实现了ListIterator接口,后者其实就是前者的升级版罢了,多了一些额外操作。下面先来看一下返回这两个内部类实例的方法的注释:publicIteratoriterator(){returnnewItr();}前面的重要注释摘抄如下(字面意思请自行
anlian523
·
2020-08-03 15:25
Java
【
Java源码分析
】ArrayList源码分析
类的定义publicclassArrayListextendsAbstractListimplementsList,RandomAccess,Cloneable,java.io.Serializable{}List接口的实现类,AbstractList的子类,支持随机访问,因此底层实现的数据结构是数组实现了所有list的操作,允许所有类型的元素,包括NULL提供计算Array大小的接口,可以看做是
流动的城市
·
2020-08-03 14:57
Java
【
Java源码分析
】Java8的ArrayList源码分析
Java8的ArrayList源码分析源码分析ArrayList类的定义字段属性构造函数trimToSize()函数Capacity容量相关的函数,比如扩容List大小和是否为空contain()函数indexOf()、lastIndexOf()函数clone()方法toArray()函数get、set、add、remove、clear函数xxxxAll()类函数writeObject()、rea
SnailMann
·
2020-08-03 13:18
Java源码
Java源码详解五:ArrayList源码分析--openjdk java 11源码
文章目录注释类的继承与实现构造函数add操作扩容函数remove函数subList函数总结本系列是Java详解,专栏地址:
Java源码分析
ArrayList官方文档:ArrayList(JavaPlatformSE8
zhang0peter
·
2020-08-03 12:12
java源码分析
java
Java源码分析
- ArrayList
ArrayList是什么publicclassArrayListextendsAbstractListimplementsList,RandomAccess,Cloneable,java.io.Serializable{//...}继承AbstractList-说明本身数据结构是列表实现List,RandomAccess,Cloneable,Serializable这几个接口-说明支持List中的
blue_zy
·
2020-08-03 10:04
Java
java源码分析
---ArrayList
ArrayList源码分析1.ArrayList继承体系结构classArrayListextendsAbstractListimplementsList,RandomAccess,Cloneable,java.io.Serializable从源码可以看到ArrayList类主要是继承AbstractList类并实现了List接口,实现RandomAccess、Cloneable和Serializ
小潭渔
·
2020-08-03 10:46
java源码分析
java源码分析
---集合类汇总
集合类汇总1.集合的产生通常,我们的程序需要根据程序运行时才知道创建多少个对象。但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型。为了满足这些常规的编程需要,我们要求能在任何时候,任何地点创建任意数量的对象,而这些对象用什么来容纳呢?我们首先想到了数组,但是数组只能放统一类型的数据,而且其长度是固定的,那怎么办呢?集合便应运而生了!2.集合基本概念2.1
小潭渔
·
2020-08-02 19:25
java源码分析
《
Java源码分析
》:Condition
《
Java源码分析
》:Condition如下这篇博文讲解的Condition真心将的好,自己结合了源码也基本上对Condition有了一个大致的了解。写篇博客记录下。
HelloWorld_EE
·
2020-08-02 19:48
JAVA源码分析
Java源码分析
Java集合源码分析ArrayListhttps://www.cnblogs.com/zhangyinhua/p/7687377.htmlLinkedlisthttps://www.cnblogs.com/zhangyinhua/p/7688304.htmlVevtor和Stackhttps://www.cnblogs.com/zhangyinhua/p/7688722.htmlHashMapht
蝎子睿
·
2020-08-02 18:54
java
Java源码分析
如无特别说明,源码分析基于JKD1.8ArrayList概览因为ArrayLIst是基于数字实现的,所以支持快速随机访问。RandomAccess接口标识着该类支持快速随机访问。publicclassArrayListextendsAbstractListimplementsList,RandomAccess,Cloneable,java.io.Serializable数组的默认大小为0priva
WLiiii
·
2020-08-02 17:24
java源码分析
之-ConcurrentHashMap1.8
ConcurrentHashMap源码分析最近在看ConcurrentHashMap1.8版本的源码,有了些自己的见解,想与大家分享一番,理解有不对的地方还请大家指正。ConcurrentHashMap源码应该怎么读,大家可以先在脑海里想一下,ConcurrentHashMap在自己的项目中比较常用的几个方法,然后以这些方法作为入口,顺着往下一条线进行阅读,接着发散到其他关联的一下方法逻辑,最后由
小號子
·
2020-07-30 15:42
java源码分析
java
java并发编程
Android ShutdownThread.
java源码分析
//constantsprivatestaticfinalStringTAG="ShutdownThread";//LogcatprivatestaticfinalintPHONE_STATE_POLL_SLEEP_MSEC=500;//maximumtimewewaitfortheshutdownbroadcastbeforegoingon.privatestaticfinalintMAX_BR
hust12-zoujm
·
2020-07-28 10:43
Android
总结
欢迎进入Hensen_的博客目录(全站式导航)
基本使用3章RxJava操作符4章RxJava基本响应类型5章RxJava背压策略6章RxJava基础实战7章RxJava高级用法(一)8章RxJava高级用法(二)9章RxJava混合实战10章Rx
Java
Hensen_
·
2020-07-28 06:07
点击查看博客导航
Java源码分析
- LinkedList
什么是LinkedList和ArrayList不同,LinkedList是基于链表实现的线性数据结构。节点之间访问不是通过下标进行,而是通过指针。同时,LinkedList实现了List接口和Deque接口。在Deque接口中提供了许多有用的方法,我们下面会选一些详细说。这是LinkedList里面Node结构(静态内部类):privatestaticclassNode{Eitem;Nodenex
blue_zy
·
2020-07-27 19:04
Java
java
linkedlist
(三)
Java源码分析
—Serializable接口
这是目前为止见到过的最简单的一个接口了,没有任何需要实现的方法,位于java.io包下:packagejava.io;publicinterfaceSerializable{}类通过实现java.io.Serializable接口以启用其序列化功能。未实现此接口的类将无法使其任何状态序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于标识可序列化的语义。序列
我还年轻不想脱发
·
2020-07-27 17:42
Java源码分析
Java源码分析
---(Java.util包分析之Collection)
先从AbstractCollection抽象类开始:publicabstractclassAbstractCollectionimplementsCollection{/*****/}publicinterfaceIterable{}Collection接口继承了Iterable迭代器,迭代器就是一个顶级的接口;publicinterfaceCollectionextendsIterable{}由
Rickshawboylu
·
2020-07-27 16:55
原创文章
Java
RXJAVA
本文内容:观察者模式rxjava异步使用操作符介绍rxjava背压rx
java源码分析
rxjava+retrofit观察者模式java中的观察者模式,主要有三个关键词需要记住,被观察者(Observable
az44yao
·
2020-07-15 20:33
Java源码详解六:ConcurrentHashMap源码分析--openjdk java 11源码
文章目录注释类的继承与实现数据的存储构造函数哈希putget扩容本系列是Java详解,专栏地址:
Java源码分析
ConcurrentHashMap官方文档:ConcurrentHashMap(JavaPlatformSE8
zhang0peter
·
2020-07-13 23:11
java源码分析
java
java源码分析
---String、StringBuffer、StringBuilder探索
String、StringBuffer、StringBuilder探索String源码解析在这片博文中我们解析了String相关的构造方法和常用方法,既然有了String类,为何还要有StringBuffer和StringBuilder类呢?首先我们先看一段代码:publicclassStringTest{publicstaticvoidmain(String[]args){StringBuild
小潭渔
·
2020-07-13 16:27
java源码分析
(10)
java源码分析
---- HashMap源码分析 及其 实现原理分析
1.HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。哈希表那么我们能不能综合两者的特性,
pandajava
·
2020-07-13 08:54
java
Java源码分析
之StringBuilder,StringBuffer
这两个类极为相似,都是继承自AbstractStringBuilder,并且都实现了Serializable,CharSequence,区别也很明显,StringBuilder不支持多线程,而StringBuffer支持多线程由于是继承自AbstractStringBuilder,所以不需要成员变量了,StringBuffer中有char[]toStringCache;将两个类放一起,以便形成对比
matrix5247
·
2020-07-13 08:02
Java
jdk11源码--CountDownLatch源码分析
更多
java源码分析
请见:jdk11源码分析系列文章专栏:Java11源码分析文章目录欢迎关注本人公众号概述CountDownLatch初始化awaitcountDown欢迎关注本人公众号概述CountDownLatch
快乐崇拜234
·
2020-07-13 04:31
Java11源码分析
Java源码分析
——ArrayList
之前已经分析了HashMap的源码,知道HashMap的内部数据结构是数组+链表+红黑树。相对于HashMap,ArrayList的内部实现方法和操作都简单的多。之前在看《ThinkingInJava》的时候已经知道:ArrayList内部是用数组实现的,所以对于随机查询,效率会很高。但是对于在数组中间插入数据,和删除中间元素时,会导致后续元素的移动。jkd源码版本为1.8.0_05类的结构pub
微辣鸡米饭
·
2020-07-12 01:41
Java源码分析
1-ArrayList
以下内容基于JDK1.8概述用大小可变数组存储数据的方式实现了List接口实现了所有List相关的操作接收所有类型元素,包括Null提供了非同步,类似Vector的方法来操作内部数组(用于存储列表)的大小继承关系图继承关系图相关属性/***默认初始容量*/privatestaticfinalintDEFAULT_CAPACITY=10;/***空数组,如果传入的容量为0或传入集合元素个数为0时使用
那廿
·
2020-07-11 07:10
《
Java源码分析
》:ConcurrentHashMap JDK1.8
《
Java源码分析
》:ConcurrentHashMapJDK1.8最近一直在看关于J.U.C中的源码,了解原子操作,了解锁机制,了解多线程并发等等。
HelloWorld_EE
·
2020-07-10 03:45
JAVA源码分析
数据结构HashMap(Android SparseArray 和ArrayMap)
HashMapHashMap.
java源码分析
:三个构造函数:HashMap():默认初始容量capacit
我是大大吓
·
2020-07-09 21:14
Android
源代码解析
java源码分析
--Lock与Condition
Lock与Condition源码解析Lock与Condition接口位于java.util.concurrent.locks包中,Lock接口:多线程在JDK1.5版本升级时,推出一个接口Lock接口。解决线程安全问题使用同步的形式,(同步代码块,要么同步函数)其实最终使用的都是锁机制。到了后期版本,直接将锁封装成了对象。线程进入同步就是具备了锁,执行完,离开同步,就是释放了锁。在后期对锁的分析过
小潭渔
·
2020-07-05 18:05
java源码分析
jdk11源码--ReentrantLock之Condition源码分析
更多
java源码分析
请见:jdk11源码分析系列文章专栏:Java11源码分析文章目录欢迎关注本人公众号概述创建ConditionnextWaiterawitsignalsignal唤醒后的操作欢迎关注本人公众号概述在
快乐崇拜234
·
2020-07-04 15:42
Java11源码分析
Java源码分析
-ArrayList
ArrayList是我们最常用的集合类,我们看下它的实现(基于JDK1.8)。支持原创,转载请注明出处。继承关系publicclassArrayListextendsAbstractListimplementsList,RandomAccess,Cloneable,java.io.SerializablepublicinterfaceListextendsCollectionArrayList实现
gatsby_dhn
·
2020-07-04 15:32
usb4
java源码分析
文章目录usb协议操作流程如何收发字节数据usb协议可以简单认为host拥有一棵usb树,在这棵树上挂载usb节点。查询和连接指定的device时需要给出两个信息:vendorIdproductId因此对于high-levelapi,有以下查找device的实现://和递归查目录树是一样的publicUsbDevicefindDevice(UsbHubhub,shortvendorId,short
Stave Wu
·
2020-07-04 00:49
Java源码分析
-HashMap
HashMap是非常常的集合类,我们来看下它的源码(基于JDK1.8)。支持原创,转载请注明出处。继承关系publicclassHashMapextendsAbstractMapimplementsMap,Cloneable,SerializableHashMap实现了Map接口核心成员变量staticfinalfloatDEFAULT_LOAD_FACTOR=0.75f;//默认装载因子fina
gatsby_dhn
·
2020-07-02 03:28
Rx
Java源码分析
最简单的观察者列车Observable.create(newObservable.OnSubscribe(){@Overridepublicvoidcall(Subscribersubscriber){subscriber.onNext("邦");}}).subscribe(newSubscriber(){@OverridepublicvoidonCompleted(){}@Overridepub
o_o_72ab
·
2020-07-01 00:05
JDK1.8 对 HashMap 的优化
详细的解释↓Java8系列之重新认识HashMap
Java源码分析
:关于HashMap1.8的重大更新由数组+链表的结构改为数组+链表+红黑树。
pluss
·
2020-06-29 00:50
java源码分析
之集合框架 ArrayList和LinkedList的区别05
List概括先来回顾一下List在Collection中的的框架图:从图中我们可以看出:(1).List是一个接口,它继承与Collection接口,代表有序的队列。(2).AbstractList是一个抽象类,它继承于AbstractCollection。AbstractList实现了List接口中全部方法。AbstractList相比AbstractCollection和List多了一个rem
秋夫人
·
2020-06-27 13:08
java源码分析
集合框架
java进阶
java源码分析
之集合框架AbstractMap 08
AbstractMap:AbstractMapAbstractMap继承了Map,但没有实现entrySet()方法(该方法还是abstract修饰),如果要继承AbstractMap,需要自己实现entrySet()方法。没有真正实现put(Kkey,Vvalue)方法,这里“没有真正实现”的意思是,该方法在形式上已经实现了,即没有用abstract修饰了,但是方法内部仅仅是抛出个异常,并没有真
秋夫人
·
2020-06-27 13:08
集合框架
java进阶
java源码分析
Java源码分析
——String的设计
Tip:笔者马上毕业了,准备开始Java的进阶学习计划。于是打算先从String类的源码分析入手,作为后面学习的案例。这篇文章寄托着今后进阶系列产出的愿望,希望能坚持下去,不忘初心,让自己保持那份对技术的热爱。因为学习分析源码,所以借鉴了HollisChuang成神之路的大部分内容,并在此基础上对源码进行了学习,在此感谢。问题的引入关于String字符串,对于Java开发者而言,这无疑是一个非常熟
keep_thinking_94
·
2020-06-27 05:55
移动客户端开发
Rx
Java源码分析
--S型调用整体流程
简介这篇Rx
Java源码分析
非常精简,仅通过最简单的调用方式对RxJava的整个调用流程做深入剖析,未贴大量源码,需要结合源码,对比流程分析,跟上思路。
simonenfp
·
2020-06-26 14:17
Java源码分析
:HashMap 1.8 及与HashMap1.7比较
前言今天,我将通过源码分析HashMap1.8,从而讲解HashMap1.8相对于HashMap1.7的更新内容,希望你们会喜欢。示意图.png1.简介类定义publicclassHashMapextendsAbstractMapimplementsMap,Cloneable,Serializable主要简介示意图.pngHashMap的实现在JDK1.7和JDK1.8差别较大今天,我将对照JDK
Sophia_dd35
·
2020-06-26 11:32
JAVA源码分析
之HashMap 1.7
一、简介类定义:publicclassHashMapextendsAbstractMapimplementsMap,Cloneable,Serializable二、数据结构2.1具体描述HashMap采用的数据结构为:数组+链表,该数据结构方式也称为:拉链法。2.2示意图2.3存储流程为了让大家有个感性的认识,只是简单的画出存储流程,更加详细&具体的存储流程会在下面源码分析中给出2.4数组元素&链
技术路上的苦行僧
·
2020-06-23 23:03
JAVA源码分析
【
Java源码分析
】Java8的HashMap源码分析
Java8中的HashMap源码分析源码分析HashMap的定义字段属性构造函数hash函数comparableClassFor,compareComparables函数tableSizeFor函数putMapEntries,putAll函数size,isEmpty函数containsKey,containsValue函数resize函数(扩容机制)treeifyBin函数get,getNode,
SnailMann
·
2020-06-22 05:00
Java源码
java源码分析
之List接口以及ArrayList、LinkedList、Stack、Vector等实现类
讲解jdk源码中List接口之前我们先来看一个模式,迭代器设计模式。迭代器设计模式主要是为了对容器提供统一的遍历接口,对于不同的数据结构的遍历方式由不同的iterator实现类所实现,而且也对原始数据进行了封装,不至于在用户使用时暴漏内部细节,类图如下。上面图中的各个类其实就是jdk中Collection容器对迭代器设计模式的一个实现,Itr是AbstractList的一个内部类,内部类的好处就是
fckeji
·
2020-06-21 01:46
java源码分析
Rx
Java源码分析
之变换
RxJava简单来说,是一个很灵活切换线程的裤子.简单试例源码解读试例变换思想图解变换思想总结1、简单试例Observable.just("url")//.map(newFunction(){@OverridepublicLongapply(@NonNullStrings)throwsException{return1l;}}).map(newFunction(){@OverridepublicI
Justson
·
2020-04-11 02:06
Java源码分析
-ArrayBlockingQueue
ArrayBlockingQueue是JDK1.5开始concurrent包中提供的并发工具类,是一个基于数组的有界的先进先出队列,如果加入元素时,数组已满,或数组为空时,取元素都会阻塞当前线程,是一个典型的生产者消费者模式。类似的类还有LinkedBlockingQueue,PriorityBlockingQueue。继承关系publicclassArrayBlockingQueueextend
gatsby_dhn
·
2020-04-07 06:02
Java源码分析
——HashMap
HashMap使用一个的数组来保存不同散列值的key以及相应的value。在jkd1.8中,对于相同hashcode形成的bucket,不再按照唯一的链表存储,而是根据bucket的大小,超过一定限制之后将链表转换为红黑树来存储Map.Entry。这样,HashMap的内部数据结构就是数组+链表+红黑树。*jkd源码的版本为1.8.0_05类的结构:publicclassHashMapextend
微辣鸡米饭
·
2020-04-06 12:33
Rx
Java源码分析
之线程调度(一)
RxJava强大的地方之一是他的链式调用,轻松地在线程之间进行切换。这几天也大概分析了一下RxJava的线程切换的主流程于是打算写一篇文章及记录一下。我们使用RxJava进行线程切换的场景很多时候都是在进行网络请求的时候,在IO线程进行网络数据的请求处理,最后在Android的主线程进行请求数据的结果处理。.subscribeOn(Schedulers.io()).observeOn(Androi
TripleZhao
·
2020-04-05 04:12
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
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
其他