文章 2024-06-19 来自:开发者社区

深入解析Spring源码,揭示JDK动态代理的工作原理。

JDK动态代理是Java中一种强大的机制,它允许在运行时创建代理对象,并拦截对这些对象方法的调用。Spring框架广泛使用JDK动态代理来实现AOP(Aspect-Oriented Programming)功能。下面将深入解析Spring源码,揭示JDK动态代理的工作原理。   JDK动态代理简介   JDK动态代理基于反射机制,它主要涉及两...

文章 2024-01-22 来自:开发者社区

Spring5源码(27)-静态代理模式和JDK、CGLIB动态代理

前面的章节,已经分析了IoC容器的源码,接下来的章节来分析Spring的另一个核心功能AOP。为了更好的分析源码,需要先温习一下动态代理的知识,如果对java的动态代理无所了解的话,那么对AOP源码的分析就无从谈起。代理模式可分为静态代理和动态代理两种。而动态代理又有JDK、CGLIB动态代理。下面我们逐步分析这几种代理。1.静态代理被代理接口和实现类package com.lyc.cn.v2.....

文章 2023-12-29 来自:开发者社区

趁同事上厕所的时间,看完了 Dubbo SPI 的源码,瞬间觉得 JDK SPI 不香了

一、引言兄弟们,上次的故障结果出来了还好销售团队给力,没有让客户几千万的单子丢掉,成功挽回了本次损失不过内部处罚还是相对严重,年终奖悬了这也告诫我们 要对生产保持敬畏之情!恰巧最近领导看我在写 Dubbo 源码系列,看到我们的项目中用了 SPI 扩展于是给我一个将功补过的机会,让我好好的分析分析 Dubbo 的 SPI 的扩展机制,进行组内技术分享作为一个常年分享 源码系列 文章的选手,当然不会....

趁同事上厕所的时间,看完了 Dubbo SPI 的源码,瞬间觉得 JDK SPI 不香了
文章 2023-12-13 来自:开发者社区

Netty 源码共读(一)如何阅读JDK下sun包的源码

基础文章,就如标题所说,就如何阅读JDK下sun包的源码做出了解答,可能会上推荐,如果大家不感兴趣或不需要,可以直接退出,以免浪费时间。谢谢~前言在写这篇文章前,我先说说我个人的状况。我非常简单的学过 Netty,跑过 Netty 的简单项目,大致了解其中的一些知识。但都停留在理论和demo上,看到这个活动要阅读的是Netty框架时,我个人是有些畏惧的,因为我还没有在项目中使用过 Netty,并....

Netty 源码共读(一)如何阅读JDK下sun包的源码
文章 2023-12-05 来自:开发者社区

ConcurrentLinkedQueue的源码解析(基于JDK1.8)

ConcurrentLinkedQueue的源码解析(基于JDK1.8)ConcurrentLinkedQueue是Java集合框架中的一种线程安全的队列,它是通过CAS(Compare and Swap)算法实现的并发队列。在并发场景下,ConcurrentLinkedQueue能够保证队列的线程安全性,同时性能也很不错。数据结构ConcurrentLinkedQueue是基于链表实现的队列,....

文章 2023-12-05 来自:开发者社区

LinkedBlockingDeque的源码解析(基于JDK1.8)

LinkedBlockingDeque的源码解析(基于JDK1.8)LinkedBlockingDeque是Java中的一个阻塞双端队列,它继承自AbstractQueue类并实现了BlockingDeque接口。在多线程环境下,LinkedBlockingDeque能够提供高效的并发访问能力。下面我们来看一下它的源码实现。数据结构LinkedBlockingDeque是基于链表实现的双向队列。....

文章 2023-12-05 来自:开发者社区

LinkedBlockingQueue的源码解析(基于JDK1.8)

LinkedBlockingQueue的源码解析(基于JDK1.8)LinkedBlockingQueue是Java集合框架中的一个阻塞队列实现类,它是线程安全的,支持高并发操作。本文将对LinkedBlockingQueue的源码进行解析,基于JDK1.8版本。基本介绍LinkedBlockingQueue是一个基于链表实现的阻塞队列,它具有以下特点:队列容量可选,默认为Integer.MAX....

文章 2023-12-05 来自:开发者社区

ArrayBlockingQueue的源码解析(基于JDK1.8)

ArrayBlockingQueue的源码解析(基于JDK1.8)ArrayBlockingQueue是Java集合框架中的阻塞队列,实现了BlockingQueue接口。在本文中,我们将对ArrayBlockingQueue的源代码进行分析,以便更深入地了解其工作原理。ArrayBlockingQueue的概述ArrayBlockingQueue是一个有界的队列,其大小在创建时就已经确定。它由....

问答 2023-05-29 来自:开发者社区

通过Nacos2.0.3源码编译,基于jdk8,执行这个命令就会报错,但是去掉就可以成功,怎么处理?

通过Nacos2.0.3源码编译,基于jdk8,执行mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U 这个命令就会报错,但是去掉 -Prelease-nacos就可以成功。怎么处理?报错如下:spring-boot-maven-plugin:3.1.0:repackage failed: Unable to load the ....

问答 2023-05-03 来自:开发者社区

idea maven 依赖无法下载源码代码,换了jdk1.7 无效

环境信息 com.alibaba.otter canal.client 1.1.2 canal version 1.1.2 idea version 2019.2.4 问题描述 想看 canal 源码的时候,点击download source 没反应,attach 总提示无法识别,更换了阿里云和官方maven仓库都不行,甚至到mvnrepository.com 手动下载对应的文件,...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐