上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 32 下一页
摘要: 目录 一、容器启动 IOC启动流程 重点 二、扫描并注册BeanDefination 加载并过滤资源 注册BeanDefination 三、BeanFactory后置处理 四、注册Bean后置处理器 五、遍历BeanDefination,实例化单例Bean preInstantiateSinglet 阅读全文
posted @ 2025-03-23 17:34 jock_javaEE 阅读(47) 评论(0) 推荐(0)
摘要: 目录 一、AOP结构介绍 @Pointcut 通知 原理 连接点 拦截器 二、Bean介入点 EnableAspectJAutoProxy AspectJAutoProxyRegistrar AnnotationAwareAspectJAutoProxyCreator AbstractAutoPro 阅读全文
posted @ 2025-03-22 17:42 jock_javaEE 阅读(22) 评论(0) 推荐(0)
摘要: 一、定义 postProcessBeforeInstantiation 是 Spring AOP 动态代理的核心扩展点,通过提前创建代理对象优化性能,并支持丰富的自定义逻辑(如事务、安全) 二、代码分析 public Object postProcessBeforeInstantiation(Cla 阅读全文
posted @ 2025-03-22 02:02 jock_javaEE 阅读(54) 评论(0) 推荐(0)
摘要: 一、定义 resolveBeforeInstantiation 是 Spring 框架中 AbstractAutowireCapableBeanFactory 类的核心方法之一,它在 Bean 的实例化阶段扮演了关键角色。它的核心作用是:在 Bean 的默认实例化流程开始之前,提供一个扩展点,允许开 阅读全文
posted @ 2025-03-21 20:29 jock_javaEE 阅读(53) 评论(0) 推荐(0)
摘要: 一、基础概念 在分库分表场景下,关联表(JOIN)查询的复杂性主要源于数据分布在不同的数据库或表中。ShardingSphere 通过 绑定表(Binding Table) 和 广播表(Broadcast Table) 机制,结合 内存计算, 有效解决关联查询的难题。以下是具体实现方法和优化策略 二 阅读全文
posted @ 2025-03-16 23:45 jock_javaEE 阅读(749) 评论(0) 推荐(0)
摘要: 一、底层原理 在 MySQL 8.0 中,当使用 limit offset, count 进行分页查询时,如果 offset 非常大(例如 limit 200000, 10),性能会显著下降。 这是因为 MySQL 需要扫描 offset + count 行数据,然后丢弃前 offset 行,只返回 阅读全文
posted @ 2025-03-12 21:54 jock_javaEE 阅读(57) 评论(0) 推荐(0)
摘要: 步骤一、启用慢查询日志 慢查询日志是MySQL记录执行时间超过指定阈值的SQL语句 配置慢查询日志 在MySQL配置文件(如my.cnf或my.ini)中设置以下参数: slow_query_log:是否启用慢查询日志 slow_query_log_file:指定慢查询日志文件的保存位置 long_ 阅读全文
posted @ 2025-03-11 16:32 jock_javaEE 阅读(155) 评论(0) 推荐(0)
摘要: 一、ThreadLocal 内存泄漏的原因 ThreadLocal 的内存泄漏问题主要与其底层实现 ThreadLocalMap 的结构和垃圾回收机制有关。以下是核心原因: 1、ThreadLocalMap 的 Entry 设计 键(Key)是弱引用:ThreadLocalMap 中的键(Key)是 阅读全文
posted @ 2025-03-04 16:47 jock_javaEE 阅读(1050) 评论(0) 推荐(0)
摘要: 一、定义 CyclicBarrier 的 await() 方法是其核心功能之一,用于让线程在屏障点等待,直到所有参与的线程都到达屏障后,才能继续执行。 其底层实现依赖于 AQS(AbstractQueuedSynchronizer) 和 ReentrantLock,以下是 await() 方法的底层 阅读全文
posted @ 2025-03-03 21:32 jock_javaEE 阅读(75) 评论(0) 推荐(0)
摘要: 一、release() 方法代码解析 当调用 release() 方法时,实际调用的是 AQS 的 releaseShared(1) 方法。以下是其详细工作流程: public final boolean releaseShared(int arg) { if (tryReleaseShared(a 阅读全文
posted @ 2025-03-03 15:38 jock_javaEE 阅读(52) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 32 下一页