首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏波波烤鸭

    10】Spring源码-分析篇-AOP源码分析

    Spring源码-AOP分析 一、手写AOP回顾   本文我们开始讲解Spring中的AOP原理和源码,我们前面手写了AOP的实现,了解和自己实现AOP应该要具备的内容,我们先回顾下,这对我们理解Spring 代理类的结构   在上面的分析中出现了很多代理相关的代码,为了更好的理解,我们来梳理下Spring中的代理相关的结构 2.1 AopProxy   在Spring中创建代理对象都是通过AopProxy这个接口的两个具体实现类来实现的 @Aspect解析   然后我们分析下@Aspect注解的解析过程 @Override protected boolean shouldSkip(Class<?

    1.1K50编辑于 2022-10-28
  • 来自专栏Java架构师必看

    spring源码分析10

    spring源码分析10 强烈推介IDEA2020.2破解激活,IntelliJ

    34730发布于 2021-04-13
  • 来自专栏golang算法架构leetcode技术php

    golang源码分析10)slice

    // maxSliceCap returns the maximum capacity for a slice.

    30820编辑于 2022-08-02
  • 来自专栏golang算法架构leetcode技术php

    golang源码分析:etcd(10)

    分析完raft算法,回来看etcd server的代码就比较清晰了,我们从入口文件server/main.go开始 func main() { etcdmain.Main(os.Args tp.Run() for { in, err := tp.Listener.Accept() go tp.serve(in) proxy的实现是一个标准的tcp代理,源码位于

    41520编辑于 2023-09-09
  • golang源码分析:langchaingo(10

    除了RAG,我们也可以定义agentTool交给大模型调用,下面我们看一个调用的例子

    10110编辑于 2026-03-18
  • golang源码分析 :gopls(10

    分析完一个featureCommands后,其他的22个都是类似的。 它们的作用是将编辑器对源码的操作接口进行标准化,它的核心接口如下:‌ ‌文本同步‌ textDocument/didOpen、textDocument/didChange、textDocument/didClose (非 LSP 标准)‌ ‌缓存管理‌ View(文件快照)、Snapshot(模块状态缓存) ‌类型检查‌ Package(集成 go/types 和 x/tools/go/packages) ‌代码分析

    9410编辑于 2026-03-18
  • 来自专栏Postgresql源码分析

    Postgresql源码10)LWLockAcquire流程分析

    功能特点: 信号量驱动唤醒,不做spin 等锁形成队列,依次唤醒 与PGPROC结构耦合,多进程协作

    29820编辑于 2022-05-12
  • 来自专栏python编程军火库

    10 | Tornado源码分析:Gen 对象(上)

    话不多说我们先看一下源码(我已经进行过整理的源码,主要方便大家去理解里面的实现逻辑,若想看完整的源码建议大家可以自行查看本机安装的 tornado 版本中的源代码) # -*- encoding: utf /usr/bin/python """ @File : gen_ll.py @Time : 2020/08/29 15:10 @Author : haishiniu @Software:

    79720发布于 2020-09-01
  • 来自专栏stream process

    spark-streaming-kafka-0-10源码分析

    2.3.0-SNAPSHOT spark-streaming为了匹配0.10以后版本的kafka客户端变化推出了一个目前还是Experimental状态的spark-streaming-kafka-0-10 客户端,由于老的0.8版本无法支持kerberos权限校验,需要研究下spark-streaming-kafka-0-10源码实现以及系统架构。 DirectKafkaInputDStream的初始化参数包括StreamingContext,LocationStrategy,ConsumerStrategy和perPartitionConfig,根据源码文档 locationStrategy一般采用PreferConsistent ,perPartitionConfig一般采用默认实现,这里不做研究,主要会有点区别的参数为consumerStrategy,它的作用会在下面的源码分析里展示出来 避免序列化,不然可能在任务提交的时候报DirectKafkaInputDStream 无法序列化导致Task not serializable错误 结论 新的spark-streaming-kafka-0-10

    88910发布于 2020-03-05
  • 来自专栏TA码字

    K8s源码分析(10)-资源的schema

    versionPriority map[string][]string observedVersions []schema.GroupVersion schemeName string } 从上面的图解以及源码来看 从上面的图解以及源码来看 schema 实现接口主要有以下关键点: 实现 runtime.ObjectCreater 接口定义的方法完成资源的创建。

    1.7K20发布于 2021-11-18
  • 来自专栏全栈测试技术

    selenium源码通读·10 |webdrivercommonproxy.py-Proxy类分析

    1 源码路径selenium/webdriver/common/proxy.py图片2 功能说明使用代理来规避一些反爬虫策略;3 引入原因selenium webdriver测试或进行爬虫时,如果未在目标服务的白名单内 随着爬取的频率增多会被禁止访问目标服务;目标服务的反爬虫策略相对完善的情况下,容易将selenium的爬取给禁止;采用分布式selenium爬取方式时,也会很容易的被禁止爬取;综上,所以Proxy类提供了一些反爬虫策略,4 代理类型源码 return {'ff_value': ff_value, 'string': string}参数说明 ff_valueFirefox配置文件首选项的值string 代理类型的ID6 各种代理实现源码

    44570编辑于 2023-02-09
  • 来自专栏王磊的博客

    String性能提升10倍的几个方法!(源码+原理分析)

    字符串的特性 想要了解 String 的特性就必须从它的源码入手,如下所示: // 源码基于 JDK 1.8 public final class String implements java.io.Serializable 当我们打开 StringBuilder 的源码,就可以发现其中的“小秘密”了,StringBuilder 父类 AbstractStringBuilder 的实现源码如下: abstract class 总结 本文通过 String 源码分析,发现了 String 的不可变特性,以及不可变特性的 3 大优点讲解;然后讲了字符串优化的三个手段:不要直接 += 字符串、善用 intern() 方法和慎重使用 并且通过 StringBuilder 的源码分析,了解了 append() 性能高的主要原因,以及正则表达式不稳定性导致回溯问题,进入导致 CPU 使用过高的案例分析,希望可以切实的帮助到你。 参考 & 鸣谢 http://gk.link/a/10hUM https://blog.csdn.net/ityouknow/article/details/80851338

    1.4K20发布于 2020-05-04
  • 来自专栏golang算法架构leetcode技术php

    golang源码分析(12)martini源码分析

    最后是c.Next()方法,源码在martini.go#L154: func (c *context) Next() { c.index += 1 c.run() } 意思就是index

    95611编辑于 2022-08-02
  • 来自专栏golang算法架构leetcode技术php

    golang源码分析(13)gorpc源码分析

    源码地址: github.com/golang/go/t… 1. /client Arith: 7*8=56 Arith: 7/8=0...7 复制代码 2.client.go 源码分析 先来看看客户端的源码,先上一张图了解一下客户端代码的主要逻辑: Dial and call.ServiceMethod = serviceMethod call.Args = args call.Reply = reply if done == nil { done = make(chan *Call, 10 3. server.go 源码分析 话不多说,先来一张图了解一下大概: 整体分三部分,第一部分注册服务器定义的方法,第二部分监听客户端的请求,解析获取到客户端的请求参数。 Go Rpc源码解读就到这里。 4. 总结 Go RPC源码目前官方已经没有维护,官方推荐使用grpc,下一篇计划分析grpc的源码。 下面总结一下优缺点: 优点: 代码精简,可扩展性高。

    1.6K20编辑于 2022-08-02
  • 来自专栏微服务生态

    Netflix Conductor源码分析--Client层源码分析

    一、Client层总体介绍 在正式介绍Client层源码前,我们先来看一下如何在client端与server端通信,demo代码如下: TaskClient taskClient = new TaskClient 图1-1 图1-1展示是Client层最核心的三个类的依赖关系,我们接下来的源码解析就是围绕这三个类来展开。 整个Client模块的包结构和关键类如图1-2所示: ? 包是与服务端通信的基础类,包括基础基类ClientBase,还有元数据、负载、客户端任务,工作流等通信类 task包主要包括工作流协调者和工作流任务统计类 worker包主要包括Worker工作者接口类 二、Client层源码执行的全流程解析 我们拿文章 深入浅出Netflix Conductor使用 中介绍的案例来讲解源码流程(文章中包括了任务、工作流的DSL定义以及如何使用),流程图形表示如图1-3所示: ?

    2.2K41发布于 2018-12-25
  • 来自专栏golang算法架构leetcode技术php

    golang源码分析(1):http 服务源码分析

    源码简单来说做了以下几件事: 把我们自定义的Handler方法添加到默认路由DefaultServeMux的Map里比如:http.HandleFunc("/", IndexHandler) (btw: go语言的map是非线程安全的,可以在http源码里看到官方的处理方式); 启动一个tcp服务监听9100端口,等待http调用; 当监听到有http调用时,启动一个协程来处理这个请求,这个是go的http

    1.1K10编辑于 2022-08-02
  • 来自专栏波波烤鸭

    【09】Spring源码-分析篇-DI源码分析

    Spring源码-DI的过程   接下来我们分析下Spring源码中Bean初始化过程中的DI过程。也就是属性的依赖注入。 一、构造参数依赖 1. 这时我们需要在显示使用的构造方法中添加@Autowired注解即可 源码层面的核心 protected BeanWrapper createBeanInstance(String beanName, 前面我们分析过,在构造注入的情况下,对于循环依赖是没有办法解决的。只能检测,然后抛出对应的异常信息。

    1.4K20编辑于 2022-09-29
  • 来自专栏波波烤鸭

    【11】Spring源码-分析篇-事务源码分析

    Spring源码分析-事务源码分析 一、事务的本质 1. details/87898161 隔离级别:https://blog.csdn.net/qq_38526573/article/details/87898730 二、Spring事务原理   然后我们来分析下 Spring中事务这块的源码实现。 1.Spring事务的源码设计 1.1 事务管理器   我们来看看事务管理器(PlatformTransactionManager). 在但数据源中的事务管理,这个是我们分析的重点。

    1.9K30编辑于 2022-10-28
  • 来自专栏须臾之余

    Mybatis深入源码分析之SqlSessionFactoryBuilder源码分析

    一:源码分析代码片段 public static void main(String[] args) { try { // 基本mybatis环境 // 1.定义 第三步源码分析 // 3.获取SqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder SqlSessionFactoryBuilder()构造函数如下: public SqlSessionFactoryBuilder() { } 可知,无参构造函数没用做任何事情,再进入build(reader)源码 也就是解析XML,再把XML转为Configuration实体类 到这里我们再来分析:mappers结点在配置文件中配置了,我们也来分析下 this.mapperElement(root.evalNode this.parseConfiguration(this.parser.evalNode("/configuration")); return this.configuration; } } 到这里,我们就结束了源码分析

    1.2K20发布于 2019-07-26
  • 来自专栏全栈程序员必看

    arrayqueue源码_thinkphp源码分析

    10)先添加,再判断是否需要扩容 源码之旅 这里只取部分源码进行分析:指定初始容量的构造函数、扩容机制,以及主要方法。

    1.9K20编辑于 2022-11-05
领券