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源码
阿里2022最新
JDK源码
深度解析小册,Github全站热榜第二
前几日闲来无事逛微信公众号时有幸看到了一位博主分享自己阅读开源框架源码的心得,看了之后也引发了我的一些深度思考。我们为什么要看源码?我们该怎么样去看源码?其中前者那位博主描述的我觉得很全了(如下图所示),就不做过多的赘述了,我这篇主要跟大家说说怎么去看源码。我们该怎么样去看源码?如果你要看某一个框架的源码,第一步当然是访问官网,搞清其组成,确定其核心类有哪些,看源码过程中可以配合画一些时序图,加以
该用户快成仙了
·
2023-09-18 10:30
java
开发语言
JDK
源码
08-TreeMap 核心源码解析(集合)
注:
源码系列
文章主要是对某付费专栏的总结记录。如有侵权,请联系删除。
xinxisimple
·
2023-09-18 04:44
jdk8
源码系列
-集合-ArrayList
事前准备环境搭建搭建JDK8环境可参考另一篇博客IDEA搭建
JDK源码
本人学习的源码https://gitee.com/bean-chan/jdk8集合目录ArrayList(Current)[LinkedList
Bean Chan
·
2023-09-16 23:32
源码
java
arraylist
jdk1.8
Java 并发编程解析 | 基于
JDK源码
解析Java领域中的并发锁,我们可以从中学习到什么内容?
苍穹之边,浩瀚之挚,眰恦之美;悟心悟性,善始善终,惟善惟道!——朝槿《朝槿兮年说》Picture-Navigation写在开头Picture-Header在Java领域中,尤其是在并发编程领域,对于多线程并发执行一直有两大核心问题:同步和互斥。其中:互斥(MutualExclusion):一个公共资源同一时刻只能被一个进程或线程使用,多个进程或线程不能同时使用公共资源。即就是同一时刻只允许一个线程
朝槿木兮
·
2023-09-15 20:15
【设计模式从入门到精通】03-原型模式
笔记来源:尚硅谷Java设计模式(图解+框架源码剖析)文章目录原型模式1、克隆羊问题2、基本介绍3、原理结构图(UML类图)4、原型模式解决克隆羊问题5、
JDK源码
分析6、浅拷贝和深拷贝浅拷贝基本介绍深拷贝基本介绍
VectorUx
·
2023-09-15 00:27
设计模式从入门到精通
原型模式
深拷贝
浅拷贝
clone
一文搞懂SpringBoot启动流程及自动配置
SpringBoot
源码系列
:一文搞懂SpringBoot中java-jar启动jar包的原理一文搞懂SpringBoot启动流程及自动配置一文搞懂SpringBoot内嵌的Tomcat一文搞懂SpringApplication
北漂流浪少年
·
2023-09-15 00:53
源码阅读
spring
boot
spring
后端
JDK源码
学习笔记(集合篇 - ArrayDeque)
ArrayDeque跟ArrayList以及LinkedList不同点在于,它是Resizable的双向数组,既有随机访问的便捷,也有poll,offer等双向队列的方法。我们先学习下它是个什么样的集合,后续等对java.util的package下的主要集合类有大体了解了再从用途,性能等点出发进行比较总结。构造-ConstructorpublicArrayDeque(){elements=newO
我要做大牛23333
·
2023-09-14 09:19
从ReentrantLock来学习AQS
JDK源码
基于JDK17,对比一下与JDK1.8在细节上有一些不同。这里假定各位对AQS有一些基本了解,不再对AQS的原理进行介绍。ReentrantLock#lock()@
nyzzht123
·
2023-09-13 16:28
多线程
java
jdk
深入浅出 对象序列化EOF异常(java.io.EOFException)
本文索引1.说明2.一个简单问题的引发的深入思考3.FileInputStream和ObjectInputStream对读取空文件的应对策略3.初步查找错误4.深入`调用栈/
JDK源码
`查找`问题根源`
Canliture
·
2023-09-13 06:42
Java
[
源码系列
:手写spring] IOC第十二节:FactoryBean
内容介绍在Spring框架中,FactoryBean是一个特殊的工厂类接口,用于创建和管理复杂的bean对象。它允许你自定义bean的创建逻辑,并且可以在bean创建过程中执行一些额外的操作。FactoryBean接口通常用于创建那些非常复杂或需要特殊处理的bean实例,例如连接池、远程服务代理等。当我们向容器中获取FactoryBean时,容器返回的不是他本身,而是他的getObject()方法
一辉ComeOn
·
2023-09-11 11:47
Spring源码剖析
spring
java
后端
[
源码系列
:手写spring] IOC第十四节:容器事件和事件监听器
代码分支https://github.com/yihuiaa/little-spring/tree/event-and-event-listenerhttps://github.com/yihuiaa/little-spring/tree/event-and-event-listener内容介绍事件监听器机制Spring的容器事件和事件监听器机制允许应用程序在容器中发生特定事件时执行自定义逻辑。这
一辉ComeOn
·
2023-09-11 11:47
Spring源码剖析
spring
java
后端
[
源码系列
:手写spring] IOC第十一节:Aware接口
内容介绍Aware简洁在Spring框架中,Aware接口是一个非常有用的工具,用于实现Bean与Spring容器及其他资源之间的集成。Aware接口是一个标记接口,其中定义了各种Aware子接口,每个子接口对应一种资源。这些子接口的命名约定为"XXXAware",其中XXX表示资源的名称。Aware接口的核心思想是将依赖注入的能力扩展到Bean,使其可以主动获取特定类型的资源或信息,而不需要在B
一辉ComeOn
·
2023-09-11 11:17
Spring源码剖析
spring
java
后端
[
源码系列
:手写spring] IOC第十三节:Bean作用域,增加prototype的支持
为了帮助大家更深入的理解bean的作用域,特意将BeanDefinition的双例支持留到本章节中,创建Bean,相关Reader读取等逻辑都有所改动。内容介绍在Spring中,Bean的作用域(Scope)定义了Bean的生命周期和可见性。包括单例和原型,在本章节中我们将为Bean添加多例的支持,下面是Prototype作用域的几个特征介绍:1.多例(Prototype):Bean的protot
一辉ComeOn
·
2023-09-11 11:44
Spring源码剖析
spring
java
原型模式
“本地线程”ThreadLocal
根据
JDK源码
中的注释翻译过来就是:ThreadLocal类用来提供
Coder_L
·
2023-09-10 06:38
JDK源码
剖析之PriorityQueue优先级队列
写在前面版本信息:JDK1.8PriorityQueue介绍在数据结构中,队列分为FIFO、LIFO两种模型,分别为先进先出,后进后出、先进后出,后进先出(栈)而一切数据结构都是基于数组或者是链表实现。在Java中,定义了Queue接口,接口中定义了CRUD的基本方法。分别add、offer、remove、poll等等,而PriorityQueue实现此接口实现了基本的CRUD的同时拥有了自己的特
程序员李哈
·
2023-09-09 07:21
源码解读
Java底层
java
数据结构
优先级队列
JDK源码
解析-HashMap&面试题
1.HashMap类*HashMap底层数据结构(为什么引入红黑树、存储数据的过程、哈希碰撞相关问题)*HashMap成员变量(初始化容量是多少、负载因子、数组长度为什么是2的n次幂)*HashMap扩容机制(什么时候需要扩容?怎么进行扩容?)*JDK7与Jdk8比较,JDK8进行了什么优化?1.1定义HashMap基于哈希表的Map接口实现,是以key-value存储形式存在,即主要用来存放键值
Allen-xs
·
2023-09-09 04:22
源码分析
java
HashMap
JDK源码
解析-ConcurrentHashMap
1.ConcurrentHashMap思考:HashTable是线程安全的,为什么不推荐使用?HashTable是一个线程安全的类,它使用synchronized来锁住整张Hash表来实现线程安全,即每次锁住整张表让线程独占,相当于所有线程进行读写时都去竞争一把锁,导致效率非常低下。1.1ConcurrentHashMap1.7在JDK1.7中ConcurrentHashMap采用了数组+分段锁的
Allen-xs
·
2023-09-09 04:22
源码分析
java
HashMap
concurrent
java中的transient关键字详解
相信很多人都是直到自己碰到才会关心这个关键字,记得博主第一次碰到transient关键字是在阅读
JDK源码
的时候。在学习java的过程中transient关键字
宜春
·
2023-09-08 22:32
java
transient关键字
序列化反序列化
也叫序列化流
JVM虚拟机调优大全
目录01-从
JDK源码
级别剖析JVM类加载机制02-Tomcat打破双亲委派机制03-JVM内存模型剖析与优化04-JVM对象创建深度剖析05-JVM内存分配机制深度剖析06-JVM对象内存回收机制深度剖析
关老头
·
2023-09-08 05:33
性能调优-JVM
jvm
01-从
JDK源码
级别剖析JVM类加载机制
1.类加载运行全过程当我们用java命令运行某个类的main函数启动程序时,首先需要通过类加载器把主类加载到JVM。publicclassMath{publicstaticfinalintinitData=666;publicstaticUseruser=newUser();publicintcompute(){//一个方法对应一块栈帧内存区域inta=1;intb=2;intc=(a+b)*10
关老头
·
2023-09-07 07:02
性能调优-JVM
java
jvm
开发语言
JVM | 基于open
JDK源码
深度拆解Java虚拟机
引言在上一篇文章中,我通过探讨类的生命周期,为你详细解析了类在加载进JVM时的全过程。当然,这仅仅只是JVM虚拟机的冰山一角,像执行引擎的动态编译、垃圾回收系统的内存管理、本地方法接口的与本地库的交互,以及本地方法库的结构和功能等诸多核心内容还未涉及。本篇文章将为你展开JVM的完整画卷,不仅深入探索上述的组成部分,还将整个系统之间的关系和交互机制进行完整梳理,让我们开始吧!堆中的对象在进一步讲解J
Kfaino
·
2023-09-04 19:10
JVM
jvm
java
开发语言
Java的NaN
看
JDK源码
时看到Math下边有个函数:publicstaticfloatmax(floata,floatb){if(a!
翁正存
·
2023-09-03 14:59
Java基础
Java的NaN
Java 下划线特性
看
JDK源码
时看到下边的代码:if(timeout!
翁正存
·
2023-09-03 14:59
Java基础
Java
下划线特性
设计模式 | 详解单例模式(饿汉式、懒汉式、静态内部类、枚举、
JDK源码
剖析)
一、单例模式介绍所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对于某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法(静态方法)。比如Hibernate的SessionFactory,它充当数据存储源的代理,并负责创建Session对象。SessionFactory并不是轻量级的,一般情况下,一个项目通常只需要一个SessionFactory就够,这时就会使用到单
一颗白菜_
·
2023-09-03 07:00
【Spring
源码系列
】Bean生命周期-Bean销毁
文章目录前言一、Bean销毁介绍bean销毁的时机spring注册DestroyBean时机定义bean销毁方式以及源码调试使用@PreDestroy注解实现DisposableBean或者AutoCloseable接口手动指定destroy方法(@Bean、XML)手动指定destroy方法((inferred))手动指定destroy方法(MergedBeanDefinitionPostPro
@来杯咖啡
·
2023-09-02 17:48
spring
spring
java
Mybatis源码解析(八):Mapper代理原理
Mybatis
源码系列
文章手写源码(了解源码整体流程及重要组件)Mybatis源码解析(一):环境搭建Mybatis源码解析(二):全局配置文件的解析Mybatis源码解析(三):映射配置文件的解析Mybatis
冬天vs不冷
·
2023-09-02 13:11
mybatis
mybatis
java
Spring源码解析(十):spring整合mybatis源码
Spring
源码系列
文章Spring源码解析(一):环境搭建Spring源码解析(二):bean容器的创建、默认后置处理器、扫描包路径beanSpring源码解析(三):bean容器的刷新Spring源码解析
冬天vs不冷
·
2023-09-02 13:09
spring
spring
mybatis
java
Nacos
源码系列
之服务发现(二)
文章目录一、前言二、服务端-服务注册三、客户端-服务发现(1)注册listener(2)subscribe四、服务端-服务发现五、小结一、前言上篇博客介绍了客户端服务注册的流程,本篇介绍服务端的服务注册,服务发现等核心流程。二、服务端-服务注册入口在InstanceController的register(),核心逻辑在ServiceManager类中。ServiceManager:核心服务管理类,
yysx
·
2023-09-02 00:49
分布式
nacos
服务注册
java设计模式——解释器模式
目录一、解释器模式的定义与类型二、解释器模式的适用场景三、解释器模式的优点四、解释器模式的缺点五、解释器模式的相关设计模式六、解释器模式示例七、解释器模式在
jdk源码
中的应用一、解释器模式的定义与类型1
小志的博客
·
2023-09-01 21:03
java设计模式
设计模式之迭代器模式
本文介绍设计模式中的迭代器模式,首先通俗的解释迭代器模式的基本概念和对应的四个角色,并根据四个角色举一个典型的实例,为了加强知识的连贯性,我们以
Jdk源码
集合中使用迭代器模式的应用进一步说明,最后说明迭代器模式的应用场景和优缺点
程序员田同学
·
2023-09-01 06:52
设计模式
设计模式
迭代器模式
java
Spring源码解析(九):AOP源码之@Aspect所有相关注解解析
Spring
源码系列
文章Spring源码解析(一):环境搭建Spring源码解析(二):bean容器的创建、默认后置处理器、扫描包路径beanSpring源码解析(三):bean容器的刷新Spring源码解析
冬天vs不冷
·
2023-08-31 08:52
spring
spring
java
数据库
idea 查看open-
jdk源码
学习nio时,发现jdk很多类我们都看不到源码,非常的无奈,于是想到openjdk首先换jdk,这里我们推荐Zulu:https://cn.azul.com/downloads/zulu/我们下载对应系统版本的jdk后,安装(类似oraclejdk)测试:C:\Users\ezlhq>java-versionopenjdkversion"1.8.0_181"OpenJDKRuntimeEnviro
良辰夜
·
2023-08-31 03:23
Spring bean 生命周期验证
目录一、从源码注释看bean生命周期二、测试验证2.1分析原理2.2代码清单正文回到顶部一、从源码注释看bean生命周期从
JDK源码
注释上看,BeanFactory实现类需要支持Bean的完整生命周期,
FAw67J7
·
2023-08-31 01:11
大家都能看得懂的源码(一)ahooks 整体架构篇
本文是深入浅出ahooks
源码系列
文章的第一篇,这个系列的目标主要有以下几点:加深对Reacthooks的理解。学习如何抽象自定义hooks。构建属于自己的Reacthooks工具库。
Gopal
·
2023-08-30 17:04
equals方法居然也有不一样的?
今天在翻阅
jdk源码
中加密相关代码时,翻着翻着好像混进来一个奇怪的东西。正当我以为是普通的equals方法准备划过去时,突然瞥见了一行代码。
差点资深程序员
·
2023-08-30 16:39
笔记
java
开发语言
源码系列
-Activiti7流程启动和命令执行
演示地址前端流程编辑器启动流程下面的流程是针对于springboot启动器的启动流程//1.springboot启动类中配置的启动配置类ProcessEngineAutoConfiguration//2.自启动类中会向spring容器中注入ProcessEngineFactoryBeanAbstractProcessEngineAutoConfiguration.processEngine()->
木子苇苇
·
2023-08-30 14:14
3.Spring
源码系列
-bean工厂的创建
介绍在AbstractApplicationContext类的refresh方法中,有一行ConfigurableListableBeanFactorybeanFactory=obtainFreshBeanFactory();它的作用就是创建bean工厂。详细的说做了三件事创建bean工厂,工厂实例是DefaultListableBeanFactory;定制化工厂属性;加载定义bean的xml文件
小明oh
·
2023-08-30 13:11
深入理解JVM之 04——Linux下自己动手编译OpenJDK
前言学习《深入理解JAVA虚拟机—JVM高级特性与最佳实践》(周志明,第二版),作者在开篇第一章作了一些介绍后就提出:想要一探JDK内部的实现机制,最便捷的路径之一就是自己编译一套JDK,通过阅读和跟踪调试
JDK
wenyixicodedog
·
2023-08-30 11:52
深入理解JVM
手动编译
openJDK
Linux
【项目实战】从0开始入门
JDK源码
- ArrayList源码
一、源码位置一般来说IDEA配置好JDK以后,JDK的源码其实也配置好了,本文是基于JDK1.8的源码说明rt-java-util-ArrayList二、继承关系图ArrayList是实现了List接口的publicclassArrayListextendsAbstractListimplements
本本本添哥
·
2023-08-30 00:43
001
-
基础开发能力与编程语言
java
开发语言
intellij-idea
JDK源码
解析-Object
1.Object类所有类的基类——java.lang.ObjectObject类是所有类的基类,当一个类没有直接继承某个类时,默认继承Object类Object类属于java.lang包,此包下的所有类在使用时无需手动导入,系统会在程序编译期间自动导入。思考:Object是如何成为默认父类的?publicclassJDK8_TestextendsObject{publicstaticvoidmai
Allen-xs
·
2023-08-30 00:43
源码分析
java
开发语言
JDK源码
解析集合篇--ArrayList全解析
对于一个集合的使用,我们首先关注的是:1、增删改查的特点(时间复杂度是怎样的)适用于随机访问2、是否允许空允许为空3、是否允许重复数据允许4、是否有序,有序的意思是读取数据的顺序和存放数据的顺序是否一致有序5、是否线程安全非线程安全ArrayList实现原理ArrayList就是一个以数组形式实现的集合,但是它实现了长度可变。我们可以看其源码属性:ArrayList是基于数组的一个实现,eleme
冷面寒枪biu
·
2023-08-30 00:42
源码解析
arraylist源码分析
集合框架
Vector
源码
JDK源码
解读-集合(一)-ArrayList
JDK源码
解读-集合-ArrayList如何扩容privatevoidgrow(intminCapacity){//overflow-consciouscode//获取原集合的长度intoldCapacity
wbb9019
·
2023-08-30 00:12
JDK集合
JDK原码
ArrayList原码
ArrayList插入数据解析
ArrayList扩容解析
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源码
解析-Collection.iterator方法
4.2.6
JDK源码
解析-Collection.iterator方法publicclassDemo{ publicstaticvoidmain(String[]args){ Listlist=newArrayListit
xiaowei2201
·
2023-08-30 00:09
java
设计模式
JDK源码
解析(集合)--ArrayList与LinkedList区别
《
JDK源码
解析(集合)--ArrayList与LinkedList区别》首发橙寂博客转发请加此提示
JDK源码
解析(集合)--ArrayList与LinkedList区别ArrayList和LinkedList
牧码人博客www.luckyhe.com
·
2023-08-30 00:39
Java
jdk
源码
集合
ArrayList
LinkedList
JDK源码
解析-ArrayList
1.ArrayList类1.1ArrayList类结构图ArrayList是一个用数组实现的集合,支持随机访问,元素有序且可以重复。(1)ArrayList是一种变长的集合类,基于定长数组实现。(2)ArrayList允许空值和重复元素,当往ArrayList中添加的元素数量大于其底层数组容量时,其会通过扩容机制重新生成一个更大的数组。(3)ArrayList底层基于数组实现,所以其可以保证在O(
Allen-xs
·
2023-08-30 00:08
源码分析
java
ArrayList
从源码全面解析 Java SPI 的来龙去脉
作者简介:大家好,我是爱敲代码的小黄,独角兽企业的Java开发工程师,CSDN博客专家,阿里云专家博主系列专栏:Java设计模式、Spring
源码系列
、Netty
源码系列
、Kafka
源码系列
、JUC
源码系列
爱敲代码的小黄
·
2023-08-29 15:11
#
dubbo
java
开发语言
面试
后端
SPI
JAVA类加载器双亲委派与自定义扩展
目录结构文档说明UML类图成员方法Tomcat加载器如何自定义类加载器1文档说明类文档来自
JDK源码
的英文,翻译重要部分。
明月照我行
·
2023-08-28 13:51
【30天熟悉Go语言】11 数组的全方位使用与解析
源码系列
专栏:SpringMVC
源码系列
、SpringBoot
源码系列
、SpringCloud
源码系列
(含:Ribbon、Feign)、Nacos
源码系列
、RocketMQ
源码系列
、SpringCloudGateway
秃秃爱健身
·
2023-08-28 11:54
#
30天熟悉GO语言
golang
jdk源码
之CurrentHashMap
1,概述图片.png2,初始化桶/***Initializestable,usingthesizerecordedinsizeCtl.初始化table,使用大小记录sizeCtl*/privatefinalNode[]initTable(){Node[]tab;intsc;while((tab=table)==null||tab.length==0){if((sc=sizeCtl)0)?sc:DE
柴崎越
·
2023-08-27 02:32
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他