logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

JAVA基础-就近原则和this关键字

当你在代码中使用一个变量名时,Java 编译器需要确定你到底指的是哪一个变量。它的查找规则非常简单粗暴:谁离我近,我就用谁。具体的查找顺序是:先找局部范围:看看当前方法(或代码块)里有没有定义这个变量?如果有,就直接用。再找成员范围:如果局部没找到,再去类的成员变量(属性)里找。在实际开发中,为了让代码可读性更高,我们通常把方法的参数名起得和成员变量名一模一样。比如:成员变量叫 , 方法的参数也叫

文章图片
#java#开发语言
JAVA-标签语句

Java标签语句是为循环/语句块添加标记名称的语法,主要用于精确控制多层循环的跳转。其语法为标签名:循环/语句块,配合break/continue 标签名可实现跨层级跳转。通过对比普通循环和标签语句示例可见,普通break只能跳出当前循环,而标签语句可以直接跳出指定外层循环。同样,continue标签可跳过外层循环当前轮次。使用注意事项包括:避免滥用影响可读性、标签必须紧邻循环、不能跨方法跳转。该

#java#python#算法
C++17 后的inline static优化了什么?

摘要:C++静态成员变量需在类内声明、类外初始化,以保证全局唯一性。静态成员属于类而非对象,若在头文件类内初始化会导致多个包含该头文件的.cpp文件重复定义。C++17引入inlinestatic允许类内初始化,通过inline保证单一定义。该规则本质是确保静态成员仅分配一次内存,避免链接错误。(149字)

文章图片
#c++#java#jvm
C++11 引入的独占式智能指针:unique_ptr

摘要:unique_ptr是C++11引入的独占式智能指针,用于自动管理动态内存。核心特性包括:独占所有权(禁止拷贝,仅支持移动语义)、自动析构、支持数组管理及可自定义删除器。基本用法包括使用make_unique创建、通过std::move转移所有权,以及常用成员函数如get()、reset()等。注意事项包括避免重复释放、不管理栈对象等。适用于需要独占资源所有权的场景,比shared_ptr更

#c++#算法#开发语言
深度解析 JavaScript 异步编程:从回调地狱到 Promise 的重构

回调地狱并非一种语法错误,而是一种糟糕的代码结构形态。当我们需要通过多层回调嵌套来实现串行异步任务时,代码结构会不断向右缩进、堆叠,最终形成一个可维护性极差的“回调金字塔”。

文章图片
#javascript#重构#开发语言
RAG 工作机制详解——一个高质量知识库背后的技术全流程

本文介绍了检索增强生成(RAG)技术的原理和应用。RAG通过先检索相关文档片段再生成答案的方式,有效解决了直接将大文档输入模型的弊端。文章详细拆解了RAG的五个核心环节:分片(将文档切分为片段)、索引(将片段转换为向量并存储)、召回(搜索相关片段)、重排(精选最相关片段)和生成(模型基于片段生成答案)。重点解释了向量、Embedding和向量数据库等关键技术概念,并通过对比召回与重排的不同特点,说

文章图片
#人工智能
5个被忽视的HTML原生标签,显著减少JavaScript代码量

HTML5原生标签提供了多种交互组件的内置解决方案,能显著减少JavaScript代码量。<details>和<summary>可实现内容展开/收起;<dialog>提供模态对话框功能,自带遮罩层和焦点管理;<datalist>为输入框添加自动补全建议;<meter>和<progress>可直观展示进度比例;<input

文章图片
#html#javascript#前端
3d粒子手势交互-提示词

用Three.js创建一个实时交互的3D粒子系统。要求:1. 通过摄像头检测双手张合控制粒子群的收缩与扩散;2. 当手势为1时,粒子组成文字h(),当手势为2时组成文字 ()当手势为3时,组成文字 ()3.粒子需实时响应手势变化;

文章图片
#AIGC
到底了