- 博客(186)
- 资源 (10)
- 收藏
- 关注

原创 【常用算法】1.学好算法的常见误区
算法是解决问题的工具,需结合业务需求(如 Redis 用跳跃表平衡性能与实现复杂度),在理论最优解与工程可行性之间找到平衡,而非孤立地追求 “完美算法”。:自学是基石,但结合优质课程或导师经验(如大厂算法思维拆解),能少走 90% 的弯路,实现从 “碎片化知识” 到 “体系化能力” 的跨越。:能独立实现算法,但无法在项目中应用(如优化系统性能),或忽略大数据量下的常数优化(如选择排序在小规模数据中的实用性)。:跳出 “面试 / 短期任务” 的功利视角,视算法为培养逻辑思维、问题拆解能力的长期投资。
2025-05-06 07:30:00
846

原创 【程序员AI入门:基础】1.普通程序员如何迈进AI时代?
迈进AI时代,对于普通程序员来说既是挑战也是机遇。AI技术的快速发展正在重塑各个行业,掌握相关技能不仅能提升职业竞争力,还能参与到前沿技术的创新中。
2025-05-01 23:32:06
542
1

原创 【Java面试笔记:进阶】25.谈谈JVM内存区域的划分,哪些区域可能发生OutOfMemoryError?
内存区域触发条件错误信息堆(Heap)对象过多或内存泄漏方法区(Metaspace)类加载过多或动态生成类虚拟机栈线程过多或栈帧过深本地方法栈Native方法调用栈溢出(较少见)直接内存堆外内存分配过多。
2025-04-28 08:29:13
1183

原创 【Java面试笔记:进阶】15.synchronized和ReentrantLock有什么区别呢?
synchronized 和 ReentrantLock 都是 Java 并发编程中的重要工具,但它们在灵活性、功能和性能上各有优劣。在选择锁机制时,应根据具体需求和场景进行权衡,同时注意代码的可维护性和可读性。
2025-04-24 11:11:43
889

原创 【Java面试笔记:基础】12.Java有几种文件拷贝方式?哪一种最高效?
文件拷贝方式:Java 提供了多种文件拷贝方式,包括传统 IO、NIO 和标准类库提供的方法。拷贝效率:NIO 的 transferTo/transferFrom 方式通常更高效,但实际效率取决于操作系统和配置。技术细节:理解用户态空间和内核态空间、零拷贝技术、NIO Buffer 的使用和 Direct Buffer 的生命周期管理等技术细节,有助于优化文件拷贝性能。
2025-04-23 23:48:03
1409

原创 深入理解HotSpot JVM 基本原理
它保存所有被JVM加载的类和接口的运行时常量池,成员变量以及方法的信息,静态变量以及方法的字节码。每条线程还有自己的工作内存(Working Memory,可与前面讲的处理器高速缓存类比),线程的工作内存中保存了被该线程使用到的变量的主内存副本拷贝,线程对变量的所有操作(读取、赋值等)都必须在工作内存中进行,而不能直接读写主内存中的变量。禁止指令重排序优化,普通的变量仅仅会保证在该方法的执行过程中所有依赖赋值结果的地方都能获取到正确的结果,而不能保证变量赋值操作的顺序与程序代码中的执行顺序一致。
2025-04-21 18:08:11
938

原创 微服务划分的思考
微服务不是十全十美的,不是银弹,是什么原因导致必须要做微服务划分,是否有足够的动机支撑,是项目需要,还是领导的想法,公司层面是否有相应的规划。划分微服务的粒度不仅需要考虑研发资源,还要考虑服务本身的原子性、团队大小、团队人员的稳定性、服务的高可靠性要求等等。选型方案,最终都需要综合考虑,比如研发人员的熟悉程度,是否有足够的研发资源和价值去自研。参考阿里的粒度:人均服务数是 1.5 个左右,建议维护一个核心服务+变更较少的服务。以上是单体服务面临的一些问题,但是不止于此。
2025-04-21 18:02:20
802

原创 分布式架构中的三高:高并发、高性能、高可用
互联网应用以及云计算的普及,使得架构设计和软件技术的关注点从如何实现复杂的业务逻辑,转变为如何满足大量用户的高并发访问请求。一个简单的计算处理过程,如果一旦面对大量的用户访问,整个技术挑战就会变得完全不同,软件开发方法、技术团队组织、软件的过程管理都会完全不同。
2025-04-21 17:58:59
663
原创 【速通RAG实战:生成】8.智能生成引擎:大模型与Prompt工程黄金指南
经过 RAG 索引流程对外部知识的解析及向量化,RAG 检索流程语义相似性的匹配及混合检索,系统进入 RAG 生成流程。生成流程中,首先需要组合指令,指令将携带查询问题及检索到的相关信息输入到大模型中,由大模型理解并生成最终的回复,从而完成整个应用过程。
2025-05-10 09:00:00
226
原创 【软件设计师:软件】20.软件设计概述
模块是指执行某一特定任务的数据结构和程序代码。将模块的接口和功能定义为其外部特性。将模块的局部数据和实现该模块的程序代码称为内部特性。在模块设计时,最重要的原则就是实现信息隐蔽和模块独立。
2025-05-09 23:40:15
56
原创 【软件设计师:软件】21.软件设计模式
针对面向对象软件设计中 重复出现的典型问题,总结出的 通用解决方案(由 Erich Gamma 等 4 人在《设计模式:可复用面向对象软件的基础》中提出,简称 “GOF 23 模式”)。目标:提高代码复用性、可维护性、扩展性,降低复杂度。
2025-05-09 23:09:58
20
原创 【软件设计师:软件】22.UML分析与设计
UML又称统一建模语言或标准建模语言,是一个支持模型化和软件系统开发的图形化语言,它的作用域不仅支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。
2025-05-09 21:43:55
8
原创 【软件设计师:知识】19.知识产权保护
《中华人民共和国著作权法》及其实施条例,明确了保护文学、艺术和科学作品作者的著作权,以及与其相关的权益。依据该法,我国不仅对文字作品,口述作品,音乐、戏剧、曲艺、舞蹈作品,美术、摄影作品,电影、电视、录像作品,工程设计、产品设计图纸及其说明、地图、示意图等图形作品给予保护,而且把计算机软件纳入著作权保护范围。
2025-05-09 20:36:44
11
原创 【软件设计师:网络】18.计算机网络基础
计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
2025-05-09 20:24:36
4
原创 【软件设计师:存储】16.计算机存储系统
存储器是计算机系统中的记忆设备,用来存放程序和数据。计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。
2025-05-09 18:03:15
26
原创 【软件设计师:体系结构】15.计算机体系结构概论
计算机体系结构是指计算机系统的功能和属性,是程序员所看到的计算机的属性。它主要研究计算机体系的概念性结构和功能特性,包括指令集、数据类型、存储器寻址技术、I/O机制等。例如,计算机是否具备乘法指令的功能,这是一个体系结构的问题。
2025-05-09 17:07:29
24
原创 【速通RAG实战:检索】7.RAG混合检索与重排序技术
在 RAG(检索增强生成)系统中,检索环节起着承上启下的关键作用,它需要精准地从知识库中找出与用户查询相关的信息,为后续的生成环节提供有力支撑。混合检索与重排序技术是提升检索效果的重要手段。
2025-05-09 14:00:00
488
原创 【程序员AI入门:开发】10.深度解密RAG:如何让大模型“吃透”你的业务知识?
在大模型时代,让通用AI真正理解垂直领域业务知识是行业刚需。RAG(检索增强生成)技术通过"知识库检索+生成模型"双轮驱动,可有效突破大模型的知识边界。
2025-05-09 10:55:57
388
原创 【速通RAG实战:数据库】6.RAG向量数据库原理
在 RAG(检索增强生成)系统中,向量数据库扮演着至关重要的角色,它负责存储文本经过 Embedding 处理后的向量表示,并能高效地进行向量检索,以找出与查询向量最相似的文档。
2025-05-09 07:30:00
466
原创 【程序员AI入门:开发】9.用LangChain打造会“角色扮演”的智能聊天机器人
立即行动:尝试将聊天历史存储改为文件或数据库,让你的机器人“记住前世今生”!🚀关键收获 LangChain核心抽象:Runnable 接口是链式调用的基础,ChatMessageHistory 管理上下文。 角色扮演本质:通过系统提示词 + 历史消息,动态塑造AI的“人格”。 性能优化:trim_messages 确保上下文不超限,结合 tiktoken 精准计算Token。
2025-05-08 23:35:47
980
原创 【软件设计师:数据库】13.数据库控制与安全
SQL是结构化查询语言(`Structured Query Language`)的缩写,其功能包括数据查询、数据操纵、数据定义和数据控制四个部分。- SQL 语言简洁、方便实用、功能齐全,已成为目前应用最广的关系数据库语言。- SQL既是自含式语言(联机交互),又是嵌入式语言(宿主语言)
2025-05-08 21:15:34
231
原创 【软件设计师:数据库】12.数据库基础与数据模型
某个学生选修某个教师的课就确定了所选课的名称:(S,J)→T,(S,T)→J,T→J。例:设有关系模式R (E,N,M,L,Q),其函数依赖集为F={ E→N,EM→Q,M→L)。(3)物理级数据库:对应于内模式,是数据库的低层表示,它描述数据的实际存储组织,是最接近于物理存储的,又称为内部视图。说明:在任何一个关系数据库中,第一范式是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。如果关系模式R的每个关系r的属性值都是不可分的原子值,那么称R是第一范式的模式,r是规范化的关系。
2025-05-08 20:35:19
17
原创 【软件设计师:软件工程】11.项目管理
项目管理是通过规划、组织、协调资源,在有限时间与预算内实现特定目标的过程,核心是**平衡范围、时间、成本、质量**四大要素,确保项目成功交付。
2025-05-08 19:49:51
107
原创 【软件设计师:软件工程】10.软件测试与质量
已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品生产在整个软件过程是可见的。
2025-05-08 19:07:03
32
原创 【软件设计师:软件工程】9.软件开发模型与方法
软件危机是软件开发无序状态的集中爆发,而软件工程是将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件。两者共同推动了软件开发模式的革新,为现代复杂系统的成功构建奠定了基础。
2025-05-08 18:24:43
136
原创 【软件设计师:操作系统】8.操作系统文件与作业
若磁盘的容量为200GB,物理块的大小为1MB,那么位示图的大小为(D )个字。在采用该方式时,可把逻辑文件中的记录顺序的存储到邻接的各物理块中,这样所形成的文件结构成为顺序文件结构,此时的物理文件称为顺序文件。如果说大量的数据结构和数据库,是采用有结构的文件形式的话,则大量的源程序、可执行文件、库函数等,所采用的就是无结构的文件形式,即流式文件。采用链接分配方式时,可通过在每个盘块上的链接指针,将同属于一个文件的多个离散的盘块链接成一个链表,把这样形成的文件称为链接文件。FAT需占用较大的内存空间。
2025-05-08 16:42:00
6
原创 【软件设计师:操作系统】7.操作系统设备管理
设备管理程序提供下述功能- 提供和进程管理系统的接口- 进行设备分配- 实现设备和设备之间、设备和CPU之间的并行操作- 进行缓冲区管理。
2025-05-08 16:26:56
26
原创 【软件设计师:操作系统】6.秒懂操作系统存储管理
地址转换需要重定位寄存器的支持。由于无法预测各页面将来的使用情况,只能利用“最近的过去”作为“最近的将来”的近似,因此,LRU置换算法是选择最近最久未使用的页面予以淘汰。把内存中暂时不能运行的进程或者暂时不用的程序和数据,调到外存上,以便腾出足够的内存空间,再把已具备运行条件的进程和进程所需要的程序和数据调入内存。,由于页内地址与物理地址是一 一对应的,因此,地址变换机构的任务是借助于页表,将逻辑地址中的页号转换为内存中的物理块号。段是信息的逻辑单位,含有意义相对完整的信息,是为了满足用户的需要。
2025-05-08 16:05:22
8
原创 【速通RAG实战:索引】5.RAG分块策略与Embedding技术
分块策略:根据文档类型选择策略(固定分块为基线,语义分块为最优)。嵌入模型:参考 MTEB 榜单,结合业务场景测试模型性能。代码仓库Gitee项目。
2025-05-08 14:00:00
1500
原创 【程序员AI入门:应用开发】8.LangChain的核心抽象
LangChain 的核心抽象 **ChatModel、PromptTemplate、OutputParser** 通过链式调用(LCEL)实现输入处理、模型交互与输出解析,支持同步与流式响应,是构建模块化、可维护 AI 应用的基石。
2025-05-08 07:30:00
439
1
原创 【软件设计师:程序语言】4.程序语言基础知识
状态转换图可以构造词法分析程序,但属于非形式化描述正规表达式(简称正规式)是词法分析的形式化表示方法。所谓形式化的方法,是指用一整套带有严格规定的符号体系来描述问题的方法。优点:更加清晰和准确1、ε和Φ都是字母表Σ上的正规式,它们所表示的正规集分别为{ε}和Φ;ε:艾普西龙,代表空串,Φ:PHi,读faì,代表空2、任何a∈Σ,a是Σ上的一个正规式,它所表示的正规集为{a};3、仅由有限次使用上述三步骤而得到的表达式才是Σ上的正规式。仅由这 些正规式所表示的子集才是Σ上的正规集。正规式定义中。
2025-05-07 17:59:15
36
原创 【软件设计师:算法】3.排序算法
将一组杂乱无章的数据按一定的规律次序排列起来。474747● 内部排序:指待排序记录全部存放在内存中排序的过程。● 外部排序:指待排序记录的数量很大,以至内存不能容纳全 部记录,在排序过程中尚需对外存进行访问的过程。
2025-05-07 17:41:16
178
原创 【软件设计师:数据结构】2.数据结构基础(二)
树是n(n≥0)个结点的有限集合,n=0时称为空树,在任一非空树中● 有且仅有一个称为根的结点。● 其余的结点可分为m(m≥0)个互不相交的子集T1,T2…,Tm,其中每个子集本身又是一棵树,并称其为根结点的子树。
2025-05-07 17:15:50
94
原创 【软件设计师:数据结构】1.数据结构基础(一)
线性表是n个元素的有限序列,通常记为(a1,a2,…,an)。存在惟一的表头和表尾。除了表头外,表中的每一个元素均只有惟一的直接前驱。除了表尾外,表中的每一个元素均只有惟一的直接后继。栈是只能通过一端来实现数据存储和检索的一种线性表。栈进行插入和删除操作的一端称为栈顶,另一端称为栈底。栈的修改是按先进后出的原则进行的。又称为先进后出的线性表。队列是一种先进先出(FIFO)的线性表,它只允许在表的一端插入元素,而在表的另一端删除元素。
2025-05-07 16:49:15
178
原创 【速通RAG实战】3.从零开始快速搭建RAG应用
本文详细演示了基于LangChain的RAG应用快速搭建流程,涵盖**PDF解析→文本分块→向量化→检索→生成**全链路,并提供了可复用的代码模板。开发者可通过调整技术选型(如替换向量模型、数据库)和扩展功能(如多模态支持、实时数据同步),进一步优化应用场景适配性。
2025-05-07 14:56:49
890
原创 【速通RAG实战:索引】4.RAG文档解析技术
通过本文技术方案,可构建高精准、高效率的文档解析流水线,为 RAG 应用提供坚实的知识底座。核心在于**格式解析的鲁棒性**和**语义分块的准确性**,后续通过持续的性能优化和质量监控,逐步提升索引质量和检索效率。
2025-05-07 14:55:22
829
原创 【程序员AI入门】6.OpenAI为什么是LLM编程标准
OpenAI API 的设计已成为大模型编程的行业标杆,多数后续模型和中间件项目(如代理服务)均兼容其接口。学习一个 API 即可触达多种模型,降低学习成本。是开发基础。工具参数的场景:需构建 Agent(如调用外部 API 或服务)时,需深入tools和。兼容性注意:不同模型或服务商可能对参数取值范围有差异,需参考具体文档。核心要点:流式应答是聊天场景的优化手段,通过 SSE 技术实现逐 Token 推送。工具调用扩展模型能力,需结合 tools 参数定义外部函数。
2025-05-07 14:00:00
496
1
软件工程性能优化手册:设计模式与编程技巧提升Java应用效率和响应速度
2025-04-29
java-web-tag-zh
2012-03-21
Jsp+Javabean教程《共享》
2012-03-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人