自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ljh_learn_from_base的博客

高楼平地起,须先根基坚!

  • 博客(243)
  • 资源 (5)
  • 收藏
  • 关注

原创 Spring Boot 最佳实践:构造器注入+策略工厂,让你的代码更健壮、更可测

本文介绍了在Spring Boot中使用构造器注入构建策略工厂的最佳实践。首先定义策略接口BizStrategy,包含执行方法和类型标识方法。然后通过自定义注解@BizTypeAnnotation标记策略实现类(如Strategy01、Strategy02),包含服务编码和场景等元信息。核心是策略工厂BizStrategyFactory,通过构造器注入所有策略实现,利用注解元信息构建策略映射表,提供根据服务编码和场景获取具体策略的方法。这种设计完美结合了Spring的自动收集能力和类型安全,避免了硬编码,实

2026-06-26 15:12:30 407

原创 【看完不亏系列】spring boot 使用tcp协议接收客户端发送的xml数据,并处理数据

本文介绍了在Spring Boot中实现TCP服务器接收并处理XML数据的方法。首先创建TcpServerService组件,通过@PostConstruct注解在项目启动时自动开启ServerSocket监听指定端口(8090),使用线程池处理客户端连接请求。然后实现ClientHander客户端处理器(原型Bean),负责解析固定6位长度头+XML内容的报文格式,处理业务逻辑后返回响应。文章提供了完整的代码实现,包括异常处理、资源释放和日志记录等功能,展示了Spring Boot与TCP协议整合处理XM

2026-06-26 10:56:28 157

原创 java8日期工具类DateTimeUtil【全部使用LocalDateTime 和LocalDate】

java8日期工具类DateTimeUtil【全部使用LocalDateTime 和LocalDate】

2026-06-23 11:17:35 292

原创 【看完不亏系列】spring boot多yml配置+pom.xml配置多spring.profiles.active激活

本文介绍了Spring Boot项目通过Maven的pom.xml动态管理多环境配置的方法。通过在application.yml中使用@env@占位符引用Maven属性,并在pom.xml中定义不同<profile>(dev/uat/prod)设置对应的<env>值,实现环境切换。默认激活dev环境,打包时通过Maven命令-P参数指定profile即可自动匹配对应配置。配置完成后需刷新Maven使变更生效,IDEA面板会显示当前激活的环境。这种方案实现了配置与代码分离,便于多环境部署。

2026-06-23 09:23:45 454

原创 IpUtil 获取客户端真实IP地址和获取服务器ip地址工具类

该工具类提供获取客户端真实IP和服务器IP的功能。getIp()方法通过检查多个代理头(X-Forwarded-For等)获取客户端真实IP,支持多层代理,并对无效IP进行校验和兜底处理。getLocalIp()方法通过遍历网卡信息获取服务器IPv4地址,跳过回环/虚拟/未启用接口。两者在异常时默认返回"127.0.0.1"。代码包含详细日志记录,便于调试,并通过方法封装保障了健壮性,适用于Web服务场景的IP获取需求。

2026-06-22 14:59:53 273

原创 OkHttp3Utils 工具类(基于 4.9.3版本)

OkHttp3 工具类(基于 4.9.3)特性: - 单例 OkHttpClient(连接池、线程池复用) - 同步/异步 GET 请求 - 同步/异步 POST 请求(支持 FormBody、JSON、普通字符串、字节数组) - 自定义 Headers、超时

2026-06-22 14:13:53 179

原创 【Spring 中使用 ShedLock 实现分布式锁任务调度】

摘要:本文介绍如何在Spring中使用ShedLock实现分布式定时任务调度,解决多实例环境下任务重复执行问题。ShedLock通过共享存储(如数据库)确保同一时间只有一个节点执行任务。 关键步骤: 依赖配置:引入shedlock-spring和JDBC Provider依赖。 数据库准备:创建shedlock表记录锁信息。 Spring配置:配置LockProvider并启用@EnableSchedulerLock。 任务注解:在@Scheduled方法上添加@SchedulerLock,定义锁名称和超时

2026-06-22 10:48:33 316

原创 mysql8.0 创建全文索引及mysql 8.0.32创建全文索引报错 Duplicate entry null-null的解决方案

mysql8.0 创建全文索引及mysql 8.0.32创建全文索引报错 Duplicate entry null-null的解决方案

2025-04-18 13:26:46 1191

原创 mysql窗口函数(Window Functions)详解2增强

窗口函数是 SQL 中的一种强大工具,它允许你在不改变原始表行数的情况下对数据进行聚合计算。与传统的 `GROUP BY` 不同,窗口函数不会将多行合并为一行,而是可以在每一行上应用聚合操作,同时保留原始的行结构。这使得窗口函数非常适合用于复杂的分析任务

2025-02-10 11:10:57 1020

原创 mysql窗口函数(Window Functions)详解

窗口函数是 SQL 中的一种强大工具,它允许你在不改变原始表行数的情况下对数据进行聚合计算。与传统的 `GROUP BY` 不同,窗口函数不会将多行合并为一行,而是可以在每一行上应用聚合操作,同时保留原始的行结构。这使得窗口函数非常适合用于复杂的分析任务

2025-02-08 16:11:22 1179

原创 mysql自连接 处理层次结构数据

mysql自连接 处理层次结构数据

2025-02-08 15:22:41 1047

原创 后端java工程师经验之谈,工作7年,mysql使用心得

后端java工程师经验之谈,工作7年,mysql使用心得

2025-02-08 09:12:01 1469

原创 Spring/Spring Boot服务端主动推送技术【server send event】简称sse,看完不亏系列

Spring/Spring Boot服务端主动推送技术【server send event】简称sse,看完不亏系列Spring Boot服务端主动推送消息给前端。

2024-04-15 23:38:11 4255

原创 看了mysql8.0官网,发现set sql_mode原来有可以不用修改my.cnf或mysqld-auto.cnf就可以持久化系统变量的方式

看了mysql8.0官网,发现set sql_mode原来有可以不用修改my.cnf或mysqld-auto.cnf就可以持久化系统变量的方。mysql set 语法全解,看完不亏系列

2024-04-14 10:48:00 1606

原创 【Java11下载、安装、部署指南】

【Java11下载、安装、部署到线上指南】

2024-03-20 15:48:53 28743 3

原创 从JDK8迁移到更高版本的JDK【Java8迁移到Java11指南】【Java8升级到Java11指南】

【Java8迁移到Java11指南】

2024-03-20 15:34:15 3897

原创 一文搞定spring aop面向切面编程【高级使用篇】

一文搞定spring aop面向切面编程【高级使用篇】

2023-11-15 15:52:34 464

原创 绘制一张图片,并将这张图上传到远程服务器【即对接远程服务器的文件上传接口】,不调用feign。从指定url中获图像数据,并上传到远程文件服务器【不调用feign】

绘制一张图片,并将这张图上传到远程服务器【即对接远程服务器的文件上传接口】,不调用feign。从指定url中获图像数据,并上传到远程文件服务器【不调用feign】

2023-11-06 10:22:56 178

原创 jdk 11 自带的HttpClient

jdk 11 自带的HttpClient

2022-12-03 05:05:16 1524

原创 最全面的window dos/bat 常用命令

史上最全面的window dos/bat 常用命令

2022-11-14 02:27:31 2155

原创 【23种设计模式之责任链模式实战】--请假审批

【23种设计模式之责任链模式实战】--请假/调薪审批

2022-09-16 02:17:59 1202 1

原创 23种设计模式之【使用【事件委托】来完善观察者模式】

23种设计模式之【使用【事件委托】来完善观察者模式】

2022-09-14 01:05:53 249

原创 23种设计模式之【装饰设计模式】实战--咖啡搭配及价格动态计算

装饰者设计模式:在不改变原有对象功能代码的情况下,动态地给一个对象添加新功能。* 一个抽象类,两个分支 * | ——单点商品【组件】 * | ——装饰类(持有被装饰对象的引用)装饰类和被装饰的类具有相同的父类 * 何时使用:在不想增加很多子类的情况下扩展类。* 优点:装饰类和被装饰类可以独立发展,不会相互耦合,既是is a Component 又有 has a Component * 装饰模式是继承的一个替代模式,装饰模式可以动态扩展一个实现类的功能。* 缺点:多层装饰比较复杂。

2022-09-08 22:50:49 587

原创 再也不怕面试官问spring service 是jdk动态代理还是cglib动态代理了 一文秒懂

//如果该controller、service、dao 实现了接口 使用jdk动态代理 如果 AdvisedSupport#setOptimize 为TRUE 或者 // 或者 AdvisedSupport#setProxyTargetClass 为TRUE // 或者 AdvisedSupport#setInterfaces 为TRUE //使用cglib动态代理...

2022-06-30 15:50:52 417

原创 23种设计模式之反射与工厂设计模式

23种设计模式之反射与工厂设计模式

2022-06-29 18:00:48 359

原创 23种设计模式之jdk动态代理设计模式实战

JDK中的动态代理是通过反射类Proxy以及InvocationHandler回调接口实现的;JDK中所要进行动态代理的类必须要实现一个接口需求:计算一个类中,每个被调用的方法运行时长

2022-06-28 16:19:51 365

原创 23中设计模式之访问者visitor设计模式

访问者设计模式的使用场景

2022-06-27 16:33:15 397

原创 java自定义回调函数 需求描述:我正在敲着代码 让弟弟去帮我买瓶可乐,弟弟卖完可乐之后通知我

java自定义回调函数 需求描述:我正在敲着代码 让弟弟去帮我买瓶可乐,弟弟卖完可乐之后通知我

2022-06-13 14:33:45 216

原创 MySQL 经验总结

mysql 经验总结

2022-06-06 16:30:02 1209

原创 史上最全的Python字符串格式化【字符串模板】总结【学习Python的第一天,记录总结一下,以备不时之需】

Python字符串格式化的几种方法wc 老外直呼内行方法一: 使用%s格式化方法二: 使用字母f加字符串格式化,与方法三类似方法三: 方法三:使用{}格式化方法三: 使用 string 的Template对象格式化贴上代码直接直观感受一下吧wc 老外直呼内行方法一: 使用%s格式化方法二: 使用字母f加字符串格式化,与方法三类似方法三: 方法三:使用{}格式化方法三: 使用 string 的Template对象格式化贴上代码直接直观感受一下吧学习Python的第一天,记录总结一下,以备不

2022-01-20 14:19:59 927

原创 使用Java8 流API 按照指定区间进行分组【Java8按区间分组】【Java8按范围分组】&使用Java8 流API 等值分段,每n个为一组

//需求:给定一个对象列表,使用Java8 流API 按照指定区间进行分组,// 字数为2到5字的为一组,字数为8到9字的为一组,//字数大于9字的为一组,并统计每组的数量//后期需求变更,可能会添加额外的组...

2022-01-08 13:27:21 2102 2

原创 mysql查找出每个用户最新的一条订单的5种解决思路

mysql查找出每个用户最新的一条订单的5种解决思路一、使用窗口函数使用窗口函数– 使用窗口函数:可以视为规范固定写法row_number() over(partition by 需要分区的列 order by xxx [asc|desc])1.解释row_number() 函数表示行号,如果后面紧跟 over函数,则表示窗口函数,窗口函数分为:聚合窗口函数和非聚合窗口函数像:row_number() 、rank() 、dense_rank()等后面加上over子句就是非聚合窗口函数,像m

2021-11-11 23:53:09 8882 2

原创 Linux shell 编程基础之一

Linux shell 编程基础变量变量命名local 声明局部变量,只在函数内生效转义:笔记本电话键盘第二排左上角的字符都是元字符,需要使用\转义引用:脚本或命令的返回值 $?命令替换变量shell和javascript 一样,是一种弱类型的脚本语言,所以shell变量也是弱类型的,即不需要指定其变量类型如:定义金额为2,并显示;shell变量严格区分大小写局部变量:在同一个shell窗口中有效,不同shell窗口相互独立全局变量:即环境变量,在shell脚本中,即在xxx.sh文

2021-03-19 03:31:10 783

原创 mysql性能优化

1.MySQL版本: 5.x: 5.0-5.1:早期产品的延续,升级维护 5.4 - 5.x : MySQL整合了三方公司的新存储引擎 (推荐5.5) 安装:rpm -ivh rpm软件名 如果安装时 与某个软件 xxx冲突,则需要将冲突的软件卸载掉: yun -y remove xxx 安装时 有日志提示我们可以修改密码:/usr/bin/mysqladmin -u r...

2019-07-03 18:17:15 2166

原创 java System.out.print();在控制台上修改输出颜色

注意:我使用的编辑器是vs code,IDEA 也是可以的,eclipse就不知道了有什么不懂的,欢迎下方评论如果我们想在控制台上输出其它颜色,比如红色,这是我们可能会用System.err.println()但是如果我们想输出其它颜色呢。我们可以如下操作之前一直习惯使用println()方法,不过println()方法要使用+拼接字符串,使用fromat()方法与使用printl...

2019-06-14 16:31:49 31026 16

原创 模拟100用户并发访问数据库,结果测的MySQL并发访问数是大概是100,否则会抛出 too many connection 异常

编写数据库连接工具类package com.security.ljh.secutiryDemo;import java.sql.*;/** * 连接数据库 */public class MysqlUtils { private static final String URL="jdbc:mysql://localhost:3306/test"; static {...

2019-05-31 15:41:55 1394

原创 java8 新的日期时间API描述

包java.util.time日期,时间,瞬间和持续时间的主要API。例子链接:LocalDate之呕心沥血小Demo请参阅:  说明 类摘要 类 描述 Clock时钟 一个时钟,使用时区提供对当前时刻,日期和时间的访问。 Duration持续时间 基于时间的时间量,例如'34.5秒'。 Ins...

2018-11-23 01:49:41 414

原创 java7种常见的排序算法:选择排序、冒泡排序、直接插入排序、快速排序、希尔排序、归并排序、堆排序

链接:java 7 种算法的完整实例及测试一、选择排序/** * 选择排序原理:挨个比较 * 外层 循环长度-1次,内层循环每次从第二个开始 * 将外层循环中的值挨个与内层循环中的元素作比较 * 时间复杂度为:O(N^2) * * @param array * @return */ public st...

2018-09-28 01:45:19 457

转载 java数据结构之手动实现单链表

package com.example.demo;// 1、定义要保存对象的类:class Phone {// 此类提供要保存的数据 private String brand; private double price; public Phone() { } public Phone(String brand, double price) { ...

2018-09-24 16:27:16 239

原创 Java快速失败(fail-fast)和安全失败(fail-safe)区别

非线程安全的集合类都是快速失败的线程安全的集合类以及java.util.concurrent包下的集合类都是安全失败的 /*一、快速失败当在迭代一个集合的时候,如果集合中的元素大于等于3个,即使在同一线程,如果使用list.remove(ele)或list.add(ele)而不是使用迭代器的remove(),同样会抛出异常Exception in thread "main" java...

2018-09-17 21:45:53 329

mibble-2.9.3 和 mibble-mibs-2.9.3.rar

使用java 的两个mibble-mibs-2.9.3.jar 和 mibble-2.9.3.jar解析MIB文件

2019-05-31

js图片轮播

js,图片轮播, js图片轮播, js,图片轮播, js图片轮播, js,图片轮播, js图片轮播

2017-10-12

计算机程序设计艺术(中文版)1-3卷

本想免费分享,可资源分数最低选择1分,我看不懂 本书作者D. E. Knuth是在计算机学界十分著名的学者,在本领域享有很高权威和盛名,他的这部著作是无数计算机专业人员的学习教材和参考读物,也是许多专业研究工作者经常阅读的经典。本书已被翻译为几十种文字在世界各地出版,英文原版书在国外已经是第11次印刷。

2018-09-26

微软Vbscript手册vbs.chm

2016-06-16

jQuery 中文手册

2016-06-16

空空如也

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

TA关注的人

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