_sunjinxin
码龄4年
求更新 关注
提问 私信
  • 博客:825,242
    社区:12,158
    问答:961
    动态:68,252
    906,613
    总访问量
  • 192
    原创
  • 76,165
    粉丝
  • 6
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
目前就职: 阿里巴巴
加入CSDN时间: 2022-01-05

个人简介:醉舞经阁半卷书,坐井说天阔。

博客简介:

我想做一个艺术家

博客描述:
年轻时,总会遇见很多人,而后你就会发现,所谓的机缘也就那么几次。
查看详细资料
个人成就
  • 优质创作者: 云计算技术领域
  • 获得6,108次点赞
  • 内容获得5,982次评论
  • 获得9,872次收藏
  • 代码片获得1,299次分享
  • 博客总排名22,224名
  • 原力等级
    原力等级
    9
    原力分
    7,375
    本月获得
    13
创作历程
  • 4篇
    2025年
  • 18篇
    2023年
  • 171篇
    2022年
成就勋章
TA的专栏
  • Java系核心技术
    付费
    55篇
  • 中间件核心技术
    付费
    22篇
  • 微服务核心技术
    付费
    66篇
  • 云原生核心技术
    付费
    24篇
  • 技术落地与最佳实践
    3篇
  • AI让失业更简单
    2篇
  • 交易履约核心技术
  • 碎碎念
    2篇
兴趣领域 设置
  • AIGC
    AIGC
创作活动更多

AI 镜像开发实战征文活动

随着人工智能技术的飞速发展,AI 镜像开发逐渐成为技术领域的热点之一。Stable Diffusion 3.5 FP8 作为强大的文生图模型,为开发者提供了更高效的图像生成解决方案。为了推动 AI 镜像开发技术的交流与创新,我们特此发起本次征文活动,诚邀广大开发者分享在 Stable Diffusion 3.5 FP8 文生图方向的实战经验和创新应用 本次征文活动鼓励开发者围绕 Stable Diffusion 3.5 FP8 文生图方向,分享以下方面的内容: 1. 技术实践与优化 - Stable Diffusion 3.5 FP8 模型架构解析与优化技巧 - 文生图生成效果的提升方法与技巧 - 模型部署与加速策略,例如使用 Hugging Face、Diffusers 等工具 - 针对特定场景(例如二次元、写实风)的模型微调与定制化开发 2. 应用场景探索 - Stable Diffusion 3.5 FP8 在不同领域的应用案例分享,例如游戏设计、广告创意、艺术创作等 - 利用 Stable Diffusion 3.5 FP8 实现图像编辑、图像修复、图像增强等功能的探索 - 结合其他 AI 技术(例如 NLP、语音识别)构建更强大的应用 3. 创新应用与思考 - 基于 Stable Diffusion 3.5 FP8 的创新应用场景设计 - AI 镜像开发的未来发展方向的思考与展望 - 对 AI 镜像开发伦理、安全等问题的探讨

28人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 收藏
  • 代码仓
  • 最近

  • 文章

  • 专栏

  • 收藏

  • 代码仓

搜索 取消

Disruptor架构哲学

本文介绍了高性能无锁并发框架Disruptor的设计思想与核心机制。Disruptor通过环形缓冲区、序列号协调等创新设计,实现单线程每秒600万订单处理能力。文章从架构模型切入,重点解析了环形队列优化(固定内存、循环覆盖、O(1)复杂度)、多生产者序列号申请机制(游标控制+最小消费序列号校验),以及发布-消费流程中游标更新与线程唤醒的协同逻辑。通过Jraft框架的Disruptor应用实例,展示了如何通过等待策略和序列屏障实现高效事件处理。该设计思想可用于构建低延迟、高吞吐的并发系统。
原创
博文更新于 2025.07.02 ·
1382 阅读 ·
36 点赞 ·
4 评论 ·
12 收藏

HNSW - 分层可导航小世界

HNSW
原创
博文更新于 2025.06.08 ·
1196 阅读 ·
32 点赞 ·
0 评论 ·
10 收藏

商家平台AI智能搜索工程实践|RAG|向量检索增强

向量检索增强技术工程实践
原创
博文更新于 2025.06.08 ·
1149 阅读 ·
22 点赞 ·
0 评论 ·
6 收藏

每个深夜,数据库连接池都被榨干

新业务每天凌晨4点出现固定告警,经排查发现是【商品预售校验能力】接口的问题。错误日志显示获取JDBC连接失败,初步推断为上游定时任务并发量过高导致数据库连接池不足。进一步分析发现,商品侧优化了定时校验方案,将串行改为异步,并发量提升,同时数据库实例CPU被打满,原因是废弃的报表任务仍在执行。最终通过暂停报表任务解决了问题。复盘指出,告警与上游方案优化和数据库资源竞争有关,调整本地连接池数量需与数据库连接数匹配。
原创
博文更新于 2025.06.07 ·
1127 阅读 ·
16 点赞 ·
0 评论 ·
21 收藏

我希望女孩子不要点进来

在某个夜里,坐在窗台,我和翠草喝了一壶杏花村,寂静的夜,连月亮都懒得闪光,更不要说往日的清风。三更,我俩微醉,我的脸上泛着红晕,靠在他的肩膀上,他含情脉脉的看着我,我和他说起了我的故事......
原创
博文更新于 2024.09.11 ·
7824 阅读 ·
90 点赞 ·
128 评论 ·
53 收藏

坚持难而正确的事情

如果你真心想成功,不用恐惧,不用迷茫,你只需要每天能够保持你,一直向前,一直向上,永不停止,那么你的梦想终究能够实现。
原创
博文更新于 2024.08.19 ·
17952 阅读 ·
37 点赞 ·
51 评论 ·
54 收藏

企业如何从SpringBoot应用平滑迁移到云原生K8s平台

企业从SpringBoot应用向云原生转型技术解决方案
原创
博文更新于 2024.08.04 ·
2134 阅读 ·
5 点赞 ·
7 评论 ·
10 收藏

多级缓存架构最佳实践

缓存架构的最佳实践
原创
博文更新于 2024.08.04 ·
3575 阅读 ·
7 点赞 ·
7 评论 ·
11 收藏

Object o = new Object()占用多少字节?

文章目录工具查看内存分配Java内存模型访问对象方式GC为什么Survivor要分为两个区域(S0和S1)?Survivor 为什么不分更多块呢?对象的生命周期小知识工具查看内存分配Object o = new Object();占用多少字节,我们借助openjdk的工具来看一下:Maven依赖<dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol-core<
原创
博文更新于 2023.09.05 ·
3954 阅读 ·
5 点赞 ·
3 评论 ·
14 收藏

Volatile有什么作用?

文章目录volatile有什么作用?可见性证明指令重排证明不能保证原子性证明Volatile与Synchronized的区别volatile有什么作用?保证线程的可见性禁止指令重排但是不能保证原子性可见性证明有如下静态成员变量num,初始值为0;有两个线程,一个是main主线程,另一个是子线程,让子线程休眠2秒,触发主线程的死循环,2秒后,子线程开始修改值为100,此时主线程的死循环仍未停止,由此可证,线程之间不可见。在num前加上volatile关键字之后,主线程的死循环立刻停止,由此可
原创
博文更新于 2023.09.05 ·
589 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

【Mybatis源码解析】mapper实例化及执行流程源码分析

基于SpringBoot的Mybatis源码解析:1.如何对mapper实例化bean在加载BeanDefinition时,会将SqlSessionFactory、SqlSessionTemplate、MapperScannerConfigurer加载到注册表中,以供后续进行实例化。而且在此期间,mapper接口已经实例化完成了,后续从缓存中取出即可。初始化时,第一步,使用SqlSessionFactoryBean来生成SqlSessionFactory。
原创
博文更新于 2023.02.20 ·
3087 阅读 ·
161 点赞 ·
133 评论 ·
188 收藏

【Mybatis源码解析】一级缓存和二级缓存源码解析

新版的源码并没有太多改变,发送请求时,先从二级缓存中取,未取到则去一级缓存中取,仍未取到会去数据库中查,再存到一级缓存中,当事务提交之后,会存到二级缓存中,值得注意的是,mybatis中的一些cashe相关类挺有意思的,用来解决不同场景的问题,比如脏读。MyBatis的二级缓存相对于一级缓存来说,实现了SqlSession之间缓存数据的共享,同时粒度更加的细,能够到namespace级别,通过Cache接口实现类不同的组合,对Cache的可控性也更强。useCache :是否用缓存,默认为true。
原创
博文更新于 2023.02.17 ·
2345 阅读 ·
4 点赞 ·
3 评论 ·
5 收藏

【Spring6源码・AOP】AOP源码解析

让我们看看是如何进行转换的,步入registry.getInterceptors方法,初始化拦截器集合,获取Advice【切面相关的配置】,对适配器进行循环,找到符合的拦截器,然后加入我们初始化好的拦截器List集合中,创建完代理对象之后,最终,会真正的执行我们的目标方法,但是步入该方法,会进入cglib代理类的拦截方法。调用after方法。不行了,我得去吃饭了,妈妈叫我吃饭了,呜呜呜,你们自己看看,挺简单的。好了,好了,累死了,好像有个问题没有写,就是三级缓存相关的,明天吧,专门给三级缓存写一篇。
原创
博文更新于 2023.02.16 ·
1596 阅读 ·
5 点赞 ·
3 评论 ·
4 收藏

【SpringBoot3.0源码】启动流程源码解析 •下

最后返回一个SpringApplicationRunListener实例。显式删除代理的目标(如果已注册),以避免对同一侦听器进行双重调用。add到applicationListeners的set集合中。根据不同的web类型创建不同实现的Environment对象。读取项目中环境变量、jvm配置信息、配置文件信息等。设置了一些初始化器和监听器,接下来我们讲解下。
原创
博文更新于 2023.02.14 ·
5414 阅读 ·
82 点赞 ·
36 评论 ·
197 收藏

【Spring6源码・IOC】BeanDefinition的加载

环境:Spring6、SpringBoot3.0、JDK17多看注释梳理整体设计思想IOC是一个容器,对象的创建、使用和销毁都是由IOC容器来管理。《五分钟带你速通Spring IOC》加载配置文件(XML\YAML…)、配置类,并解析成BeanDefinitionBeanFactoryPostProcessor对BeanDefinition做一些处理实例化bean对象初始化bean对象(属性填充等),并且在初始化前后通过BeanPostProcessor对bean对象进行相关处理。
原创
博文更新于 2023.02.14 ·
7150 阅读 ·
40 点赞 ·
42 评论 ·
29 收藏

【Spring6源码・IOC】Bean的初始化 - 终结篇

上一篇,我们实例化了bean之后,将bean放入了第三级缓存,看一下这个addSingletonFactory方法,如果一级缓存中没有对应的bean,那么会将未初始化的bean放入三级缓存,会将bean提前暴露出来。我们来一起看一下这个处理属性的doWithLocalFields方法,首先通过getDeclaredFields方法获取类的属性集合,然后进行遍历调用函数去处理。这里主要有两点,一个是针对属性上的注解,一个是针对方法上的注解,大部分的时候会放在属性上,也有时候会放在方法上,比如set方法上。
原创
博文更新于 2023.02.14 ·
6837 阅读 ·
190 点赞 ·
185 评论 ·
182 收藏

【SpringBoot3.0源码】启动流程源码解析 • 上

SpringBoot启动类:步入方法:这里分为两步:初始化步入SpringApplication的构造方法中:首先获取资源加载器、保存primarySources属性、web类型,设置初始化器和监听器,获取main方法所在的类重点看一下获取初始化器和监听器这部分。在此之前,看一下271行的代码:在SpringBoot的老版本中,是没有这快代码的,这里主要是提前加载一些初始化器、监听器和其他配置放入缓存中,以便后续获取。步入方法中:最终来到这里:这里首先构造一个加载器,再去调用load方法。步
原创
博文更新于 2023.02.13 ·
2473 阅读 ·
110 点赞 ·
70 评论 ·
182 收藏

【Spring6源码・MVC】请求处理流程源码解析

值得一提的是我们这个demo没有文件,也没有参数,所以撸流程还是很容易的,如果有参数还要注意是如何解析参数的,如果用@RequestParam注解的话,直接通过反射就可以获取到,Spring也提供了处理这个注解的解析器,如果不加注解,会默认使用名称绑定,底层用asm框架读取字节码来获取参数名称,所以编码记得用@RequestParam声明参数,之后会放进一个缓存数组中,在。我们知道,在IOC容器加载的同时,初始化了registry这个HashMap,这个HashMap中存放了请求路径和对应的方法。
原创
博文更新于 2023.02.10 ·
2163 阅读 ·
142 点赞 ·
72 评论 ·
184 收藏

【Spring6源码・MVC】初始化registry,完成url和controller的映射关系

首先调用createRequestMappingInfo方法,获取方法上的数据,包括请求类型和请求路径,最后封装成RequestMappingInfo类。综上所述:再启动SpringBoot项目的时候,就已经解析了所有的请求路径和对应的请求方法,并且将他们封装进registry这个HashMap中。紧接着,依旧调用createRequestMappingInfo方法,上面那个参数是方法,那么就会解析方法上的请求类型和请求路径。之后就可以通过请求路径来找到对应的方法,然后去invoke方法。
原创
博文更新于 2023.02.10 ·
2176 阅读 ·
123 点赞 ·
70 评论 ·
180 收藏

【SpringBoot3.0源码】自动装配源码解析

根据前面几章,我们对IOC源码的分析,应该不难理解:我们先去扫描指定的包下所有的@Component、@Configuration,以及配置类内的@Import、@Bean等。所谓自动装配,就是自动将第三方jar包的配置类注入到IOC容器中,常见的xxx-spring-boot-starter。自动装配应该是SpringBoot最有东西的标志,因为可以通过这种约定大于配置的设计,让编程变得简单,让工资变的更低,让java开发不在有门槛。既如此,我们可得知启动SpringBoot后,会将。
原创
博文更新于 2023.02.07 ·
1675 阅读 ·
4 点赞 ·
4 评论 ·
2 收藏
加载更多