自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(143)
  • 资源 (5)
  • 收藏
  • 关注

原创 java 并发执行批量异步任务(Future、 CompletableFuture 实现)

当我们需要批量执行一些比较耗时任务时,使用并发的方式减少业务处理的整体时间,防止客户端响应时间过长。

2023-10-18 20:15:53 2225

原创 SpringBoot 集成 IBMMQ 代码示例教程

SpringBoot 集成 IBMMQ,实现两个服务间的消息通信。使用 SpringBoot 集成 IBMMQ 可灵活控制消息发送与接收的速度。

2023-10-16 13:43:23 2773 4

原创 SpringBoot 集成 JMS 与 IBMMQ 代码示例教程

SpringBoot 集成 IBMMQ,实现两个服务间的消息通信。使用 SpringBoot JMS 集成 IBMMQ 十分的方便。

2023-10-16 11:26:46 1749

原创 循环外声明变量和循环内声明变量的区别

变量声明在外部,使得变量作用域变大,出现在了没有使用到的外部作用域里,降低了代码的隔离性与解耦性;而且for代码块结束后,该变量仍然存活且持有引用,导致GC延迟。可以看出,经过编译后的class文件,变量的声明与初始化都在for循环中。可见即使在外部声明变量,也不会获得性能上的提升。所以,除非for循环外部需要使用该变量,否则禁止将for循环内部变量的声明与初始化放在for循环外部。但这真的能提升性能吗?

2023-10-13 19:24:48 820

原创 优化 if-else 语句的最佳方案

尽量优化 if-else 语句,防止代码结构变得复杂混乱,防止过多的大括号,导致代码阅读困难。else 后面没有其他业务时,可省略最后的 else,使代码简洁。// else 后面没有其他业务时,可省略最后的else,使代码简洁// TODO 1return;根据相应场景使用合适的优化方案。Optional 类虽然简洁,不过采用这种链式编程,虽然代码优雅了。

2023-10-11 17:19:58 548

原创 消除 if-else 和 switch 多分支语句的最佳方案

注重代码规范的程序中,不允许出现 if-else 和 switch 分支较多的分支语句,否则产生大量的冗余代码、严重影响代码可读性。分支语句的分支较多,或分支具有可扩展性,则建议使用方案来消除分支语句,避免代码臃肿、可读性低。枚举方案:不同分支仅返回不同的值。Map + 函数式接口:不同分支执行不同的处理代码,不适于对象封装。轻量级。策略模式:不同分支执行不同的处理代码,适用于对象封装(适合用对象划分,或需要封装不同的属性和方法,或需要封装多个方法)。

2023-10-11 11:20:08 200

原创 Redis 分布式锁 @Klock 注解详解及使用教程

有些人可能会给两个服务的配置改成不一样,比如定时任务的时间修改,一个正常执行,一个在不可能的时间执行,还有人直接给服务设置一个标志位,只有某个标志位的能执行。最常见的就比如手机端录入信息到后台,比如注册之类的等等,用户端可能因为各种原因可能会点击多次,导致后台可能会出现多笔记录的情况,这个时候很简单,用到我们的锁,假设,我们是注册用户,手机号是唯一的。这个时候,如果是点击了两次,第一次业务进入获取到锁进行处理,第二过来了也是一个等待,要么第一次处理完成,第二次业务判断已注册,要么第二次直接超时了。

2023-10-10 16:21:17 843

原创 IBMMQ 安装教程(IBM WebSphere MQ 安装教程)- 及 IBMMQ 服务器搭建教程

IBMMQ 7.5提示:以下是本篇文章正文内容,下面案例可供参考例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

2023-09-23 10:56:14 3222 2

原创 java 自定义断言工具类

【代码】java 自定义断言工具类。

2023-09-22 10:02:47 230

原创 nvm下载安装教程

nvm install 18.17.0:安装 node 18.17.0, version是特定版本也可以是最新稳定版本 latest。nvm npm_mirror [url] :设置npm镜像 https://github.com/npm/cli/archive/。nvm node_mirror [url] :设置 node 镜像。nvm root [path] :设置存储不同版本 node 的目录。如果未设置,默认使用当前目录。nvm use [version] [arch] :使用制定版本 node。

2023-09-21 20:16:06 5499

原创 常用 sql 笔记(sql 必知必会)

【代码】常用 sql 笔记(sql 必知必会)

2023-09-11 22:15:00 47

原创 Mybatis-plus 抽象-接口方法类

使用 service 调用进行 CRUD,需要使用 service 接口继承 Iservice,并且 service 接口的实现类要继承 ServiceImpl。xxMapper 继承 BaseMapper 接口时,继承了其中的空方法,Wrapper 代码生成器的作用是为了动态向 sql 的 CRUD(增删改查)语句,即装饰从 BaseMapper 继承的 sql 语句,Wrapper 就是典型的修饰器模型。BaseMapper 实现了 Mapper 接口。

2023-09-11 18:03:30 235

原创 Java 使用 EMQX 实现物联网 MQTT 通信

java 使用 EMQX 消息服务器,实现物联网 MQTT 协议的消息订阅发布。含详细设计代码。

2023-09-11 17:56:06 2132

原创 实现 easyExcel 导入导出自定义字典转换器

easyExcel 导入导出自定义字典转换器,包括导入字典转换以及导出字典转换。适配多个逗号分隔的字典值转换。

2023-09-09 18:32:19 3638

原创 java 集成免费虹软人脸识别 SDK,实现人脸识别认证功能

本文详细介绍了 java 集成免费虹软人脸识别的详细流程,从 SDK 下载到 SDK 的集成,以及 API 的封装策略。

2023-09-09 15:37:21 1879 2

原创 引入本地 jar 包教程

引入本地 jar 包教程。

2023-08-25 14:36:16 881

原创 java 如何优雅地进行数据查重

封装对象新增和更新时的公用查重方法。

2023-06-10 09:55:59 697

原创 java 自定义字典序列化器

自定义字典序列化器

2023-02-22 10:44:12 446 1

原创 mybatis 连表查询,子查询 collection,返回 vo

AppsGroupMapper.java 子查询。AppsGroupMapper.xml 子查询。AppsService.xml 主查询。

2022-08-08 15:32:34 1550

原创 分页查询分类并统计各分类下的文章数量

代码】返回分页查询分类并统计多对多关系表中各分类下的应用数量。

2022-08-06 14:53:17 417

原创 查询接口 - 树形菜单查询接口实现

代码】查询接口 - 树形菜单查询接口实现。

2022-08-06 12:05:57 504

原创 Mybatis-Plus 之 Wrapper

Wrapper 使用 lambda 形式可以通过方法引用的方式来使用实体字段名,避免直接写数据库表字段名时的错写名字。

2022-08-06 01:29:59 2418

原创 mybatis 批量操作大全

代码】mybatis 批量操作大全。

2022-08-04 17:36:03 296

原创 Java 判空工具方法大全

在程序中必须进行严格的判空处理,避免对空对象的异常操作。接收对象或对象属性的空值校验。查询对象为空时,获取对象属性的空指针异常。对空 list、set 进行操作,产生的空指针异常。如此等等。

2022-07-24 15:54:13 14574 1

原创 @RequestBody 和 @ResponseBody 详解

responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。@ResponseBody是作用在方法上的,@ResponseBody表示该方法的返回结果直接写入HTTPresponsebody中,一般在异步获取数据时使用(也就是AJAX)。@ResponseBody的作用其实是将java对象转为json格式的数据。...

2022-07-14 21:30:05 6756

原创 Lombok 注解及使用大全

一、Lombok 注解大全优点:能通过注解的形式自动生成构造器、getter / setter、equals、hashcode、toString 等方法,提高了一定的开发效率,让代码变得简洁,不用过多的去关注相应的方法。属性做修改时,也简化了维护为这些属性所生成的 getter / setter 方法等。缺点:不支持多种参数构造器的重载。虽然省去了手动创建一系列方法的麻烦,但大大降低了源代码的可读性和完整性,降低了阅读源代码的舒适度。.........

2022-07-11 13:35:54 1500

原创 java 并发集合

List 接口直接实现类:ArrayList,Vector,LinkedList。

2022-07-10 19:23:23 276

原创 validation 分组校验注解大全及使用详解

JSR303(Bean的校验框架)的注解,在controller的方法中验证时(运行时校验属性)使用,如果不合法(校验失败),注解中的提示信息会保存在result中。

2022-07-09 10:22:38 3321

原创 Java - 使用 Redis GEO 测算经纬度距离

Redis GEO 主要用于存储地理位置信息,并对存储的信息进行操作,该功能在 Redis 3.2 版本新增。Redis GEO 操作方法有:

2022-07-08 20:57:55 912

原创 date、time、datetime、timestamp区别

一个完整的日期格式如下:YYYY-MM-DD HH:MM:SS[.fraction]比如:’1970-01-01 00:00:01.000000’ ~ ‘2038-01-19 03:14:07.999999’。timestamp占4字节,datetime占8字节;包含时区信息,如果日后修改了时区的话,timestamp所表示的时间会随时区而变化,而datetime不会。timestamp 更适合来记录时间,比如我在东八区时间现在是 2016-08-02 10:35:52, 你在日本(东九区此时时间为 20

2022-07-08 17:47:50 1638

原创 MySQL字段类型与Java实体类类型对应转换关系

MySQL Connector/J( MySQL官方JDBC驱动程序)在处理MySQL数据类型和Java数据类型之间的转换方面非常灵活。通常,任何MySQL数据类型都可以转换为java.lang.String。可以将字符串和任何数字类型转换为任何Java数字类型,尽管可能会发生舍入、溢出或精度损失。从Connector/J 3.1.0开始,JDBC驱动程序会发出警告或引发JDBC规范所要求的DataTruncation异常(数据截断异常),除非通过使用jdbcCompliantTruncation属性并将其

2022-07-06 11:30:22 3870

原创 equals 方法

“==”对于基本类型,比较的是值;对于引用类型比较的是地址。Object类中equals的默认实现等价于“==”,即比较引用类型的地址。Java中很多类(如String、Date、Long、HashMap和File类等)都重写了Object类的equals方法,导致其和“==”不等价。String类中重写的equals是先用“==”比较两个引用类型的引用地址,相同则返回true,引用地址不同再进行字符串比较。...

2022-07-04 08:40:34 145

原创 JVM GC垃圾回收简述

针对java堆的回收。可达性分析算法:从gc root搜索引用链。

2022-07-04 08:33:56 206

原创 JVM 类加载机制

加载 —> 连接(验证 -> 准备 -> 解析)—> 初始化 —> 使用 —> 卸载

2022-07-04 08:23:50 82

原创 mysql 的一些重要知识

聚簇索引、主键索引:聚簇索引、辅助索引、二级索引:超过 long_query_time 阈值(默认10s),就被认为是慢查询。手动开启慢查询日志,慢查询会被记录在慢查询日志里。InnoDB行锁是通过给索引上的索引项加锁实现的,因此只有走索引查询数据,(索引未失效)innoDB才会使用行锁,否则InnoDB将使用表锁。由于MySQL的⾏锁是针对索引加的锁,不是针对记录加的锁,所以虽然是访问不同⾏的记录,但是如果是使⽤相同的索引键,是会出现锁冲突的。...

2022-07-04 08:11:03 92

原创 sql 全解(索引、索引失效、sql优化)

1. 小表驱动大表2. 建索引,一张表不超过5个索引3. 走索引,尽量满足最左匹配,避免索引失效

2022-07-04 07:53:35 545

原创 Maven 中跳过单元测试方法

Maven 构建生命周期为我们提供了对项目执行各种操作,例如验证,清理、打包、测试和部署项目。而有时候我们需要跳过单元测试,例如,在处理新模块时,还有未通过的单元测试时。在这些情况下,我们可以在打包时跳过测试以避免编译和运行测试时发生的时间。...

2022-07-04 00:52:26 2950

原创 pom.xml 配置文件标签:dependencies 和 dependencyManagement 区别

通常会在一个项目的最顶层的父pom中使用dependencyManagement。

2022-07-04 00:26:11 944

原创 pom.xml 配置文件标签作用简述

pom.xml 配置文件标签

2022-07-03 23:33:23 90 1

原创 Cloud 组件发展升级

Cloud 组件升级

2022-07-03 22:10:10 74

SpringBoot 集成 netty 源码 dome

SpringBoot 集成 netty 源码 dome,实现 netty 通信。

2023-10-12

SpringBoot 集成 IBMMQ 源码 demo

SpringBoot 集成 IBMMQ 源码 demo,实现两个服务之间的 IBMMQ 消息接收与发送。IBMMQ 版本 7.5.0.2,兼容其他版本。实现容器 Listener 事件执行 MQ 初始化及销毁,观察者模式消息通知策略,IBMMQ 断线自动重连策略。

2023-10-12

IBMMQ 错误码表 PDF(完整)

IBMMQ 错误码表(完整)。相关 IBMMQ 通用安装教程:https://blog.csdn.net/demo_yo/article/details/133200033

2023-09-23

IBMMQ 7.5.0.2 (IBM WebSphere MQ 7.5.0.2)安装包

IBMMQ 7.5.0.2 版本,版本通用,安装及 MQ 环境搭建指南:https://blog.csdn.net/demo_yo/article/details/133200033。

2023-09-23

mfc平衡二叉树绘制-源码(节点动态插入、动态删除、前序遍历、中序遍历、后续遍历动态显示)

基于平衡二叉树实现,mfc图形界面绘制,节点动态插入、动态删除、前序遍历、中序遍历、后续遍历动态显示。

2022-03-18

mfc 计算器实现-源码:C++实现,表达式求值,mfc用户界面

mfc 计算器实现,C++实现,表达式求值,mfc用户界面。内含项目整体代码及项目设计说明书。代码设计及代码实现请参考作者文章https://blog.csdn.net/demo_yo/article/details/112342098

2021-04-28

C++计算器实现-源码(含项目设计说明书)

C++计算器实现,表达式计算。含项目设计说明书。作者文章地址:https://blog.csdn.net/demo_yo/article/details/112340758

2021-04-28

学生信息管理系统-源码(链表).rar

学生信息管理系统(C/C++链表实现)

2021-04-28

学生信息管理系统-源码(数组).rar

学生信息管理系统(C/C++数组实现)

2021-04-28

空空如也

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

TA关注的人

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