自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 AI大模型进化史:从BERT到Llama3

本文探讨了AI大模型的发展与应用,重点分析了BERT、GPT和Llama3三种主流模型的特性对比。作者从传统软件开发转向AI学习,首先梳理了Transformer语言模型的架构原理,包括其编码器-解码器结构和注意力机制。文章详细介绍了现代AI应用的两种关键技术:Prompt提示词工程和RAG增强检索方法,对比了多种RAG方案的优缺点及适用场景。全文通过技术对比表直观呈现不同模型和方案的特点,为初学者理解AI在软件开发中的定位(工具还是替代)提供了基础知识框架,展现了AI从原理到实践的发展脉络。

2026-03-22 22:40:24 306

原创 linux下异常coredump函数调用栈解析(三)

本文介绍了Linux下ARM架构函数调用流程及异常复位定位方法。通过示例代码详细分析了PC指令执行过程中寄存器(PC、SP、R1-R3)的变化规律,包括函数调用时的参数传递、栈操作和返回机制。文章指出,理解寄存器协同关系有助于跟踪调用栈值变化,定位异常点,并提到实践中可能遇到的DDR跳变或double free等问题需要结合其他信息辅助分析。该内容是对coredump文件分析的补充,为软件异常复位定位提供了基础方法。

2026-01-19 00:18:00 197

原创 软件架构设计之性能设计(三)

本文探讨了软件架构设计中的性能优化原则。首先定义了软件性能指标包括时间能力和资源效率两大维度,提出性能优化的核心目标是在资源不变时缩短响应时间或提升吞吐量,或在性能不变时减少资源消耗。文章详细阐述了七大性能设计原则:去中心化原则(优化关键模块)、固定点原则(预分配资源)、本地化原则(数据与处理逻辑就近部署)、处理开销最小原则(任务拆解与合并)、资源共享原则(优化资源保持时间)、并行处理原则(充分利用CPU资源)以及分散负载原则(避免资源竞争)。这些原则从不同角度为软件性能优化提供了系统化的方法论指导。

2026-01-04 21:48:09 281

原创 软件架构设计之典型架构模式(一)

本文简要介绍了软件架构设计中的典型架构模式。首先阐述了架构的IEEE定义及其三大特性(组件、关系、环境),并对比了架构模式(宏观规划)与设计模式(战术实现)的区别。重点分析了7种常见架构模式:单体架构(开发简单但扩展性差)、P2P架构(去中心化但管理复杂)、微服务架构(独立部署但运维成本高)、无服务架构(按需计费但供应商锁定)、分层架构(职责清晰但性能受限)、微内核架构(高扩展性但设计复杂)和事件驱动架构(解耦度高但调试困难),通过表格清晰展示了各模式的优劣势。

2025-10-20 00:19:22 421

原创 软件架构设计之四色建模方法(二)

四色建模是一种基于领域驱动设计的可视化建模方法,通过四种颜色区分核心业务对象:玫红色(MI)表示关键业务事件,绿色(PPT)代表参与者/地点/物品,黄色(Role)指代具体角色,蓝色(Desc)描述公共特征。该方法以MI为中心,通过识别关键事件、分离角色与参与者、抽象公共特征三个步骤,建立清晰的业务模型。以电商购物为例,展示了如何将购买流程中的各要素归类到四色模型中,为系统架构设计提供结构化思路。

2025-10-03 19:07:18 884

原创 数据分析入门之数据可视化(一)

这里简单罗列了部分常见的excel,本文重点将使用查找函数、引用函数完成数据可视化。函数名语法示例功能说明示例数据结果SUM求和15AVERAGE求平均值20MAX取最大值8MIN取最小值3COUNT计数2SUMIF条件求和B列>60对应A列和SUMIFS多条件求和LEFT取左边3个字符A1=“Excel”“Exc”RIGHT取右边2个字符A1=“Excel”“el”MID从第2位取3个字符A1=“Excel”“xce”CONCAT合并文本。

2025-09-14 22:54:35 413

原创 linux下异常coredump函数调用栈解析(二)

本文介绍了Linux下软件异常复位的定位方法,主要围绕core文件解析技术展开。文章详细讲解了gdb命令的使用,包括bt命令查看调用栈、i r命令分析寄存器值、以及disass命令反汇编指令。通过实例演示,展示了如何通过寄存器分析和汇编指令追溯空指针访问等常见问题。这些方法可以帮助开发者捕捉异常第一现场,快速定位软件复位根因,适用于复杂程序的调试场景。

2025-07-20 18:07:20 391

原创 linux下异常coredump函数调用栈解析(一)

linux下软件开发中,有个重要的问题就是如何界定当前软件异常复位的根因。由于是异常复位,此时如果不依赖于问题复现,捕捉第一现场,那就只能通过一些corddump信息确定当前发生异常的调用栈,进而界定问题根因。

2025-05-05 23:20:23 395

原创 二进制文件分析之Linux下符号表裁剪对可执行文件影响(三)

变量‌:存储变量的数据类型、作用域等信息。‌函数‌:存储函数的参数类型、返回值等信息。‌其他符号‌:如常量、类型定义等。该信息在.o文件中被划分到主要两个section内,静态符号表、动态符号表。

2025-01-06 00:07:24 1255

原创 二进制文件分析之Linux下so文件编译策略&对可执行文件影响(二)

so文件全称为共享对象文件(Shared Object file),是一种。与静态链接库(.a)不同的是,so文件在程序运行时以动态链接的方式与其他程序或库进行连接(生成可执行文件较小)。

2024-12-15 02:11:24 630

原创 二进制文件分析之Linux下字符串优化对可执行文件影响(一)

作为一名软件开发,如何在开发迭代过程中减少软件二进制大小,进而降低我们所依赖的硬件成本是我们应该仔细考虑的。

2024-03-24 22:08:16 401

原创 jffs2文件系统浅析----第二章从文件创建到flash固化存储

在第一章中我们讲述了jffs2文件系统如何通过文件ino信息找到flash中对应文件的数据实体,本章将与各位探讨下如何将文件固化到flash中存储。

2024-03-09 20:02:08 521 1

原创 jffs2文件系统浅析----第一章 认识linux文件系统与flash之间的交互流程

总所周知,对于linux系统来说,上层采用VFS对所有文件系统的操作进行抽象,屏蔽了底层不同文件系统之间的实现差异。本文主要针对常用的闪存文件系统jffs2,与各位一起探讨下它的实现原理。

2024-02-21 00:26:03 1594 1

原创 jffs2文件系统浅析----第零章 认识linux文件系统架构

什么是文件系统?按照维基百科定义:即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。简单来说,文件系统可以理解成一种将flash(磁盘)抽象成文件夹,供上层用户管理和使用的机制。

2023-10-05 14:31:32 215

原创 Linux内核内存与硬件交互浅析

我们知道CPU有转移数据、计算、控制程序转移等很多功能,系统运作的核心就是CPU,CPU无时不刻的在处理着大量的事务,但有些事情却没有那么重要,比方说数据的复制和存储数据,如果我们把这部分的CPU资源拿出来,让CPU去处理其他的复杂计算事务,是不是能够更好的利用CPU的资源呢?当我们向系统注册一个驱动时,便会向驱动的管理链表插入我们的新驱动, 同样当我们向系统注册一个设备时,便会向设备的管理链表插入我们的新设备。每次有新驱动driver添加时,bus就会去匹配合适的设备,进而实现驱动和设备间的解耦。

2023-04-06 00:59:15 1543 1

原创 Gcc制作动态符号导出表(动态库)

摘要:简单介绍下在Linux下动态库(.so)中,通过GCC的C++ visibility属性可以控制共享文件导出符号

2023-02-13 16:37:16 1631

空空如也

空空如也

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

TA关注的人

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