自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(136)
  • 收藏
  • 关注

原创 消息转发框架实现

消息转发实现

2025-04-29 13:09:45 622

原创 springboot 中引用elasticsearch

spring 如何使用es进行高级查询

2025-02-20 09:17:37 1100

原创 设计模式详解

设计模式详解

2025-01-22 17:29:58 1280

原创 security-oauth2(zhwl)

security-oauth权限框架

2025-01-20 11:25:59 155

原创 Git克隆报错

git clone 报错

2025-01-17 16:51:34 936

原创 JWT理解

JWT理解

2025-01-06 22:14:35 310

原创 分布式事务框架Seata

分布式事务seata原理

2025-01-06 22:02:10 655

原创 TCP/IP的四层协议

TCP/IP的四层协议

2025-01-02 15:22:08 1100

原创 HTTP 协议详解

HTTP 协议详解

2025-01-02 15:02:45 1426

原创 JVM的原理与性能(二)

JVM 深入理解与实战调优 CMS +G1+ZGC

2024-12-31 23:34:49 945

原创 Spring 源码学习 16:单例 Bean 创建

Spring 源码学习 16:单例 Bean 创建

2024-12-27 17:59:40 779

原创 Spring 源码学习 15:finishBeanFactoryInitialization(重点)

Spring 源码学习 15:finishBeanFactoryInitialization(重点)

2024-12-27 17:42:49 945

原创 Spring 源码学习 14:initApplicationEventMulticaster

Spring 源码学习 14:initApplicationEventMulticaster

2024-12-27 17:27:59 652

原创 Spring 源码学习 13:initMessageSource

Spring 源码学习 13:initMessageSource

2024-12-27 17:19:29 300

原创 Spring 源码学习 12:registerBeanPostProcessors

Spring 源码学习 12:registerBeanPostProcessors

2024-12-27 17:10:28 754

原创 Spring 源码学习 11:invokeBeanFactoryPostProcessors

invokeBeanFactoryPostProcessors

2024-12-27 17:00:07 987

原创 Spring 源码学习 10:prepareBeanFactory 和 postProcessBeanFactory

prepareBeanFactory 和 postProcessBeanFactory

2024-12-27 16:25:41 338

原创 Spring 源码学习 09:refresh 大概流程

refresh

2024-12-27 16:16:46 259

原创 Spring 源码学习 08:register 注册配置类

register 注册配置类

2024-12-27 16:02:10 206

原创 Spring 源码学习 07:ClassPathBeanDefinitionScanner

ClassPathBeanDefinitionScanner

2024-12-27 15:42:29 341

原创 Spring 源码学习 06:AnnotatedBeanDefinitionReader

Spring 源码学习 06:AnnotatedBeanDefinitionReader

2024-12-27 15:24:59 628

原创 Spring 源码学习 17:循环依赖

singletonObjects:缓存某个beanName对应的经过了完整⽣命周期的beanearlySingletonObjects:缓存提前拿原始对象进⾏了AOP之后得到的代理对象,原始对象还没有进⾏属性注⼊和后续的BeanPostProcessor等⽣命周期singletonFactories:缓存的是⼀个ObjectFactory,主要⽤来去⽣成原始对象进⾏了AOP之后得到的代理对象,在每个Bean的⽣成过程中,都会提前暴露⼀个⼯⼚,这个⼯⼚可能⽤到,也可能⽤不到,

2024-12-27 14:46:03 952

原创 Spring 源码学习 05:BeanDefinition 概念及其实现

BeanDefinition 概念及其实现

2024-12-20 20:12:07 685

原创 Spring 源码学习 04:初始化容器与 DefaultListableBeanFactory

初始化容器与 DefaultListableBeanFactory

2024-12-20 18:35:59 249

原创 Spring 源码学习 03:创建 IoC 容器的几种方式

IoC 容器的几种方式

2024-12-20 16:35:03 159

原创 spring 源码学习 02:关于 Spring IoC 和 Bean 的概念

spring 源码解析

2024-12-20 15:04:41 412

原创 Spring 源码学习 01:环境的搭建

spring 源码阅读

2024-12-20 14:47:36 698

原创 拦截器和过滤器的区别

拦截器和过滤器的区别

2024-12-10 13:33:20 282

原创 spring 源码分析

这边通过缓存中的 ObjectFactory 拿到的 bean 实例虽然拿到的是 “不完整” 的bean 实例,但是由于是单例,所以后续初始化完成后,该 bean 实例的引用地址并不会变,所以最终我们看到的还是完整 bean 实例。(2)二级缓存earlySingletonObjects:判断bean是否存在AOP,不存在AOP保存半成品的bean(属性暂未填充),存在AOP保存代理bean的beanProxy(目标bean还是半成品的)refresh() 方法是 Spring 上下文启动的核心方法。

2024-12-09 17:25:09 1501

原创 Error occured while trying to proxy to: localhost:3006/nccloud

Error occured while trying to proxy to: localhost:3006/nccloud

2024-11-20 00:03:14 385

转载 基于idea的YonBuilder Premium开发者工具(原NCC开发插件)使用说明

基于idea的YonBuilder Premium开发者工具(原NCC开发插件)使用说明

2024-11-19 23:02:14 212

原创 spring boot 项目实现,Easy Excel 实现导入导出功能(一)

前言Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,一个3M的excel用POI sax解析依然需要100M左右内存,改用easyexcel可以降低到几M,并且再大的excel也不会出现内存溢出;03版依赖POI

2024-07-29 16:28:24 347

原创 Java常用10种排序算法

快速排序是一种分治思想的排序算法,它的基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后再分别对这两部分记录继续进行排序,以达到整个序列有序的目的。选择排序是一种简单的排序算法,它的基本思想是每次从待排序的元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的元素排完。基数排序的时间复杂度为O(d(n+k)),其中d为最大元素的位数,n为待排序元素的个数,k为桶的个数。桶排序的时间复杂度为O(n),其中n为待排序元素的个数。

2024-07-29 16:28:05 920

原创 redis场景应用

字符串(String):字符串是 Redis 最基础的数据类型,它存储的是二进制安全的数据,可以是数字、字符串或二进制数据。由于 Redis 的字符串是二进制安全的,因此可以用来存储图片、视频等二进制数据。有序集合(Sorted Set):有序集合是一种特殊的集合,其中的每个元素都会关联一个分数,通过分数可以对集合进行排序。列表(List):列表是一种基于字符串的线性表数据结构,可以存储多个有序的字符串元素。集合(Set):集合是一种无序的字符串集合,其中的每个元素都是唯一的,且没有重复的元素。

2024-07-29 16:26:09 217

原创 java面试问题

优化前:报表查询 30秒优化后:建立物化视图,查询结果15秒。

2024-07-29 16:24:12 821

原创 Redis缓存与数据库一致性问题

先更新缓存,再更新数据库。先更新数据库,再更新缓存。正常情况,二者没有差别,都能保证缓存数据与数据库数据的一致性。数据一致性问题主要发生在第一步执行成功,第二步执行失败的场景。先更新缓存,再更新数据库在更新缓存成功、更新数据库失败的场景中,读取到的数据为更新后的最新值,但数据库中存储的是更新前的旧值,造成数据一致性问题。一旦缓存失效,就会从数据库中加载得到更新前的旧值,对业务造成影响。先更新数据库,再更新缓存。

2024-07-26 15:10:45 1001

原创 ConcurrentHashMap原理

在JDK 1.8中,ConcurrentHashMap已经抛弃了Segment分段锁机制,但是保留了Segment属性,用于序列化。存储结构采用数组+链表或者红黑树的组合方式,利用CAS+Synchronized来保证并发更新的安全。并发粒度进一步细化到每一个Bucket。引入红黑树结构,节点数超过指定值时,自动将链表转换成红黑树。原因是:链表查询的时间复杂度为O(n),红黑树查询的时间复杂度为O(log(n)),节点较多时,可大大提升性能。反之,节点变少时(默认小于6时),还会由红黑树,转换为链表。

2024-07-22 11:44:28 917

原创 Synchronize 底层实现原理

synchronized底层实现原理

2024-05-15 11:49:34 560

原创 JVM的原理与性能(一)

JVM原理与性能

2024-05-12 20:32:06 870 1

原创 给照片添加拍摄日期

照片拍摄日期

2024-05-04 15:36:01 436

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除