自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MyBatis执行器体系深度解析:批处理与事务优化实战

Override// 读操作路由</场景特征推荐执行器补充策略单条记录操作默认配置批量插入/更新(>100条)配合rewriteBatchedStatements高并发查询连接池优化读写分离架构自定义执行器基于SQL命令类型路由。

2025-07-02 15:23:45 827

原创 MyBatis架构原理解析:核心对象与执行流程深度剖析

本文深入剖析了MyBatis的核心架构与运行机制Executor的协作关系配置文件加载:XML解析与对象构建过程SQL执行全链路:从映射到结果集转换的完整流程。

2025-07-02 15:22:19 927

原创 LangChain4j第三篇: RAG的简单应用与实践

通过本文,我们学会了RAG的原理与基本应用,基于这些知识我们就可以构建属于自己的知识库,智能客服的应用了。

2025-05-24 15:00:24 565

原创 LangChain4j-第二篇 |实现声明式 AI 服务 AiService:简化 AI 集成新范式

通过本文,我们学会了AIservice 的基本使用,基于这些LangChain4j 封装的功能,可以十分便捷的构建自己的AI 应用。资源推荐。

2025-04-21 19:39:56 1376

原创 LangChain4j-第一篇 |几分钟完成deepseek 在线集成

在AI迅猛增长的势头下,作为Java 程序员,也想学习开发AI 的应用产品。好在Java AI 生态也在逐步的完善,我们也可以使用java 语言开发属于自己的应用产品。LangChain4j通过声明式编程模型,将AI开发效率提升5倍以上。今天我们来学习LangChain4j的 hello world。接下来我们启动工程,测试下接口,看能不能实现对话功能,通过接口调用可以看到,通过接口可以正常对话。1.application.properties配置如下。在pom.xml 中引入。整体pom.xml 文件。

2025-04-18 17:35:10 891

原创 k8s调度器:如何控制Pod的分布

现在,我们已经掌握了Kubernetes调度的“交通规则”!🚦 无论是精细化调度还是高可用部署,这些策略都能让你的集群运行得更智能、更高效。想象你的Kubernetes集群是一个繁忙的物流中心,节点(Node)是仓库,Pod是货物。本文将揭秘Kubernetes调度器的核心机制,教你如何用。等策略,让Pod像“智能包裹”一样精准落位!

2025-04-17 14:52:21 846

原创 资源管理与HPA:让Kubernetes应用自动伸缩

想象我们驾驶一辆汽车,手动调节油门和换挡不仅费力,还难以应对突发状况。我们的应用服务也一样,在面对突然的流量增长,内存使用暴涨该如何应对。现在,我们的应用无论是突发流量还是资源挤占,Kubernetes的自动化机制都能让系统稳如磐石。为我们提供了解决方案。接下来我们一块学习如何应用。进行配置资源请求、限制与自动伸缩策略。

2025-04-16 11:27:26 1248

原创 PV、PVC与StorageClass:Kubernetes存储管理指南

现在,你的应用数据再也不会“随风而逝”了!🛡️ 无论是数据库、日志还是用户上传的文件,Kubernetes的存储体系都能为它们提供一个安全可靠的家。

2025-04-16 09:39:20 1118

原创 Service与Ingress:如何将你的应用暴露给世界

想象Kubernetes集群是一座繁忙的办公楼,每个Pod(容器)是楼内的员工。Service 就像前台的接待员,负责将外部电话(请求)转接到正确的员工(Pod)。Ingress 则是整栋楼的门卫,管理所有入口通道,支持复杂的访客规则(如VIP通道、安全检查)。本文将教你如何通过 Service 和 Ingress 让外部用户安全访问你的应用!Pod是动态的:Pod可能随时被销毁或重建,IP地址不固定。负载均衡需求:多个Pod副本需要共享流量。Service的作用:为Pod提供稳定的虚拟IP(VIP)和DN

2025-03-09 22:08:48 875

原创 开始第一个Pod与Deployment

假设你是一名指挥官,Pod 就像你的单兵战士,而 Deployment 则是管理整支军队的智能系统。单个士兵(Pod)可以完成任务,但无法应对大规模战争——比如士兵受伤如何替补?通过本文,我们将学会如何用 Kubernetes 的。管理容器化应用,实现自动化部署与自愈。或修改YAML文件的。

2025-02-16 21:16:36 724

原创 如何在本地机器搭建Kubernetes环境

在我们学习容器技术如Docker后,准备在生产环境实际应用时候,发现事实并没有我们想象的那么简单,Docker只是解决了生产 环境的一个小的问题,其他问题比如服务发现、负载均衡、状态监控、健康检查、扩容缩容、高可用等问题。Kubernetes 就是帮我们解决这些生产中遇到的实际问题,是一个容器编排和集群管理平台。现在我们来搭建Kubernetes基础环境,无需昂贵硬件,一台普通电脑即可!我们已经成功搭建了第一个Kubernetes集群,并部署了真实应用!默认情况下,Pod只能在集群内访问。

2025-02-10 11:43:05 545

原创 Kubernetes是什么?为什么它是云原生的基石

Kubernetes(k8s)就像一个全自动的智能工厂:它管理着成千上万的机器人(容器),自动分配任务、修复故障,甚至根据订单量动态调整生产线规模。:最小的调度单元,像一个“胶囊”,用于封装1个或多个容器,其他的对象如Deployment,configMap 都是基于pod 扩展出来的。Kubernetes重新定义了应用交付的方式,成为云原生时代的“操作系统”。本文将带你理解它的本质、架构,以及它如何成为现代应用的基础设施层。:它提供统一的平台,整合存储、网络、计算资源,让开发者聚焦业务逻辑。

2025-02-06 22:24:22 1492

原创 linux 使用ollama 实现deepseek的本地化部署

最近deepseek 已经火出圈,好多人都想在自己的服务器上部署一套属于自己的大模型,训练自己的知识库,AI 助理等。废话不多说,我们开始。

2025-02-04 21:23:39 732

原创 学会这些你就掌握了docker的基本使用

REPOSITORY 就是容器的镜像名,TAG 是容器的标签,IMAGE ID 是容器的ID,是一串唯一十六进制串、在进行容器操作时候也可以用IMAGE ID 进行操作。即Docker客户端,开发者通过这个客户端使用Docker的相关指令与Docker守护进程进行交互,从而进行Docker镜像的创建、拉取和运行等操作。现在我们本地已经有镜像了,用docker run 创建并启动容器,docker run 有非常多的参数,我们介绍几个常用的。理解了容器的基本原理,下来让我们看看容器的一些基本操作。

2025-01-26 17:48:55 682

原创 maven 的常用操作

一.POM 文件介绍与基本组成<dependency><groupId>org.sonatype.nexus</groupId><artifactId>nexus-indexer</artifactId><version>2.0.0</version><package>jar</package></dependency> 元素 可

2021-11-01 22:23:31 263

原创 springBoot 获取自定义配置文件内容

EncodedResource encodedResource = new EncodedResource(new ClassPathResource("city.properties"), Charsets.UTF_8); Properties properties = PropertiesLoaderUtils.loadProperties(encodedResource); Set<Object> keySets = properti...

2021-03-05 11:57:10 290

原创 nginx 安装脚本

#!/bin/sh ###nginx install shell SOFT_PATH=/opt/nginx/ #设定安装路径NGINX_FILE=nginx-1.2.0.tar.gz #设定安装的源文件,这里没有选择rpm就是因为好操作DOWN_PATH=http://nginx.org/download/ #设定网页 if [ $UID -ne 0 ];then #判断是否是root用户 echo This script must us.

2021-01-01 20:19:46 231

原创 All mirror URLs are not using ftp, http[s] or file.centos6

https://www.jianshu.com/p/70e9dcf61ef9

2021-01-01 20:17:51 229

原创 effective java创建和销毁对象

1. 考虑用静态工厂方法替代构造器有名称,根据名称可读性高;减少不必要对象的创建;可以返回原返回类型的任何子类型,返回对象会有很大的灵活性。2. 遇到多个构造参数时候考虑使用构造器如果一个类中的可选参数较多,为了可扩展性和代码的可阅读性可以考虑采用构造器创建类。public class Tomato { private String name = ""; private final int age; private final int height; publ

2020-11-06 18:10:22 180

原创 mybatis中执行多条sql语句的方式

一下以mysql 和Oracle为例:mysql 中修改数据库连接 添加&allowMultiQueries=true 多条sql 语句用; 分割即可url: jdbc:mysql://localhost:3306/webdb?useSSL=false&useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Shanghai&allowMultiQu.

2020-10-09 11:01:05 1187

原创 redisTemplate 管道技术使用

List byteList= redisTemplate.executePipelined(new RedisCallback<Object>() { @Override public Object doInRedis(RedisConnection redisConnection) throws DataAccessException { redisConnection.openPipeline...

2020-07-02 18:25:39 2556

原创 Spring @Value 注入新值

@Value("#{}")和Value("${}") #{}表示SpEl表达式通常用来获取bean的属性,或者调用bean的某个方法,也可以表示常量 @Value("${}") 可以获取对应属性文件中定义的属性值。 在resources 目录下创建test.properties 配置文件cat.name=xiaohuamaocat.age=2实体类import org.springframework.beans.factory.annotat...

2020-06-11 14:11:12 361

原创 nginx gzip 压缩方式配置说明

gzip(GNU- ZIP)是一种压缩技术。经过gzip压缩后页面大小可以变为原来的30%甚至更小,这样,用户浏览页面的时候速度会块得多。gzip的压缩页面需要浏览 器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析。浏览器那里不需要我们担心,因为目前的巨大多数浏览器都支持解析gzip 过的页面。Nginx的压缩输出有一组gzip压缩指令来实现。相关指令位于http{….}两个大括号之间 gzip on; gzip_buffers 32 4K;...

2020-05-29 11:27:15 444

原创 jprofile 对java项目的监控

最近公司测试环境的项目内存占用过高,服务经常性挂掉,因此要对线上的项目进行分析,网上对Springboot 的项目的jprofile 的配置很少。经常自己的摸索和网上文章的参考,总结一下,希望对你有所帮助。在jprofile官网下载(jprofile官网)分别下载对应的linux 和windows 版本,我下载windows 是免安装的将下载下载的linux 版本的jprofi...

2020-04-25 08:31:37 342

原创 Docker常用命令,将服务运行在docker上

本文向大家介绍一些docker 常用的命令1.搜索镜像搜索java这个关键字的镜像仓库# docker search java-NAME:镜像仓库描述-DSCRIPTION:镜像仓库描述- STARS:镜像仓库收藏数,表示该镜像仓库的受欢迎程度,- OFFICAL:表示是否为官方仓库,该列标记为[0K]的镜像均由各软件的官方项目组创建和维 护-...

2020-03-29 22:26:58 350

原创 docker 入门及部署

1.docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口2.docker CentOS安装Docker 要求centos 系统的版本要高于 3.10 通过 uname -r 命令查看你当前的内...

2020-03-29 21:47:31 153

原创 多线程的fork/join 框架

fork/joing 框架是将一个任务分割成若干个小的子任务,最终汇总每个小任务结果后,得到大任务结果的框架,体现了分而治之的思想。框架主要做两件事情,将任务进行分割,执行任务然后汇总...

2020-03-28 23:08:12 224

原创 GPS定位轨迹抽稀之道格拉斯-普克(Douglas-Peuker)算法详解

目录1. 抽稀2. 原理3. 具体思路4. 代码示例 道格拉斯-普克算法是我们常用的一种轨迹点的抽稀算法,抽稀出来的点可以尽可能的维持原先轨迹点的大体轮廓,剔除一些非必要的点2. 原理假设在平面坐标系上有一条由N个坐标点组成的曲线,已设定一个阈值epsilon。(1)首先,将起始点与结束点用直线连接, 再找出到该直线的距离最大,同时又大于阈值epsilon的点并记...

2020-03-26 10:15:36 9191 2

原创 ThreadLocal的基本用法

关于threadLocal 类的解释是Each thread holds an implicit reference to its copy of a thread-local variable as long as the thread is alive and the {@code ThreadLocal} instance is accessible; after a thr...

2020-03-13 09:27:49 398

转载 用FastDFS一步步搭建文件管理系统

目录 一、FastDFS介绍1、简介2、FastDFS的存储策略3、FastDFS的上传过程4、FastDFS的文件同步5、FastDFS的文件下载二、安装FastDFS环境0、前言1、下载安装 libfastcommon2、下载安装FastDFS3、配置FastDFS跟踪器(Tracker)4、配置 FastDFS 存储 (Storage)5、文件上传测试三、安装Nginx1、安装nginx所需...

2018-06-26 16:31:12 205

转载 Java安全(加密、摘要、签名、证书、SSL、HTTPS)

       对于一般的开发人员来说,很少需要对安全领域内的基础技术进行深入的研究,但是鉴于日常系统开发中遇到的各种安全相关的问题,熟悉和了解这些安全技术的基本原理和使用场景还是非常必要的。本文将对非对称加密、数字摘要、数字签名、数字证书、SSL、HTTPS等这些安全领域内的技术进行一番简要的介绍,解释...

2018-06-26 14:12:57 431

原创 Spring 容器及对象创建的过程

     Spring容器负责对象的创建过程,配置并且管理他们的创建过程,从创建到被回收。Spring有多种容器的实现,分为两种类型,bean工厂,最简单的容器,提供DI的支持。应用上下文是基于beanFactory构建的,提供企业极的服务。    常用的几种应用上下文:   ① AnnotationConfigApplicationContext:从一个或多个基于java的配置类中加载上下文定义...

2018-06-13 23:57:02 5422

空空如也

空空如也

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

TA关注的人

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