
Java
文章平均质量分 95
_CX_
宏愿纵未了,奋斗总不太晚
展开
-
HashMap 源码分析与常见面试题
HashMap 源码分析jdk 1.7jdk 1.7 中的 HashMap 采用的是数组 + 链表的方式来进行数据的存储,链表采用的是头插法。下面对各个源码中的各个核心方法进行对比内部常量public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable{ // HashMap 默认大小 16 static fin原创 2022-03-30 11:29:12 · 406 阅读 · 0 评论 -
SpringMVC 从初始化 到 doDispatch 底层源码分析
文章目录SpringMVC 初始化Servlet 接口GenericServlet 抽象类HttpServlet 抽象类HttpServletBean 抽象类FrameworkServlet 抽象类DispatcherServlet 类中央调度器核心方法 doDispatch请求处理源码分析SpringMVC流程组件说明:核心架构的具体流程步骤如下:总体流程图SpringMVC 初始化首先来看继承树Servlet 接口首先来看最核心的 Servlet 接口,以及相关定义的方法public int原创 2022-03-28 20:58:45 · 272 阅读 · 0 评论 -
Spring 核心方法 Refresh 源码和三级缓存分析,以及手写一个IOC容器
文章目录1. refresh方法1.prepareRefresh 方法2. obtainFreshBeanFactory 方法3. prepareBeanFactory4. postProcessBeanFactory 方法5.invokeBeanFactoryPostProcessors 方法6. 监听器、广播、国际化方法7. finishBeanFactoryInitialization 方法2. 自定义一个简单的IOC容器3. 循环依赖问题1. Bean对象创建过程2.循环依赖问题分析3. 三级缓存4原创 2022-03-25 17:07:04 · 1204 阅读 · 0 评论 -
深入理解 synchronized 关键字(关于对象头和锁的升级)
文章目录synchronized 关键字1. 概述2. synchronized 的四种锁状态2.1 Java对象头2.2 偏向锁2.3 轻量级锁2.4 重量级锁2.5 总结锁的升级流程2.6 各个锁的优缺点对比深入理解 volatile 关键字synchronized 关键字1. 概述⾸先需要明确的⼀点是:Java多线程的锁都是基于对象的,Java中的每⼀个对象都可以作为⼀个锁。还有⼀点需要注意的是,我们常听到的类锁其实也是对象锁。Java类只有⼀个Class对象(可以有多个实例对象,多个实例共原创 2022-03-05 15:21:13 · 429 阅读 · 0 评论 -
深入理解 volatile 关键字(理解内存屏障与指令重排)
文章目录一、volatile 关键字1. 几个基本概念1.1 内存可见性1.2 指令重排序1.3 happens-before 规则2. volatile 的效果2.1 内存可见性2.2 内存屏障3. volatile 的用途3.1 单例模式双重检查锁一、volatile 关键字1. 几个基本概念1.1 内存可见性我们都知道,在Java内存模型中,JMM 中有一个内存,每个线程有自己独立的内存空间,线程的私有内存中包含了对内存中的变量的拷贝。内存可见性就是指当两个线程的私有内存中有对内存中同一个变原创 2022-03-05 14:44:16 · 693 阅读 · 0 评论 -
Java 集合源码分析
Java集合文章目录Java集合前置知识Lamdba表达式Lamdba表达式 方法的引用函数式接口简介Iterable 接口Iterator\ iterator() 方法void forEach(Consumer<? super T> action) 方法Spliterator\ spliterator() 方法Collection 接口ArrayListVectorLinkedList 类StackHashSetTreeSetLinkedHashSet 类PriorityQueueHashM原创 2022-02-15 15:30:31 · 535 阅读 · 0 评论 -
SSM 纯注解整合(零 xml 文件)底层源码角度分析
SSM 纯注解整合源码分析1. 概述在学习完 SSM 后,相信大家都对 SSM 整合中大量配置文件感到非常恼火,特别是在写一些配置文件时因为失误写错了一些字母导致程序一直不能正常运行,然后找 bug 找半天也找不到。在学校 SpringBoot 之前,我们就很有必要来了解通过注解的方式来整合我们的项目,这样能更好的理解 SpringBoot 在底层给我们的封装。同时也是对注解驱动开发的一个很好的复习。2. Web容器配置类分析(替代 web.xml)继承树:AbstractAnnotationCo原创 2021-11-25 15:28:57 · 488 阅读 · 0 评论 -
SpringBoot快速上手
文章目录快速上手 SpringBoot一、SpringBoot 概述1.1 SpringBoot 自动帮助我们管理各个依赖的版本1.2 starter1.3 parent1.4 实际开发1.5 引导类1.6 辅助功能二、基础配置2.1 属性配置方式2.2 YAML 格式三、整合第三方技术3.1 整合 Junit3.2 整合 mybatis3.3 整合 mybatis-plus3.4 整合 Druid3.5 整合第三方技术总结四、SSM整合案例(crud)快速上手 SpringBoot一、SpringBo原创 2021-11-21 13:33:11 · 838 阅读 · 0 评论 -
Spring注解详解
文章目录Spring 面向注解开发SpringIOC 的注解1. 用于注册驱动的注解1.1 @Configuration1.2 @ComponentScan1.3. @Bean1.4. Import1.5. ProperSource2. 注入时机和设定注入条件的注解2.1. @DependsOn2.2. @Lazy2.3. @Conditional2.4. @Profile3. 用于创建对象的注解3.1. @Componment 和三个衍生注解3.2. @Qualifier3.3. @Scope4. 用于注原创 2021-11-07 17:22:53 · 566 阅读 · 0 评论 -
黑马程序员 Spring高级面向注解开发 七万字超详细
转载自bilibili黑马程序员课程 Spring 高级 面向注解开发写的真的很不错!!!文章目录第一部分:Spring的IOC一、设计模式-工厂模式二、IOC和DI1、IOC-Inversion of Control2、DI-Dependency Injection三、Spring注解驱动开发入门1、写在最前2、注解驱动入门案例介绍3、案例实现3.1、导入坐标3.2、编写配置类3.3、编写配置文件3.4、编写测试类四、IOC的常用注解分析1、用于注解驱动的注解1.1、@Configuration1.原创 2021-10-31 20:19:02 · 7763 阅读 · 0 评论 -
SpringMVC急速入门
文章目录1. 概述2. 第一个springMVC 项目3. springmvc 执行过程源码分析:示例代码3. 面向注解开发1. @RequestMapping 定义请求规则处理方法的参数接收用户的参数静态资源的处理方法4. SpringMVC 核心技术4.1 请求重定向和转发4.2 异常处理4.2.1 @ExceptionHandler 注解4.3 拦截器4.3.1 一个拦截器的执行4.4 SpringMVC 处理流程1. 概述1. SpringMVC:是基于spring 的一个框架,实际上就是 sp原创 2021-10-29 22:49:33 · 242 阅读 · 1 评论 -
最详细SSM整合,从0到实现(附带所有代码和配置文件)
文章目录SSM 整合开发 (SpringMVC + Spring + Mybatis)一、概述二、实现步骤三、配置文件及其代码1. 首先创建 mysql 表2. 创建好数据库表之后,就在idea 里面创建一个 JavaWeb 项目(既然大家都学到这里了,创建项目大家应该都会了,就不做演示了)3. maven 依赖:pom.xml 文件4. 在 web.xml 文件中注册中央处理器,spring 监听器,全局过滤器(设置post请求 字符编码为 utf-8)5. SpringMVC 配置文件,声明组件扫描器,原创 2021-10-28 21:08:26 · 1011 阅读 · 2 评论