ConcurrentHashMap核心源码+底层数据结构分析

本文来自公众号:末读代码的投稿,原文地址:https://mp.weixin.qq.com/s/AHWzboztt53ZfFZmsSnMSw 。 本文转载来自JavaGuide ,如有侵权及时联系。 上一篇文章介绍了 HashMap 源码,反响不错,也有很多同学发表了自己的观点,这次又来了,这次是

ArrayList 核心源码+扩容机制分析

本文转载来自JavaGuide ,如有侵权及时联系。 ArrayList 简介 ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用ensureCapacity操作来增加 ArrayList 实例的容量。这可以减少递

ConfigurationClassPostProcessor源码解析

ConfigurationClassPostProcessor 0.预备 1.在spring源码中讲到, 在refresh()方法中的第5个小方法invokeBeanFactoryPostProcessors(beanFactory)中会先后调用BeanFactoryPostProcessor接口的

Spring-transaction源码

Transaction源码 1.准备 pom文件 <dependencies> <!-- context --> <dependency> <groupId>org.springframework</groupId> <artifactId>sprin

Spring-ioc源码解析

AnnotationConfigApplicationContext 启动类 public class ConfigStart { public static void main(String[] args) { ApplicationContext applicationC

@Autowired和@Resource解析

@Autowired和@Resource 解析 准备 1.通过前面部分的spring源码解析, 我们知道BeanPostProcessor, 会在普通bean实例化之前实例化并初始化完成!并在bean的整个实例化和初始化过程前后执行其加强的方法; 2.@Autowired和@Resource都是通过

Spring-Mybatis源码解析

Spring-Mybatis整合 1.准备 pom文件 <dependencies> <!-- context --> <dependency> <groupId>org.springframework</groupId> <artifactId>sp

Spring-aop源码解析

Aop源码 1.准备 aspect @Component @Aspect @Slf4j public class LogAspect { private static final String POINT_CUT = "execution(public void c

SpringMVC源码解析

SpringMVC源码解析 xml配置文件版 0. 准备阶段 maven springMVC工程搭建 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-

多线程面试题

本文转载自动力节点 ,如有侵权及时联系。 001 为什么要使用多线程呢? 我们现在所使用操作系统都是多任务操作系统(早期使用的DOS操作系统为单任务操作系统),多任务操作指在同一时刻可以同时做多件事(可以同时执行多个程序)。 多进程:每个程序都是一个进程,在操作系统中可以同时执行多个程序,多进程的目

Web后端面试题

本文转载自动力节点 ,如有侵权及时联系。 001 Servlet的生命周期? 1 web Client 向servlet服务器,发出Http请求 2 servlet接受web Client的请求 3 servlet容器创建一个HttpRequest 对象,将Web Client请求的信息封装到这个对

Springboot源码解析

Springboot源码解析 0.源码环境搭建 下载地址 github下载地址(2.2.9.RELEASE版本) 注意事项

Elasticsearch入门及使用

学习目标 掌握elasticsearch的安装及使用实现基本查询,根据案例动手实现 1.初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内

Sping面试

1.Spring的生命周期 一个受 Spring 管理的 bean,生命周期主要阶段有 创建:根据 bean 的构造方法或者工厂方法来创建 bean 实例对象 依赖注入:根据 @Autowired,@Value 或其它一些手段,为 bean 的成员变量填充值、建立关系 初始化:回调各种 Aware

并发编程面试

1.前言 为了更好地掌握Java并发编程技术,建议从以下几个方面入手: 深入理解Java内存模型(JMM):JMM是Java并发编程的基础,它定义了线程间共享变量的可见性、原子性和有序性等规则。 熟练掌握多线程编程:了解线程的创建、启动、同步、通信等基本操作,以及如何使用锁来保证线程安全。 学习并发

Nacos源码分析

1.下载Nacos源码并运行 要研究Nacos源码自然不能用打包好的Nacos服务端jar包来运行,需要下载源码自己编译来运行。 1.1.下载Nacos源码 Nacos的GitHub地址:https://github.com/alibaba/nacos 资料中已经提供了下载好的1.4.2版本的Nac

HashMap原理

HashMap概述 Map 是 Key-Value 对映射的抽象接口,该映射不包括重复的键,即一个键对应一个值。HashMap 是 Java Collection Framework 的重要成员,也是Map族(如下图所示)中我们最为常用的一种。简单地说,HashMap 是基于哈希表的 Map 接口的

锁的分类

Java中锁的分类 在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁/非公平锁 可重入锁