归档

2024 年 09 月

为了探究AOP实现原理,首先定义几个类,一个Dao接口: public interface Dao { public void select(); public void insert(); } Dao接口的实现类DaoImpl: public class DaoImpl implements Dao { @Override public void…
SpringBoot 3.3 拥有许多增强功能。在本文中,我们将探讨虚拟线程(Virtual Threads)及其在 3.3 版本中的改进。 什么是虚拟线程? 虚拟线程是传统平台线程的一种更轻量级的替代方案。它们由 JVM…
loadBeanDefinitions loadBeanDefinitions: 源码阅读 入口是loadBeanDefinitions方法 protected void loadBeanDefinitions(XmlBeanDefinitionReader reader) throws IOException { String[]…

2024-09-03

为什么要使用 AOP 本文从最基础的原始代码–>使用设计模式(装饰器模式与代理)–>使用AOP三个层次来讲解一下为什么我们要使用AOP。 原始代码的写法 既然要通过代码来演示,那必须要有例子,这里我的例子为: 有一个接口Dao有insert、delete、update三个方法,在insert与update被调用的前后,打印调用前的毫秒数与调用后的毫秒数…
前言 AOP的基础是Java动态代理,了解和使用两种动态代理能让我们更好地理解 AOP,在讲解AOP之前,让我们先来看看Java动态代理的使用方式以及底层实现原理。 本文是基于jdk1.8来对动态代理的底层机制进行探究的 Java代理介绍…
spring ioc 容器的加载流程 1.目标:熟练使用spring,并分析其源码,了解其中的思想。这篇主要介绍spring ioc 容器的加载 2.前提条件:会使用debug 3.源码分析方法:Intellj idea debug 模式下源码追溯 通过ClassPathXmlApplicationContext 进行xml…
前言 本文大致地介绍了IOC容器的初始化过程,只列出了比较重要的过程和代码,可以从中看出IOC容器执行的大致流程。 接下来的文章会更加深入剖析Bean容器如何解析xml,注册和初始化bean,以及如何获取bean实例等详细的过程。 1. 初始化 大致单步跟了下Spring…
本文将介绍 HotSpot 中的 String Pool,字符串常量池。相对是一篇比较简单的文章,大家花几分钟就看完了。 在 Java 世界中,构造一个 Java 对象是一个相对比较重的活,而且还需要垃圾回收,而缓存池就是为了缓解这个问题的。 我们来看下基础类型的包装类的缓存,Integer 默认缓存 -128 ~ 127 区间的值,Long 和…

2024-09-01

Spring是什么 Spring是一个开源的轻量级Java SE(Java 标准版本)/Java EE(Java…

2024 年 08 月

Spring Boot 概述 **Build Anything with Spring Boot:**Spring Boot is the starting point for building all Spring-based applications. Spring Boot is designed to get you up and running…
上一页 下一页