自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

glmapper_2018

开放,开源,分享,共享

  • 博客(168)
  • 资源 (5)
  • 收藏
  • 关注

原创 LLM 系列(三):核心技术篇之架构模式

一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和扩展。欢迎感兴趣的小伙伴们关注和 Star。

2025-06-16 13:30:43 909

原创 LLM 系列(一):发展历程篇

大语言模型技术演进综述(2017-2025) 本文系统梳理了2017-2025年间大语言模型(LLM)的技术演进历程。第一阶段(2017-2019)围绕Transformer架构突破,GPT-1、BERT等模型奠定基础。第二阶段(2020-2022)以GPT-3为代表,通过参数规模化和In-Context Learning实现能力跃升,中国厂商开始密集布局。当前阶段(2023-2025)呈现三大特征:多模态融合、长上下文处理、Agent化应用,技术重点转向MoE架构和效率优化。模型应用从传统NLP任务扩展到

2025-06-11 17:56:50 1434

原创 LLM 系列(七):数学概念篇

的。在BERT的世界里,不存在一个脱离了句子的、抽象的“银行”的意义;只存在“河边的银行”和“取钱的银行”这样具体的、在语境中生成的意义。这种从静态到动态的演变,使得模型能够捕捉到语言中极其微妙和复杂的现象,为大语言模型的成功奠定了坚实的基础。

2025-07-14 10:10:30 1041

原创 基于 BGE-M3 构建 Embedding 服务(完整代码和镜像脚本)

本文主要是介绍基于开源 BGE-M3 构建 embedding 服务的完整过程,并提供了完整的代码。因环境不同或者主干代码分支差异,按照本文操作可能会出现一些不适配情况,具体问题具体解决。

2025-07-11 10:56:44 627

原创 LLM 系列(五):模型推理篇

LLM 推理领域是一场与内存瓶颈和硬件利用率的持续战斗。本文梳理的各项优化技术,都是为了让日益庞大的模型变得更加实用和经济。更小、更高效的模型架构:业界正大力投入于研发更小但能力依旧强大的模型(如 Phi-3)以及稀疏化的专家混合(MoE)模型。MoE 模型在每次推理时只激活一小部分参数,从根本上降低了单次推理的计算和内存成本。软硬件协同设计:从到的演进,清晰地展示了算法如何紧随硬件特性(如 Hopper 架构的 FP8 支持)进行迭代。未来的性能突破将更多地来自于算法与底层芯片的深度协同设计。

2025-07-05 17:56:19 1081

原创 LLM 系列(五):模型训练篇

数据为王:高质量、多样化的训练数据是成功的关键工程化重要:大规模训练需要强大的工程化能力支撑持续创新:从预训练到强化学习,训练范式在不断演进协同发展:算法、硬件、数据、工程需要协同优化"大语言模型的训练,不仅仅是一个技术过程,更是人类智慧的结晶与传承。我们通过数学的语言,让机器学会了理解世界的方式;通过算法的力量,让人工智能获得了思考的能力。这个过程既充满挑战,也充满希望。

2025-07-01 17:28:49 1046 1

原创 LLM 系列(四):神奇的魔法数 27

这一现象并非技术缺陷,而是反映了人类认知偏差的深层镜像——因为这些模型是在人类生成的文本数据上训练的, 它们学会了复制人类在"随机"选择中的系统性偏差。研究表明,数字27位于心理学上的"黄金地带"—— 既不太明显(如1、10、25、50),也不太无趣(如20、30),给人以"随机而独特"的感觉。一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。

2025-06-22 13:30:35 90

原创 LLM 系列(二):基础概念篇

《大语言模型核心原理与关键技术解析》摘要:本文系统梳理了LLM的核心原理与技术脉络。在数学基础部分,揭示了神经网络"预测-评估-修正"的学习循环机制,涵盖前向/反向传播、梯度下降等核心算法。深度学习部分解析了LLM特有的迁移学习、注意力机制和上下文学习能力,并阐明分词、嵌入等文本处理流程。训练优化方面重点介绍了微调技术(SFT/RLHF/PEFT)和推理加速方法(KV缓存)。模型压缩部分探讨了量化、蒸馏、剪枝等轻量化技术,以及云边端协同部署策略。全文指出LLM未来将向多模态、智能体方向发

2025-06-11 17:51:38 791

原创 随笔小记:SpringBoot 3 集成 SpringDoc OpenAPI

SpringBoot 3项目快速集成SpringDoc OpenAPI指南:介绍如何在SpringBoot 3项目中集成SpringDoc OpenAPI进行API管理,重点强调版本兼容性问题(提供详细版本对应表)。内容包括基础集成步骤(只需添加依赖即可生成Swagger UI和API文档)、路径自定义方法,以及对Actuator的支持(需额外配置)

2025-06-10 11:23:18 1182

原创 SpringIO 2025 技术峰会:洞察 JDK 25、Spring AI与框架新纪元的核心脉络

一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和扩展。欢迎感兴趣的小伙伴们关注和 Star。2025 Spring IO 大会于 2025 年 5 月 21 日至 23 日在西班牙巴塞罗那举行。

2025-06-09 14:21:49 478

原创 Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

在构建智能对话系统时,保持对话上下文的连贯性是提升用户体验的关键。Spring AI 框架提供了强大的 Chat Memory 机制,支持多种存储方式来持久化对话历史。本文将深入解析 Spring AI Chat Memory 的核心机制,并通过实际代码演示如何实现基于本地内存(Local)和数据库(JDBC)的两种存储方案。Spring AI Chat Memory 提供了灵活的对话记忆管理能力,通过 Local 和 JDBC 两种存储方案,可以满足从开发测试到生产部署的不同需求。

2025-06-09 10:33:23 1933

原创 Nginx 转发 404 问题的排查和思考

theme: cyanosis 本篇文章原自当前业务遇到的一个实际问题,因为受到所在网络环境的因素影响,所以整体排查下来耗费了很大精力,记录一下。项目背景项目是 toG 项目,部署的网络环境是一个大的内网环境(又具体分为内网和内网互联网区),项目涉及到小程序、前端、后端(又包括 JAVA 和 GO 两个项目)的部署。整体的部署拓扑图大致如下: 虚拟 IP 映射:大多...

2023-09-10 16:54:27 2967

原创 如何编写测试用例

theme: cyanosis代码质量管理是软件开发过程中的关键组成部分,比如我们常说的代码规范、代码可读性、单元测试和测试覆盖率等,对于研发人员来说单元测试和测试覆盖率是保障自己所编写代码的质量的重要手段;好的用例可以帮助研发人员确保代码质量和稳定性、减少维护成本、提高开发效率以及促进团队合作。之前看过一篇关于 OceanBase 质量之道的文章,文章中提到的工程理念就把测试作为非常重要...

2023-09-08 17:07:11 216

原创 基于 CentOS 7.6 + Samba 搭建文件服务器

出于团队诉求,需要搭建一个用于共享文件的平台,因此基于 Samba 搭建了一个共享文件服务器,这里记录一下,以便用于后续维护参阅。 Samba 是 SMB/CIFS 网络文件共享协议的免费开放源重新实现,该协议允许最终用户访问文件,打印机和其他共享资源。环境CentOS 7.6Samba 4.10.16能够访问互联网环境安装 Samba执行安装shell...

2023-06-19 22:24:04 288

原创 如何实现一个简单的数据同步组件

目前关于数据同步的组件开源社区有很多,如:Flink CDC, DataX, seaTunel,Kattle 等等,大体上可以分为两种:基于日志的和基于 JDBC 的。这些同步组件在进行整库同步或者 schema 差异性不大的情况下通过可视化界面或者配置文件映射的方式可以直接达到我们库-库的同步诉求,但是对于一些定制化较大的场景处理起来还比较麻烦。为了满足这样的一个场景,笔者写了一个小的同步组件。...

2023-06-18 23:02:11 308

原创 聊一聊 Linux 的起源和发展

本文正在参加「金石计划」最近在系统性重新整理下关于 linux 的一些知识。linux 对于所有的开发工程师来说都不算是陌生的东西,但往往在面对它时,却又显得那么生疏。关于生疏,对于出入门的同学来说,其过多发行版和指令已经够吃一壶的了。这篇文章主要是看看 linux 自身的一些故事。计算机主机实际上就是一堆硬件,为了更好的、有效率的控制这些硬件资源,于是乎就有了操作系统。操作系统除了负责控...

2023-04-05 22:05:01 119

原创 聊聊 SpringBoot3 的 Micrometer Tracing

这是个很尴尬的话题,为什么这么说呢?当我们在讨论卷和造轮子两个事情的时候,SpringBoot 的开发人员也正在做着同样的事情...回顾之前在 微服务-分布式链路 这篇文章中我介绍了 Dapper、OpenTracing,并以蚂蚁分布式链路组件 SOFATracer 为例,较为详细的说明了分布式链路组件中的一些技术细节和实现方式,有兴趣的同学可以自行查看。Micrometer ...

2022-12-06 14:11:54 1735

原创 New Features Of JDK - JDK9 Modular System

Modular System 是 JAVA9 中提供的新特性,它从一个独立的开源项目而来,名为 Jigsaw Project。在此之前,我们对于 Java 技术栈中模块化的认知是基于 OSGI 的,实际上 OSGI 也确实形成了它自己独有的体系,并且是一定程度上的行业标准。JAVA 模块化发展JAVA 从没有停止过在模块化事情上的努力,比如 JSR 294 提出的 superpackage...

2022-12-01 17:51:11 82

原创 K8S system OOM 和资源配置实践

背景我们目前服务是托管在 Aws K8S 的,近期出现了一次由于生产环境流量增大而导致的 system OOM 问题,进而导致了部分核心业务受损。在此之前,团队并没有思考过关于 K8S 资源配置上存在的一些问题,也没有按照业务自身情况使用对应的 QoS 类,从而导致了故障的产生。本文将从这个角度切入,对 K8s 中的资源属性以及 QoS 进行介绍,最后给出生产环境使用的一些建议。CPU...

2022-11-29 10:56:47 315

原创 一次 G1 堆大小不均问题的排查及解决

现象生产服务中,存在部分服务在 JVM 参数、POD 规格、物理机规格 一致,负载流量差异不大的情况下,出现在内存使用上差异较大的情况。下面是一些基本信息的收集和整理。JVM 参数-XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=2 -XX:+UnlockExperimen...

2022-11-15 10:59:37 140

原创 Mysql - 从一个小 case 理解 MVCC

从 innoDB 的一致性非锁定读说起非锁定读和行快照数据一致性的非锁定读(consistent nonlocking read)是指 InnoDB 存储引擎通过行多版本控制(multi versioning)的方式来读取当前执行时间数据库中行的数据。如果读取的行正在执行 DELETE 或 UPDATE 操作,这时读取操作不会因此去等待行上锁的释放。相反地,InnoDB 存储引擎会去读取行...

2022-11-09 16:45:58 75

原创 RocketMQ Push 消费模型

theme: cyanosis “我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第4篇文章,点击查看活动详情”Push 模式是指由 Server 端来控制消息的推送,即当有消息到 Server 之后,会将消息主动投递给 client(Consumer 端)。使用 DefaultMQPushConsumer 消费消息下面是使用 DefaultMQPushConsum...

2022-09-20 11:25:07 97

原创 RocketMQ 本地部署问题总结

theme: cyanosis “我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第3篇文章,点击查看活动详情”本篇分为 RocketMQ 部署和 RocketMQ-dashboard 部署两部分,主要是 RocketMQ 部署问题较多,汇总了下网上各路大神以及官方 issue 的讨论汇总而来。RocketMQ 部署根据官方的快速开始 尝试在本地部署 RocketM...

2022-09-16 17:25:44 191

原创 Apache HTTP server benchmarking tool

theme: cyanosis “我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第2篇文章,点击查看活动详情” Apache Benchmark Tool ab is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server. It is designed to...

2022-09-15 11:46:42 124

原创 你知道 @Async 是怎么让方法异步执行的吗?

本文通过对 @Async 注解的分析,和你解释了 @Async 是怎么让方法异步执行的吗? 这个问题;从分析过程中可以知道,对于绝大多数面向工程师使用的注解或者工具,本质上是离不开那些最最基本知识点的

2022-09-09 15:14:46 352

原创 闲来无事,聊聊掘金?

和掘金认识掘金是 2017 年,当年推荐这个产品给我的那个哥们之前也算是掘金的忠实粉丝,现在已经很久没更新了。那时候作为职场新人,从掘金得到了很多帮助,包括技术学习、文章输出的积极反馈,还有一些周边礼品,也包括认识很多技术同行。我自己写技术文章算是挺早的,从 15,16 年那会在博客园,再到后来的简书,到掘金。博客园除了写文章不是很方便之外,到现在来看,我也觉得它是个比较不错的技术网站;简...

2022-08-19 17:38:47 191

原创 聊 一聊 maven 测试相关的插件

在之前的 聊一聊 maven 生命周期和 maven 插件编写 这篇文章中,简单聊了点maven 构建生命周期和如何编写一个 maven 插件。本篇文章从插件入手,来探讨下 maven 中那些于测试相关的插件,这些插件与工程师日常开发是密切相关的,可能很多情况下你不需要关注,因为已经有前辈帮你搞完了;“事不关己高高挂起” 与 “知其然知其所以然” 是两种不同的态度,对待技术,我建议是后者!ma...

2022-07-31 22:29:33 124

原创 聊聊 API 管理-开源版 Yapi 到 SaaS 版 Apifox

theme: cyanosis API 管理这个话题近些年听到的频次越来越多,这本质上是个 web 领域的发展有关,也和开发协作方式有关--前后端分离代替了全栈工程师 hold all 的局面,强调的更多的是 API 复用、分工和协作细化。 API 管理的重要性不言而喻,每家公司随着业务的发展,多多少少都会涉及到;从开源社区的产品到国内各类商业化产品,可以看到大家对于 API 管理...

2022-07-11 10:40:47 296

原创 浅析 SOFA 注册中心数据同步

本篇主要对 SOFARegistry 的数据同步模块进行解析,对于注册中心的概念以及 SOFARegistry 的基础架构不做过多阐述,相关介绍可以见海量数据下的注册中心 - SOFARegistry 架构介绍 这篇文章。本文主要写作思路大致分为下面 2 个部分:第一部分借助 SOFARegistry 中的角色分类来说明哪些角色之间会进行数据同步,第二部分对数据同步的具体实现进行解析。SO...

2022-07-05 17:39:47 216

原创 Spring Cloud Alibaba Nacos Config 是如何读取配置的?

本文主要分析 Spring Cloud Alibaba Nacos 配置客户端读取配置的部分过程,逻辑入口是 com.alibaba.cloud.nacos.client.NacosPropertySourceLocator#locate;通过本篇,* 1、了解到 sharedConfigs、extensionConfigs 如何加载* 2、应用配置加载时,dataId 的计算逻辑* 3、如...

2022-03-13 21:04:55 138

原创 1 分钟快速上手 Spring Cache

快速开始(从0到1)如果你现在有一个现成的工程,你想给你工程的某个接口增加缓存,再不可以分布式缓存的情况下,你可以通过以下两步完成 Spring Cache 接入:1、引用依赖xml<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spr...

2022-02-21 17:22:02 159

原创 2021 年终总结-磊叔的 Work Life Balance

theme: fancy「时光不负,创作不停,本文正在参加2021年终总结征文大赛」 生活,在喜怒哀乐间走走停停。不知道会遇见什么,只知道阳光这么好,别辜负了今天抓了一把花生米,开了一罐啤酒,打开新买的台式机,用上被新同事“嫌弃”声音太大的机械键盘,然后以文字的方式来唠一唠我的 2021。对我来说 2021 年是特殊的,换了工作、换了城市、也换了一种心态;这可能和城市节奏...

2021-12-27 23:39:33 83

原创 SpringBoot Actuator 潜在的 OOM 问题

这是我参与11月更文挑战的第 14 天,活动详情查看:2021最后一次更文挑战此问题背景产生于近期需要上线的一个功能的埋点;主要表现就是在应用启动之后的一段时间内,内存使用一直呈现递增趋势。下图为场景复线后,本地通过 jconsole 查看到的内部使用走势图。 实际环境受限于配置,内存不会膨胀背景&问题应用 a 使用 rest template 通过 http...

2021-11-29 20:28:17 90

原创 Spring Data JPA-属性详解 JpaProperties 和 HibernateProperties

这是我参与11月更文挑战的第 13 天,活动详情查看:2021最后一次更文挑战本篇文 Spring Data JPA 属性的第二篇,第一篇见 Spring Data JPA-属性详解 JdbcProperties 和 DataSourceProperties;第一篇中主要是 jdbc 的配置,本篇主要是 jpa 自己的配置;在 spring 代码中,Spring Data JPA 对应的配置在...

2021-11-25 14:35:12 661

原创 Spring Data JPA-属性详解 JdbcProperties 和 DataSourceProperties

这是我参与11月更文挑战的第 12 天,活动详情查看:2021最后一次更文挑战最近查了一个 spring data jpa 的问题,其实也不能算是框架层面的问题,准确说是配置;因为之前没有怎么使用过 spring data jpa(更多是 mybatis 或者自研 orm 组件),所以期望通过本篇来记录下 spring data jpa 的配置。本篇从配置源码开始,先直观的了解 s...

2021-11-23 22:25:41 127

原创 微服务-分布式链路

这是我参与11月更文挑战的第 11 天,活动详情查看:2021最后一次更文挑战 本篇文章是近期在公司内做的分享,同步到这里希望更多的同学了解分布式链路在过去10-15 年间,移动互联网时代大背景下,诞生了无数日活都是千万级以上的 app 产品。我们在客户端的任何一次操作,往往都需要经过后端服务的多个模块、多个基础组件、多台机器的相互协作才能完成请求的处理和响应。在这一系列的请...

2021-11-18 22:15:15 135

原创 为什么你的 SpringBoot 自动配置失效了

这是我参与11月更文挑战的第 10 天,活动详情查看:2021最后一次更文挑战本文源自近期项目中遇到的问题, bug 总是出现在你自以为是的地方...问题描述下面是一个简单复现的代码片段,在你没有阅读完本文时,如果能做出正确的判断,那恭喜你可以节省阅读本文的时间了。1、自动配置类:AutoTestConfigurationjava@Configuration@Ena...

2021-11-15 19:39:09 211

原创 yum 指令

这是我参与11月更文挑战的第 9 天,活动详情查看:2021最后一次更文挑战yum(Yellowdog Updater Modified):是一个基于 RPM 的软件包管理器,能够从指定服务器自动下载RPM包并且安装,可以处理软件之间的依赖关系,一次性安装所有依赖的软件包,无需一个个下载安装。工作原理示意图yum客户端及服务器的工作原理如下图所示yum 的配置文件...

2021-11-10 21:42:27 173

原创 git 中 merge 和 rebase 小记

这是我参与11月更文挑战的第 8 天,活动详情查看:2021最后一次更文挑战作为一线工程师的你,对于 git一定不会陌生,git 作为一个开源的分布式版本控制系统,有着广泛的用户基础。git 使用有很多可视化的工具,idea 自身也大多都集成了 git 套件,如下:不过相比于这些可视化工具,我更喜欢使用命令行的方式。本篇背景也是源于实际工作,一个同学遇到的问题是:他从 ma...

2021-11-09 22:04:05 68

原创 mysql 日志文件

这是我参与11月更文挑战的第 7 天,活动详情查看:2021最后一次更文挑战日志文件记录了影响 mysql 数据库的各种类型活动,mysql 中常见的日志文件主要包括以下 4 种:错误日志二进制日志慢查询日志查询日志这些日志文件可以帮助我们对mysql数据库的运行状态进行诊断,从而更好的进行数据库层面的优化。错误日志错误日志文件对 mysql 的启动,运行,关...

2021-11-08 21:01:58 60

春秋招算法题总结,共65个

校招常见的算法题,基本算法分析。文档中的算法是综合了本人面试过程中被问过的算法以及同学被问到过的算法。

2016-12-12

java socket通信实现

用java 实现的一个socket通信程序,包括服务端和客户端俩个部分。代码注释很详细。

2016-12-12

基于maven构建的多模块ssm demo

基于maven构建的多模块ssm demo,里面含有阿里的一个setting文件;也欢迎大家关注我的个人博客:https://juejin.im/user/58fcc0768d6d810058965a06;一起学习

2017-11-19

SPRING技术内幕.pdf

SPRING技术内幕:深入解析SPRING架构与设计原理.pdf; 本书仅作为记录学习共享所用;如需使用,请购买正版;谢谢

2017-09-03

cglib包;java动态代理

CGLIB是一个功能强大,高性能的代码生成包。它为没有实现接口的类提供代理,为JDK的动态代理提供了很好的补充。通常可以使用Java的动态代理创建代理,但当要代理的类没有实现接口或者为了更好的性能,CGLIB是一个好的选择。

2017-09-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除