
java源码解析
文章平均质量分 76
HappyHeng
这个作者很懒,什么都没留下…
展开
-
Java ArrayList与LinkedList源码分析与比较
众所周知,ArrayList与LinkedList都实现了List接口,那么其分别是如何实现其中的 add(E object),get(int location),remove(int location),clear()方法呢?一、ArrayList源码分析1、如何初始化?2、如何add一个对象?3、ArrayList如何得到一个数4、如何remove一个对象?5、如何进行原创 2016-07-29 08:01:18 · 972 阅读 · 0 评论 -
Spring 源码剖析 二、主要逻辑代码赏析之获取bean的定义
上一节中,我们讲了Spring主要类的实现逻辑与继承关系,这一节中我们来看一下Spring如何通过解析xml文件来获取到bean的定义。 首先根据一个例子来说明,下面是Spring配置文件中的一个 <bean> 节点定义,那么Spring如何解析这个节点,然后生成对应的beanDefinition呢? <bean id="dependC" class="c...原创 2019-02-12 22:20:43 · 343 阅读 · 0 评论 -
Spring 源码剖析 三、主要逻辑代码赏析之根据bean的定义来生成bean
上一节中将了如何通过xml文件中读取到bean的定义,链接为Spring 二、主要逻辑代码赏析之获取bean的定义,这一节中,我们将会讲述读取出xml文件后,如何根据bean的定义来最终生成bean。首先还是来看一下ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("appl...原创 2019-02-17 21:43:08 · 278 阅读 · 0 评论 -
Spring 源码剖析 一、Spring 主要类实现逻辑与继承关系
作为Java Web工程师,我们一般会在项目中使用Spring来作为项目的基础框架,那么接下来,我将带领大家从源代码的角度来剖析Spring的运行过程以及运行原理。 这一节我们先讲一下Spring 主要类实现逻辑与继承关系,下面先看一下我们典型的使用Spring的方式: ClassPathXmlApplicationContext context = new ClassPat...原创 2019-02-09 22:21:33 · 1121 阅读 · 0 评论 -
Java并发编程之ThreadPoolExecutor线程池源码剖析
我们开始从 ThreadPoolExecutor 可以做什么来说起,然后进行源码剖析。 ThreadPoolExecutor 的初始化方法为: public ThreadPoolExecutorLocal(int corePoolSize, int maximumPoolSize, ...原创 2019-02-09 18:53:03 · 391 阅读 · 0 评论 -
Java 并发编程之ReentrantLock源码解析
上一篇中,我们在源码的角度讲了AbstractQueuedSynchronizer的原理,链接为 Java 并发编程之AbstractQueuedSynchronizer源码解析 ,这一篇中,我们从源码的角度讲一下 ReentrantLock 的原理。 我们知道,ReentrantLock是我们在jdk中经常使用的可重入锁的实现类,内部分为公平的可重入锁以及不公平的可重入锁,那么这些机制...原创 2019-02-09 17:56:43 · 659 阅读 · 0 评论 -
Java 并发编程之AbstractQueuedSynchronizer源码解析
上一篇中,我们讲了 AbstractQueuedSynchronizer 的使用,链接为 Java 并发编程之AbstractQueuedSynchronizer解析 ,这一节中,我们将会从源码的角度解读: 一、双向链表: AbstractQueuedSynchronizer中使用了双向链表来作为同步器的队列,来保证FIFO。 双向链表,首先会有一个header与tail...原创 2019-02-03 21:48:10 · 637 阅读 · 0 评论 -
Java 并发编程之AbstractQueuedSynchronizer解析
一、队列同步器的使用: 队列同步器AbstractQueuedSynchronizer,它是一个用来构建锁或者其它同步组件的基础框架,其中内部使用一个int值来代表同步状态,使用的是FIFO的形式,所以被称为队列同步器,此同步器作者希望它能实现大部分的同步需求。 使用此同步器的方法一般是继承此同步器,然后实现内部的抽象方法,其中几个方法比较重要: 1、getState() : 获取...原创 2019-02-03 21:17:28 · 454 阅读 · 0 评论 -
Java 集合详解 一、Collection详解
在Java开发中,我们有大量的保存、访问数据的需求,这时候就需要使用java中的集合类,一般来说,java中提供了list、set、map这些集合来供我们保存、访问数据。 java中集合类的继承图如下:可见,list、set都实现了Collection接口,而Map都实现了Map接口,今天,我们从源码分析一下Collection接口:一、Collection 继承的接口:原创 2017-07-14 21:03:13 · 1209 阅读 · 0 评论 -
ThreaLocal的使用及其原理
ThreadLocal用于在一个线程中存入一个变量,这样,在此线程执行到其它地方时,就可以在通过ThreadLocal取出此变量,ThreadLocal在多线程开发中会经常使用到。一、ThreaLocal的使用: 1、使用ThreaLocal写入一个"data"字符串: 1.1、在类中声明一个类变量: private ThreadLocal threadLocal = new原创 2017-01-07 16:30:52 · 1433 阅读 · 0 评论 -
Java并发编程之ScheduledThreadPoolExecutor源码剖析
之前我们剖析过Java中线程池ThreadPoolExecutor的源码,链接为https://blog.youkuaiyun.com/HappyHeng/article/details/86827324,这一节从源码层次讲一下ScheduledThreadPoolExecutor这个定时线程池是如何执行任务的。一、ScheduledFutureTask : 在ThreadPoolExecut...原创 2019-09-27 23:23:16 · 455 阅读 · 0 评论