首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏盛开在夏天的太阳

    3.4 spring5源码系列--循环依赖的设计思想

    前面已经写了关于三篇循环依赖的文章, 这是一个总结篇 第一篇: 3.1 spring5源码系列--循环依赖 之 手写代码模拟spring循环依赖 第二篇: 3.2spring源码系列----循环依赖源码分析 第三篇: 3.3 Spring5源码---循环依赖过程中spring读取不完整bean的最终 现在总结循环依赖的思想 学了那么多, 为什么说见多才能识广呢 , 知道别人是如何解决某一类问题的, 也就是优秀代码的魅力 循环依赖的三级缓存设计 2. 接口函数 ---- 一. 循环依赖的三级缓存设计 再循环依赖的过程中设计了三级缓存, 他们的作用分别是 1. 一级缓存: 用来存放完整的bean 2. 定义接口函数, 也叫钩子函数 在循环依赖源码中, 两次使用到接口函数的方式. 第一个是创建bean的时候. 第二个是三级缓存 下面来看看源码, 第一次: 创建bean的时候, 定义了一个钩子函数createBean() sharedInstance = getSingleton(beanName, () ->

    51530发布于 2020-11-24
  • 来自专栏RelaxHeart网聊聊Java

    源码 : 设计模式之单例模式的5种实现

    SingletonFactory { // 内部枚举类 private enum EnmuSingleton{ Singleton; private Singleton5 //枚举类的构造方法在类加载是被实例化 private EnmuSingleton(){ singleton = new Singleton5( ); } public Singleton5 getInstance(){ return singleton; } } public static Singleton5 getInstance() { return EnmuSingleton.Singleton.getInstance(); } } class Singleton5{ public Singleton5(){} }

    59610发布于 2019-06-01
  • 来自专栏盛开在夏天的太阳

    5. Spring5源码--Spring AOP源码分析

    aop是面向切面编程,相比传统oop,aop能够在方法的前置,中置,后置中插入逻辑代码,对于项目中大量逻辑重复的代码,使用aop能很好的收口逻辑,将逻辑独立于业务代码之外,一处编写,多处使用。

    40810发布于 2020-12-02
  • 来自专栏运维有术

    Claude Code 源码泄露:5 个 Agent 设计模式拆解,全网首发!

    但比起事件本身的戏剧性,这份代码里的架构设计更值得聊。翻完源码和相关技术分析后,我整理出了 5 个所有 AI Agent 开发者都能借鉴的设计模式。 1. AutoDream 整合 源码里有一个 AutoDream 机制,设计得相当精巧: 时间门:距上次整合超过 24 小时才触发 会话门:累计 5 次会话后触发 文件锁:防止多进程同时修改记忆文件 整合流程分 图 5:Claude Code 泄露源码中的 5 个核心 Agent 设计模式总结 总结 51 万行代码,1906 个文件,从 Source Map 泄露到全世界。 从这份源码里,5 个值得记住的设计模式: Prompt Cache 分段缓存:静态/动态分段 + 确定性排序 + 状态外置,把 API 缓存压榨到底 Coordinator + Fork Subagent 你觉得这 5设计模式里,哪个对你的项目有启发?评论区聊聊。

    4.3K10编辑于 2026-04-01
  • 来自专栏全栈程序员必看

    java md5加密源码_javaMD5加密源码

    ; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Tool { /** * 该方法将指定的字符串用MD5算法加密后返回。 * @param s * @return */ public static String getMD5Encoding(String s) { byte[] input=s.getBytes(); ’,’d’,’e’,’f’}; try{ // 获得一个MD5摘要算法的对象 MessageDigest md=MessageDigest.getInstance(“MD5”); md.update (input); /* MD5算法的结果是128位一个整数,在这里javaAPI已经把结果转换成字节数组了 */ byte[] tmp = md.digest();//获得MD5的摘要结果 char[]

    68810编辑于 2022-09-14
  • 来自专栏java达人

    透过源码学习设计模式5—状态模式和Spring状态机

    缺点: 状态类增加,设计复杂度提高 Spring State Machine示例: 状态机(状态模式的一种应用)在工作流或游戏等各种系统中有大量使用,如各种工作流引擎,它几乎是状态机的子集和实现,封装状态的变化规则 5、怎样做/什么&何时做:多种策略定义了做某事的多种方式。而多个状态定义要做什么,并基于状态之间的关系定义何时做。

    5.4K20发布于 2019-08-15
  • yolov8+pyqt5搭建精美界面GUI设计源码实现四

    【简单介绍】 经过精心设计和深度整合,我们成功推出了这款融合了先进目标检测算法YOLOv8与高效PyQt5界面开发框架的目标检测GUI界面软件。 在界面设计方面,我们注重用户体验和操作的便捷性。主界面布局简洁明了,功能模块划分合理,使得用户能够快速上手并轻松掌握各项功能。 综上所述,这款基于YOLOv8与PyQt5开发的GUI设计软件不仅具备强大的目标检测功能,还致力于提升用户体验和操作便捷性。为用户带来前所未有的高效与便捷的展示体验。 【效果展示】 【视频演示】 YOLOv8检测界面-PyQt5实现第四套界面演示_哔哩哔哩_bilibili为了满足各种用户口味,我们会推出5套各具特色pyqt5界面演示yolov8检测源码,这是第4套, vd_source=989ae2b903ea1b5acebbe2c4c4a635ee 【源码下载】 https://download.csdn.net/download/FL1623863129/89034829

    22310编辑于 2025-07-20
  • 来自专栏小工匠聊架构

    Spring5源码 - 构建源码环境

    2020.2.1 + OpenJDK8U-jdk_x64_windows_hotspot_8u265b01 + gradle-6.5.1-bin.zip 遵循官方指导文档 ---- git clone 源码 源码地址: https://github.com/spring-projects/spring-framework ? 选择你拉取的spring源码,方式选择build.gradle ? 等待index完成,需要下载jar包 ,不是很快(我用了好几次,耗时好几个小时),如果期间出错,多试几次。 ? 至此,spring5.1.x的源码编译导入idea就算完成了。

    74420发布于 2021-08-17
  • 来自专栏盛开在夏天的太阳

    2.1 Spring5源码--源码编译

    源码下载   git地址: 进入https://github.com/spring-projects/spring-framework   Spring的源码是发布在github上面的 ? ? 构建工作准备 安装源码有两种方式: 第一种: 下载spring使用的对应的Gradle版本,安装 第二种: 使用自带的gradleWrapper. 查看spring源码中gradle的版本. 下载对应版本的gradle. 在gradle-wrapper.properties中查看版本号 ? 编译Spring源码项目 1. 编译compileTestJava模块 进入到源码所在文件夹, 执行一下命令. 我的是mac本, 所以需要加./, 如果是windows本就不需要加 .

    1.3K20发布于 2020-09-27
  • 来自专栏Java架构师必看

    spring源码分析5

    spring源码分析5 强烈推介IDEA2020.2破解激活,IntelliJ 原文链接:https://gper.club/articles/7e7e7f7ff3g5bgc0

    29620发布于 2021-04-13
  • yolov8+pyqt5搭建精美界面GUI设计源码实现一

    【简单介绍】 基于YOLOv8与PyQt5的精美界面GUI设计,旨在为用户提供一个直观、易用且功能强大的目标检测平台。 通过结合YOLOv8的先进目标检测能力与PyQt5的丰富界面设计元素,我们打造了一款高效、稳定的软件产品。 在界面设计上,我们注重用户体验与操作便捷性。 总之,基于YOLOv8与PyQt5的精美界面GUI设计,不仅为用户提供了强大的目标检测功能,还注重用户体验与操作便捷性。 yolov7目前最快winform目标检测,基于YOLOv8深度学习的水稻害虫检测识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、深度学习实战,yolov8目标检测图形化检测界面 pyqt5开发源码 https://www.bilibili.com/video/BV19h4y157tq/?

    35710编辑于 2025-07-20
  • yolov8+pyqt5搭建精美界面GUI设计源码实现二

    通过深度整合YOLOv8在目标识别上的卓越能力与PyQt5的精致界面设计,我们成功研发出一款既高效又稳定的软件GUI。 在界面设计层面,我们始终将用户体验与操作便捷性置于首位。 综上所述,这款基于YOLOv8与PyQt5的精美界面GUI设计软件,不仅为用户提供了强大的目标检测功能,还高度重视用户体验与操作的便捷性。 【界面展示】 【演示视频】 YOLOv8检测界面-PyQt5实现第二套界面演示_哔哩哔哩_bilibili为了满足各种用户口味,我们会推出5套各具特色pyqt5界面演示yolov8检测源码,这是第2套, ,基于opencvC++版本yolov8-onnx和bytetrack追踪算法实现目标追踪,基于目标检测通用pyqt5界面设计读取图片摄像头视频文件,yolov8 TensorRT C++ C#部署,用 vd_source=989ae2b903ea1b5acebbe2c4c4a635ee 【python源码下载地址】 https://download.csdn.net/download/FL1623863129

    37810编辑于 2025-07-20
  • 来自专栏盛开在夏天的太阳

    spring5源码 -- IOC容器设计理念和核心注解的作用

    简述Bean的生命周期 5. Spring中有哪些扩展接口及调用机制 一. spring源码整体脉络介绍及源码编译 1.1. Spring源码的整体脉络梳理 Spring IoC是一个容器, 在Spring Ioc中维护了许多Bean 那这些bean是如何被注册到IoC中的呢? 工厂按照什么生产呢, 衣柜店有一个设计师, 他们的设计师. 会按照我的需求设计出一张图纸. 然后将图纸交给工厂. 工厂按照图纸要求生产Bean. 整个过程如下图: ? 入口是"我" 1. 我们在这个图里面, 看到了设计师要设计出图纸, 然后把图纸交给工厂去生产. 那么设计设计出来的图纸, 有没有可能被修改呢? 当然是可以被修改的. 只要还没有交给工厂, 就可以修改. 初始化的时候还会调用一堆的Aware, 而且在bean生成的过程中 会有很多扩展点, 供我们去扩展. 5. 将生产出的Bean放入到Map中, map是一个一级缓存池.

    71630发布于 2020-09-27
  • 来自专栏爪哇缪斯

    源码解析:ThreadPoolExecutor(5

    3.4> 任务添加到队列的代码逻辑 源码部分如下所示: 【解释】 通过isRunning方法来判断线程池状态是不是运行中状态,如果是,则将command任务放到阻塞队列workQueue中。 并不执行任务(因为,任务已经在上面的offer方法中被添加到了workQueue中了,等待线程池中的线程去消费队列中的任务) ---- 3.5> 线程池中的线程数量小于最大线程数代码逻辑以及拒绝策略的代码逻辑 源码部分如下所示 ---- 四、 源码解析——addWorker(Runnable firstTask, boolean core) 看完execute方法的源码解析,我们发现,代码里的逻辑判断就是我们在【1.2> 线程池工作流程 与它相似用法在ConcurrentHashMap中也出现过,如下所示: ---- 4.3> addWorkder的Part1解析 我们先看一下Part1的源码和注释: 在Part1中,首先还是从类型为 ---- 后面的内容,参见:源码解析:ThreadPoolExecutor(6)

    17310编辑于 2023-05-09
  • yolov8+pyqt5搭建精美界面GUI设计源码实现五

    通过深度融合YOLOv8在目标识别领域的出色性能与PyQt5的精美界面设计,我们成功推出了一款高效且稳定的软件GUI。 在界面设计方面,我们始终坚持以用户体验和操作便捷为核心。 同时,我们采用现代时尚的设计风格,运用流畅的线条和柔和的色彩,为用户打造一个既舒适又美观的视觉环境。 在功能实现上,我们充分发挥了YOLOv8在目标检测领域的优势。 综上所述,这款基于YOLOv8与PyQt5的精美界面GUI设计软件不仅具备强大的目标检测功能,还充分考虑到用户体验与操作的便捷性。 【效果展示】 【视频演示】 YOLOv8检测界面-PyQt5实现第五套界面演示_哔哩哔哩_bilibili为了满足各种用户口味,我们会推出5套各具特色pyqt5界面演示yolov8检测源码,这是第5套, vd_source=989ae2b903ea1b5acebbe2c4c4a635ee 【源码下载】 https://download.csdn.net/download/FL1623863129/89034948

    31410编辑于 2025-07-20
  • 来自专栏竹蜻蜓技术专栏

    HashMap 源码设计思想

    分析 HashMap 的源码的文章在互联网上面已经数不胜数了,本文就不着重分析 HashMap 源码实现,而是从 HashMap 的设计思想角度入手。 在源码的注释中也有解释,英文翻译过来就是下面的意思。 链表查询的时间复杂度是O(n),红黑树的查询复杂度是O(logn)。 在考虑设计 8 这个值的时候,我们参考了泊松分布概率函数,由泊松分布中得出结论,链表各个长度的命中概率为: * 0: 0.60653066 * 1: 0.30326533 * 2: 0.07581633 * 3: 0.01263606 * 4: 0.00157952 * 5: 0.00015795 * 6: 0.00001316 * 7: 0.00000094 * 8: 关于为什么负载因子是 0.75,我们可以在源码注释找到一定的答案。 ?

    82630发布于 2020-07-08
  • 来自专栏Coder小黑

    Spring5 源码学习 (5) ConfigurationClassPostProcessor (上)

    Spring5 源码学习 (4) refresh 方法 中讲到了refresh()方法中的invokeBeanFactoryPostProcessors(beanFactory)方法主要在执行BeanFactoryPostProcessor registryId); processConfigBeanDefinitions(registry); } 主要的逻辑在processConfigBeanDefinitions(registry);中,点开源码 candidateNames 前5个是Spring注册的内置processor,最后一个是传入给AnnotationConfigApplicationContext的配置类AppConfig.class 源码学习笔记:https://github.com/shenjianeng/spring-code-study

    69430发布于 2019-12-18
  • 来自专栏小工匠聊架构

    Spring5源码 - 01 BeanDefination源码分析

    Spring的源码是如何实现的呢? 遍历Map ,取出BeanDefinition,根据你上一步设置的各种属性,去做不同的操作,比如autoType 、是否懒加载等等等等,实例化Bean 5. 当然了,Spring的实现是很复杂的,我们这里先对其大致的过程和原理有个初步的了解,方便后续源码的展开 ?

    39220发布于 2021-08-17
  • 来自专栏golang算法架构leetcode技术php

    golang源码分析:boltdb(5

    在分析完核心数据结构后,我们结合使用boltdb的核心过程了解下上述数据结构建立的过程,总结下来核心过程如下:

    31820编辑于 2023-09-06
  • 来自专栏golang算法架构leetcode技术php

    golang源码分析:etcd(5)

    在分析完etcd的client如何使用后,我们看下etcd的client源码,etcd是通过rpc和server通信的,其中关于kv相关操作位于etcd/api的api/v3@v3.5.6 Maintenance { api := &maintenance{ 总结下,raftclient 相关代码都是在grpc接口基础上的一系列封装,提供的接口简洁,功能单一、含义明确,整体的接口设计思路值得我们学习和模仿

    60620编辑于 2023-08-09
领券