Yang's Blog

Yang's Blog

Git常用命令整理
发表于2025-10-12|Git
Git常用命令全面整理本文全面整理Git日常开发中高频使用命令,按功能分类,每条命令附一句话说明,简洁易懂、可直接复制使用,覆盖95%+日常开发场景,适合新手入门及老手快速查阅。 一、基础配置(首次使用必配)用于配置Git全局信息、个性化设置,仅需首次配置,后续可按需修改。 12345678910111213141516171819202122# 配置全局用户名(提交记录中显示的用户名)git config --global user.name "你的用户名"# 配置全局邮箱(与Git账号/代码托管平台账号绑定)git config --global user.email "你的邮箱地址"# 查看所有全局配置信息(验证配置是否生效)git config --list# 查看指定配置项(如单独查看用户名/邮箱)git config user.name # 查看用户名git config user.email # 查看邮箱# 配置默认文本编辑器(如vim,提交备注时使用)git config --global core.editor vi...
Springboot集成ES
发表于2025-10-11|JavaES
Springboot集成ESES的Java客户端1. 早期阶段:Transport Client(基于 TCP) 出现版本:ES 早期版本(1.x ~ 6.x) 工作方式 基于 内部 TCP 协议 与 ES 节点通信 客户端必须与 ES 集群版本完全一致(主版本、次版本、修订版本) 优点 性能较高(长连接,无 HTTP 解析开销) 缺点 版本耦合度高,升级风险大 API 不统一,学习成本高 安全性弱(没有原生 HTTPS 支持) 状态 ES 7.x 标记为 废弃 ES 8.x 完全 移除 2. 中期阶段:High Level REST Client(HLRC) 出现版本:ES 5.0 引入,7.x 成为主力 工作方式 基于 HTTP/REST API 通信 通过封装好的 Java API 构造请求、解析响应 优点 版本兼容性更宽松(主版本一致即可) 支持 HTTPS 和各种认证方式 功能覆盖大部分 ES 操作 缺点 API 设计较老,非类型安全(依赖字符串和 Map) 构建复杂查询时容易出错 对 ES 8.x 新特性支持有限 状态 E...
ElasticSearch基本操作
发表于2025-09-22|JavaES
ElasticSearch基本操作 es对文档的基本RestFul操作汇总 操作类型 请求方式 URL 格式 说明 示例 创建文档 PUT /{index}/_doc/{id} 指定 ID 创建文档,若 ID 已存在则覆盖 PUT /users/_doc/1携带 JSON 文档:{"name":"张三","age":30} 创建文档(自动生成 ID) POST /{index}/_doc 不指定 ID,ES 自动生成唯一 ID POST /users/_doc携带 JSON 文档:{"name":"李四","age":25} 查看文档 GET /{index}/_doc/{id} 通过 ID 查询单个文档 GET /users/_doc/1 更新文档(全量替换) PUT /{index...
ElasticSearch核心概念
发表于2025-09-22|JavaES
ES核心概念 ElasticSearch是面向文档的,与关系型数据库对比如下 关系型数据库 es 数据库(databases) 索引(indices) 表(tables) types 行(rows) documents 字段(columns) fields es(集群)中包含多个索引,每个索引可以包含多个类型,每个类型下又包含多个文档,文档又包含多个字段。 物理设计: es把每个索引划分为多个分片,每个分片可以在集群的不同服务器间迁移,一个es节点就是一个集群。 逻辑设计: 一个索引当中,包含多个文档,可以通过索引->类型->文档ID索引到到某个具体的文档 文档 文档是索引和搜索数据的最小单位,以JSON格式存储,具备天然的灵活性,无需预先严格定义,但是文档中每个字段的类型非常重要,es会保存字段与类型间的映射 类型 类型是文档的逻辑容器,就像关系型数据库的表一样,类型对字段的定义称为映射,类型的概念逐渐被抛弃,高版本的es中一个索引只包含一个类型:_doc 索引 索引是类型的容器,或者说文档的集合,索引存储了映射类型的字...
Docker
发表于2025-07-01|JavaDocker
Docker 学习笔记一、Docker 基础概念1.1 什么是 DockerDocker 是一款开源的容器化部署工具,基于 Go 语言开发,能够将应用程序及其依赖、运行环境、配置文件统一打包为镜像,实现一次构建、随处运行。 其核心解决了传统部署的痛点:环境不一致、依赖冲突、部署繁琐、资源占用高、迁移困难等问题,广泛应用于开发、测试、生产全流程。 1.2 核心优势 轻量高效:容器共享宿主机内核,无需完整操作系统,资源占用远低于虚拟机,启动速度秒级响应 环境一致:打包完整运行环境,彻底解决“本地能跑、服务器报错”的环境差异问题 便携可移植:镜像可跨系统、跨服务器迁移,部署流程标准化、自动化 隔离性强:容器之间资源、进程、网络相互隔离,互不干扰 弹性扩展:配合 Compose、K8s 可快速实现服务扩容、缩容与集群部署 1.3 核心四大组件 Docker 引擎(Docker Engine):核心服务,包含守护进程、API、命令行工具,是 Docker 运行的基础 镜像(Image):只读的应用模板,包含应用、依赖、环境、配置,是创建容器的模板,不可修改 容器(Conta...
Linux
发表于2025-06-30|JavaLinux
Linux基础命令Linux的目录结构 /,根目录是最顶级的目录了 Linux只有一个顶级目录:/ 路径描述的层次关系同样适用/来表示 /home/itheima/a.txt,表示根目录下的home文件夹内有itheima文件夹,内有a.txt ls命令功能:列出文件夹信息 语法:ls [-l -h -a] [参数] 参数:被查看的文件夹,不提供参数,表示查看当前工作目录 -l,以列表形式查看 -h,配合-l,以更加人性化的方式显示文件大小 -a,显示隐藏文件 隐藏文件、文件夹在Linux中以.开头的,均是隐藏的。 默认不显示出来,需要-a选项才可查看到。 pwd命令功能:展示当前工作目录 语法:pwd cd命令功能:切换工作目录 语法:cd [目标目录] 参数:目标目录,要切换去的地方,不提供默认切换到当前登录用户HOME目录 HOME目录每一个用户在Linux系统中都有自己的专属工作目录,称之为HOME目录。 普通用户的HOME目录,默认在:/home/用户名 root用户的HOME目录,在:/root FinalShell登...
MyBatisPlus扩展功能
发表于2025-02-19|JavaMybatis
3.扩展功能3.1.代码生成在使用MybatisPlus以后,基础的Mapper、Service、PO代码相对固定,重复编写也比较麻烦。因此MybatisPlus官方提供了代码生成器根据数据库表结构生成PO、Mapper、Service等相关代码。只不过代码生成器同样要编码使用,也很麻烦。 这里推荐大家使用一款MybatisPlus的插件,它可以基于图形化界面完成MybatisPlus的代码生成,非常简单。 3.1.1.安装插件在Idea的plugins市场中搜索并安装MyBatisPlus插件, 然后重启你的Idea即可使用。 3.1.2.使用刚好数据库中还有一张address表尚未生成对应的实体和mapper等基础代码。我们利用插件生成一下。 首先需要配置数据库地址,在Idea顶部菜单中,找到other,选择Config Database 在弹出的窗口中填写数据库连接的基本信息 然后再次点击Idea顶部菜单中的other,然后选择Code Generator 在弹出的表单中填写信息 最终,代码自动生成到指定的位置了: 3.2.静态工具有的时候Service...
MyBatisPlus核心功能
发表于2025-02-19|JavaMybatis
2.核心功能刚才的案例中都是以id为条件的简单CRUD,一些复杂条件的SQL语句就要用到一些更高级的功能了。 **2.1.**条件构造器除了新增以外,修改、删除、查询的SQL语句都需要指定where条件。因此BaseMapper中提供的相关方法除了以id作为where条件以外,还支持更加复杂的where条件。 参数中的Wrapper就是条件构造的抽象类,其下有很多默认实现,继承关系如图: Wrapper的子类AbstractWrapper提供了where中包含的所有条件构造方法: 而QueryWrapper在AbstractWrapper的基础上拓展了一个select方法,允许指定查询字段: 而UpdateWrapper在AbstractWrapper的基础上拓展了一个set方法,允许指定SQL中的SET部分: 接下来,我们就来看看如何利用Wrapper实现复杂查询。 2.1.1.QueryWrapper无论是修改、删除、查询,都可以使用QueryWrapper来构建查询条件。接下来看一些例子: 查询:查询出名字中带o的,存款大于等于1000元的人。代码如下: 12...
MyBatisPlus快速入门
发表于2025-02-19|JavaMybatis
1.快速入门大家在日常开发中应该能发现,单表的CRUD功能代码重复度很高,也没有什么难度。而这部分代码量往往比较大,开发起来比较费时。 因此,目前企业中都会使用一些组件来简化或省略单表的CRUD开发工作。目前在国内使用较多的一个组件就是MybatisPlus。 当然,MybatisPlus不仅仅可以简化单表操作,而且还对Mybatis的功能有很多的增强。可以让我们的开发更加的简单,高效。 通过学习MybatisPlus,我们要达成下面的目标: 能利用MybatisPlus实现基本的CRUD 会使用条件构建造器构建查询和更新语句 会使用MybatisPlus中的常用注解 会使用MybatisPlus处理枚举、JSON类型字段 会使用MybatisPlus实现分页 为了方便测试,我们先创建一个新的项目,并准备一些基础数据。 1.1.环境准备复制课前资料提供好的一个项目到你的工作空间(不要包含空格和特殊字符) 接下来,要导入两张表,在课前资料中已经提供了SQL文件 最后,在application.yaml中修改jdbc参数为你自己的数据库参数: 1234567891011s...
Redis原理-内存回收
发表于2024-12-04|JavaRedis
3、原理篇-Redis内存回收3.1、过期key处理Redis之所以性能强,最主要的原因就是基于内存存储。然而单节点的Redis其内存大小不宜过大,会影响持久化或主从同步性能。我们可以通过修改配置文件来设置Redis的最大内存: 当内存使用达到上限时,就无法存储更多数据了。为了解决这个问题,Redis提供了一些策略实现内存回收: 内存过期策略 在学习Redis缓存的时候我们说过,可以通过expire命令给Redis的key设置TTL(存活时间): 可以发现,当key的TTL到期以后,再次访问name返回的是nil,说明这个key已经不存在了,对应的内存也得到释放。从而起到内存回收的目的。 Redis本身是一个典型的key-value内存存储数据库,因此所有的key、value都保存在之前学习过的Dict结构中。不过在其database结构体中,有两个Dict:一个用来记录key-value;另一个用来记录key-TTL。 这里有两个问题需要我们思考:Redis是如何知道一个key是否过期呢? 利用两个Dict分别记录key-value对及key-ttl对 是不是TTL...
1234…10
avatar
Yang
萌新打怪升级中......
文章
91
标签
204
分类
18
Follow Me
公告
This is my Blog
最新文章
FastAPI RBAC权限管理系统实战2026-06-10
FastAPI项目实战2026-05-31
SQLAlchemy2.0全面实战2026-05-28
FastAPI异步编程与高级特性2026-05-28
FastAPI核心基础2026-05-28
分类
  • Git1
  • Java73
    • Docker1
    • ES3
    • JavaSE17
    • LangChain4J5
    • Linux1
    • Mybatis3
标签
读写分离 故障转移 特征工程 ndarray 缓冲流 Validation HttpMessageConverter WorkQueues 序列化流 Redis入门 会话记忆 面向对象 高阶API AOF 模板方法模式 通知 Lua脚本 分页插件 MarkDown RESTful Stream流 反射 RequestMapping 建造者模式 倒排索引 极大似然估计 策略模式 TCP 欧氏距离 IntSet 抽象工厂模式 bean作用域 类加载器 BigKey 依赖注入 master 声明式事务 set session 增量同步
归档
  • 六月 2026 1
  • 五月 2026 5
  • 四月 2026 9
  • 一月 2026 5
  • 十月 2025 2
  • 九月 2025 2
  • 七月 2025 1
  • 六月 2025 1
网站信息
文章数目 :
91
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By Yang框架 Hexo 7.3.0|主题 Butterfly 5.5.5-b1