自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据库高频面试核心知识点

数据库高频面试核心知识点摘要 本文将数据库面试核心知识点分为三部分: 数据库存储引擎:重点对比InnoDB与MyISAM特性差异,InnoDB支持事务、行锁、外键,适合高并发业务;MyISAM查询快但不支持事务,适合只读场景;Memory引擎内存存储,适用于临时数据。 索引类型与设计:深入解析B+树索引结构及其优势,对比B树与B+树的区别;介绍主键索引、联合索引等逻辑类型;提供索引设计原则和常见失效场景(如运算、函数、模糊查询等)。 SQL优化与性能分析:讲解慢SQL定位工具和优化方法,包括查询语句优化(避

2026-05-30 01:53:46 330

原创 SpringBoot 核心面试知识点(自动配置/启动流程/注解/Starter)

SPI 是服务发现机制,框架定义接口,第三方实现,框架通过配置文件自动加载实现类。创建 Maven 项目。定义核心功能类业务工具类、服务类。编写自动配置类用@Bean定义 Bean。编写条件注解控制 Bean 何时生效。配置 SPI 文件在中注册配置类。打包安装到本地仓库其他项目直接引入依赖即可使用。Import 导入选择器 → 读取 SPI → 条件过滤 → 自动装配。SPI服务发现机制,配置文件定义实现类,SpringBoot 自动加载。Starter 自定义。

2026-05-28 10:12:44 378

原创 Spring核心面试知识点(IoC/Bean生命周期/AOP/事务)

Spring IoC 启动就是加载配置 → 扫描Bean → 创建Bean → 初始化Bean → 完成容器就绪的全过程。的refresh()方法。IoC启动:加载定义 → 扫描 → 预处理 → 实例化单例 → 完成启动。Bean生命周期:实例化 → 赋值 → Aware → 前后置 → 初始化 → 代理 → 使用 → 销毁。AOP代理:有接口JDK,无接口CGLIB,final无法代理。事务传播:REQUIRED默认合并,REQUIRES_NEW新建独立。事务失效8场景。

2026-05-27 16:35:45 247

原创 JVM垃圾回收与调优核心面试笔记(引用计数/GC算法/CMS/G1/参数调优)

引用计数(循环引用BUG)可达性分析(HotSpot标准)。复制(新生代)、标记清除(CMS)、标记整理(老年代)。4阶段2次STW,低延迟但有碎片、浮动垃圾、CPU敏感。Region分区、垃圾优先、停顿可控,生产首选。固定堆、合理新生代、选对收集器、开启监控。需要我把本文整理成一页A4面试背诵清单(纯要点+口诀)吗?

2026-05-27 15:43:16 374

原创 Java JVM核心知识点复习笔记

5.1.1 核心原理双亲委派模型的核心逻辑在ClassLoader的loadClass方法中实现,默认逻辑是“先委派父类加载,父类加载失败再自己加载”;自定义类加载器时,重写loadClass方法,修改委派逻辑(如先自己加载,加载失败再委派父类加载),即可破坏双亲委派。5.1.2 示例代码(JDK8与JDK21通用)// 自定义类加载器,破坏双亲委派// 重写loadClass方法,修改委派逻辑@Override// 1. 检查该类是否已被加载Class<?

2026-05-06 23:26:45 413

原创 Java并发核心面试知识点

Java并发核心知识点摘要 本文总结了Java并发编程中的五大核心考点: 线程生命周期与start/run区别:详细分析了start()创建新线程与run()同步执行的本质区别,对比了JDK8和JDK21的线程状态差异。 线程池核心机制:拆解了ThreadPoolExecutor的7大参数(核心线程数、最大线程数等),阐述了线程池的工作流程和4种拒绝策略。 synchronized锁升级:描述了从偏向锁到重量级锁的完整升级流程及其触发条件。 volatile关键字:重点说明其可见性和禁止指令重排序两大特性。

2026-05-06 23:03:24 436

原创 AI学习_05_LangChain使用

api key已经再之前文档中放到环境变量里面了,这里直接调用即可。

2026-05-06 23:01:57 35

原创 AI学习_04_向量概念

向量(Vector)就是文本的 “数学身份证”:它把一段文字的语义信息,转换成一串固定长度的数字列表,让计算机能 “看懂”文字的含义并做相似度计算。简单来说,就是让计算机更方便的理解不同的文本内容,是否表述的是一个意思。如何快速学习RAGRAG如何快速学会人类可能知道是一个意思,但是计算机却不知道可以参考下图理解向量(Vector)就是文本的 “数学身份证”它把一段文字的语义信息,转换成一串固定长度的数字列表,让计算机能“看懂” 文字的含义并做相似度计算。

2026-04-22 21:52:22 387

原创 AI学习_03_LangChain_RAG基础概念

LLM的知识不是实时的,模型训练好后不具备自动更新知识的能力,会导致部分信息滞后LLM领域知识是缺乏的,大模型的知识来源于训练数据,这些数据主要来自公开的互联网和开源数据集,无法覆盖特定领域或高度专业化的内部知识幻觉问题,LLM有时会在回答中生成看似合理但实际上是错误的信息数据安全性解释:RAG(Retrieval-Augmented Generation)即检索增强生成,为大模型提供了从特定数据源检索到的信息,以此来修正模型的答案。

2026-04-22 21:18:32 403

原创 AI学习_02_提示词工程

提示工程(Prompt Engineering),也称为 In-ContextPrompting,是指在不更新模型权重的情况下如何与大模型交互以引导其行为以获得所需结果的方法。在人工智能领域,Prompt 指的是用户给大型语言模型发出的指令。

2026-04-19 16:47:52 422

原创 AI学习_01_调用大模型api_OpenAI库基础使用

本文介绍了如何使用OpenAI库调用远程大模型API。主要内容包括:1) 配置环境变量DASHSCOPE_API_KEY和OPENAI_API_KEY;2) 使用openai库创建客户端并调用模型,支持流式输出;3) 消息格式说明,包括system、assistant和user三种角色的作用;4) 模型响应数据结构解析;5) 演示了模型的记忆功能,通过对话上下文回答问题。示例代码展示了如何实现完整的调用流程,包括参数设置、流式处理响应和记忆功能测试。

2026-04-19 15:26:10 84

原创 HashSet/LinkedHashSet/TreeSet 原理解析

文章摘要 Set接口是Java集合框架中用于存储不可重复元素的核心接口,具有去重和无索引的特点。其三大实现类HashSet、LinkedHashSet和TreeSet均基于对应的Map实现,利用Map的Key特性实现去重功能。 HashSet是最常用的实现,底层基于HashMap,具有O(1)的访问效率但无序;LinkedHashSet继承HashSet,基于LinkedHashMap实现,额外维护插入顺序;TreeSet基于TreeMap实现,保证元素有序性但效率稍低。 所有Set实现类都采用"

2026-04-14 21:51:35 414

原创 HashSet/LinkedHashSet/TreeSet 原理深度解析

本文深入解析Java集合框架中HashSet、LinkedHashSet和TreeSet的实现原理与核心差异。三者均基于Map实现元素去重,但底层结构不同:HashSet依赖HashMap实现高效无序存储;LinkedHashSet通过LinkedHashMap在去重基础上保留插入顺序;TreeSet利用TreeMap实现元素自动排序。文章从继承体系、数据结构、去重机制和有序性等维度进行对比,HashSet和LinkedHashSet通过hashCode()和equals()去重,TreeSet则依赖比较器

2026-03-24 20:25:16 422

原创 ArrayList 与 LinkedList 源码深度对比解析

/ ArrayList 继承结构。

2026-03-24 20:18:13 406

原创 HashMap面试知识点

本文系统梳理了Java中HashMap的核心知识点,包括其数组+链表+红黑树的复合数据结构设计,重点分析了put方法的执行流程。通过扰动函数优化哈希值计算,利用(n-1)&hash高效定位桶下标,并详细阐述了链表和红黑树在解决哈希冲突时的协同机制。文章还对比了JDK 1.7与1.8版本的差异,如红黑树引入和头尾插法变更,帮助读者深入理解HashMap的高效实现原理及其线程不安全特性。

2026-03-15 18:47:16 447

原创 frp与云服务器内网穿透

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

2025-02-16 19:17:18 910

原创 Windows 本地部署大模型 OpenWebUI+Ollama

到在这里本地大模型就部署好啦~再运行open-webui。进去后可自动识别本地大模型。运行open-webui。

2025-02-09 19:05:53 853

原创 3、RabbitMQ_工作模式

工作队列与简单模式相比,一个生产者、多个消费者(排它关系),多个消费端共同消费同一个队列中的消息使用场景:对于消息生产速度大于消费速度场景,可以增加消费者减少单个消费者压力在订阅模型中,多了一个Exchange 角色:Exchange:交换机(X)。接收生产者发送的消息;处理投递消息,例如递交给某个特别队列、递交给所有队列、或是将消息丢弃。具体操作根据交换机类型来定义:Fanout:广播,将消息交给所有绑定到交换机的队列Direct:定向,把消息交给符合指定routing key 的队列。

2024-03-27 10:59:07 1147 2

原创 2、RabbitMQ_安装

使用yum升级gblic 版本。上传安装包到linux 环境。安装rabbitMQ。启动rabbitmq。关闭rabbitMQ。重新设置一下主机名称。

2024-03-18 22:23:22 1807

原创 Linux_防火墙无法启动问题

但是我还是不知知道为什么,按照着执行了一下就成功启动了。我和我的好哥哥拼死解决最终找到了一篇博文。当查看防火墙状体的时候报如下错误。

2024-03-06 23:54:14 1280

原创 1、MQ_介绍、优缺点、类型等

AMQP,即 Advanced Message Queuing Protocol(高级消息队列协议),是一个网络协议,是应用层协议的一个开放标准,为面向消息的中间件设计。2006年,AMQP 规范发布。RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。官网地址:https://www.rabbitmq.com/

2024-03-06 22:15:45 1779

原创 Mybatis_plus-逻辑删除、通用枚举、自动填充、插件等

自定义实现类 MyMetaObjectHandler@Slf4j@Component@Override@Override。

2024-03-03 17:30:58 1162

原创 Mybatis_plus-基础

文档地址:https://baomidou.com/(简称 MP)是一个的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

2024-03-03 17:12:53 1044

原创 7、Linux软件包管理、软件安装

概述:用于互联网下载包的打包及安装工具,它生成具有.RPM扩展名的文件。RPM是 RedHat Package Manager(RedHat软件包管理工具)的缩写,似windows的setup.exe,这一文件格式名称虽然打上了RedHat的标志,但理念是通用的。Linux的分发版本都有采用(suse,redhat, centos等等),算是公认的行业标准。概述:Yum 是一个Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器(在公网上)自动下载RPM包并且安装,可以自动处理依赖性关系。

2024-02-25 10:18:07 1148

原创 6、进程、服务管理

服务:是支持Linux运行的一些必要程序,本质上也是进程,叫守护进程。比如sshd、防火墙等。

2024-02-25 10:09:38 1031

原创 Linux_后台运行Java程序

【代码】Linux_后台运行Java程序。

2024-02-23 13:56:53 439

原创 git_新建仓库提交旧项目

【代码】git_新建仓库提交旧项目。

2024-02-22 14:28:42 895

原创 5、Linux 常用指令

概述:Linux/Unix 文件调用权限分为三级(Owner)(Group)(Other Users)第一不要轻易去动文件权限,除非你的leader让你去动留个心眼,避免同事坑你的时候,然后害你加班。

2024-02-18 15:37:44 1219 2

原创 Java_代码生成_crud代码生成器

前言对于单个表的增删改查都是很固定的,总是手写没有太多意义,而且浪费时间,研究了一下mybatis-plus的代码生成器,可以直接使用他的代码生成器去生成代码生成前置条件依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2

2024-01-10 17:09:40 1320 2

原创 发布_Windows系统服务器发布Java程序

Windowscmd。

2024-01-09 16:04:01 733

原创 vue_域名部署无法访问后端

目前部署的比较另类,因为服务器为windows,目前还不是很会nginx,所以现在就只能在服务器上安装nodejs,然后直接使用命令行的方式运行项目。

2023-12-15 16:02:42 1067

原创 Java_Mybatis_动态SQL

需求:按年龄19查找,如果id 不空按id 查找,名字不空按名字查找,否则按班级id 查找。动态 SQL 的另一个常见使用场景是对集合进行遍历(尤其是在构建 IN 条件语句的时候)suffixOverrides:去掉 trim 标签内容最后面的值。概述:不想使用所有条件时候,他们可以从多个条件中选择一个使用,prefix:可以在 trim 标签内容前面添加内容。suffix:在 trim 标签后面添加内容。需求:查询所有的学生信息,用注解方式实现。中使用动态 SQL,可以使用。

2023-12-13 17:25:44 1628

原创 Java_Mybatis_缓存

二级缓存:是 sqlSessionFactory 级别的,只要使用同一个 sqlSessionFactory 创建的 sqlSession 查询同一 sql 都可以使用缓存。sqlSession 级别的,也就是说,使用同一个 sqlSession 查询同一 sql 时,直接从缓存数据中取,不需要操作数据库。使用之前必须在mapper.xml 文件中添加。

2023-12-13 17:03:40 669

原创 Java_mybatis-结果集映射-ResultType&ResultMap

优点:可以实现延迟加载,前提是要配置sql 写起来变得简单了缺点:发起了多条 sql,正常查询只发起一条sql。

2023-12-13 17:01:53 1748

原创 Java_EasyExcel_导入_导出Java-js

【代码】Java_EasyExcel_导入_导出Java-js。

2023-12-12 21:48:12 684

原创 vue_table导出excel

【代码】vue_table导出excel。

2023-12-11 14:25:52 569

原创 4、Linux_vi/vim编辑器

vi编辑器:是Linux和Unix上最基本的文本编辑器,工作在字符模式下。由于不需要图形界面,vi是效率很高的文本编辑器。vim是:vi的增强版,比vi更容易使用。vi的命令几乎全部都可以在vim上使用。

2023-12-07 17:32:15 528

原创 SqlServer_更改数据类型

【代码】SqlServer_更改数据类型。

2023-12-07 15:46:24 958

原创 3、Linux_系统用户管理

Linux的组类似于角色,系统可以对有共性的多个用户进行统一的管理。每一个用户都至少属于一个组,创建用户时如果不指定组,会默认创建一个跟用户名相同的组,并且把新创建的用户分配到组中,root用户默认属于root组。

2023-12-07 14:55:07 599

原创 Java_原生api分页

【代码】Java_原生api分页。

2023-12-06 16:45:18 559

Windows运行open-webui所需的模型文件

详情请看我的博客:Windows 本地部署大模型 OpenWebUI+Ollama

2025-02-09

python django框架

python django框架

2024-06-30

第3章 Python面向对象编程.pdf

第3章 Python面向对象编程.pdf

2024-06-18

代码生成器,可以生成crud的mybatis-plus插件的功能

代码生成器,可以生成crud的插件,这里只是代码生成器的代码,还需要一些基础类,比如BaseController、ApiResult、PageParam、PageResult等,生成功出来时带有mapper层、service层、controller层,并拥有批量删除,批量更新,批量保存,详情看本人博客:Java_代码生成_crud代码

2024-01-10

空空如也

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

TA关注的人

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