自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 自定义SpringBoot Starter

✅自定义SpringBoot StarterSpringBoot 的 starter 可以帮我们简化配置,非常的方便,定义起来其实也不复杂,我的项目中定义了很多 starter,比如business-job就是一个 stater,以他为例,介绍下如何定义 starter:。

2025-02-24 21:07:19 396

原创 Canal 部署&binlog 监听

CPU:1核内存:2G。

2025-02-19 22:11:07 813

原创 JDK 21 中虚拟线程的应用

而且,我们可以在应用程序中创建非常多的虚拟线程,而不依赖于平台线程的数量。这些虚拟线程是由JVM管理的,因此它们不会增加额外的上下文切换开销,因为它们作为普通Java对象存储在RAM中。他的实现原理其实是JDK不再是每一个线程都一对一的对应一个操作系统的线程了,而是会将多个虚拟线程映射到少量操作系统线程中,通过有效的调度来避免那些上下文切换。这里就是通过虚拟线程来进行短信的发送,代替了我们之前经常用的线程池技术。我们在项目中用到了虚拟线程来提升性能。

2025-02-17 22:28:12 126

原创 springboot接入ShardingJDBC

接入分库分表框架

2025-02-17 22:21:33 410

原创 利用雪花算法+Redis 自增 ID,生成订单号

自定义规则的雪花算法的唯一id生成

2025-02-17 22:13:02 369

转载 idea中Git分支使用详情

idea中Git分支使用详情

2024-02-22 11:24:59 743

原创 超级搜索技术,普通人变强的唯一外挂

搜索效率:Google >微信公众号 >短视频 >百度。

2023-10-31 21:31:22 750

原创 Linux 6种日志查看方法

Linux查看日志的命令有多种: tail、cat、head、echo等,本文只介绍几种常用的方法。

2023-10-17 18:50:32 24705 3

原创 消息队列总结

你用过消息队列么?说说你们项目里是怎么用消息队列的?我们有一个订单系统,订单系统会每次下一个新订单的时候,就会发送一条消息到ActiveMQ里面去,后台有一个库存系统,负责获取消息,然后更新库存。为什么使用消息队列?你的订单系统不发送消息到MQ,而是直接调用库存系统的一个接口,然后直接调用成功了,库存也更新了,那就不需要使用消息队列了呀使用消息队列的主要作用是:异步、解耦、削峰消息队列都有什么优缺点?Kafka、activeMQ、RibbitMQ、RocketMQ都有什么优缺点?

2023-08-15 16:56:31 427

原创 ElasticSearch安装与介绍

如果没有听说过Elastic Stack,那你一定听说过ELK,实际上ELK是三款软件的简称,分别是Elasticsearch、 Logstash、Kibana组成,在发展的过程中,又有新成员Beats的加入,所以就形成了Elastic Stack。所以说,ELK是旧的称呼,Elastic Stack是新的名字。全系的Elastic Stack技术栈包括:选择对应版本的数据,这里我使用的是Linux来进行安装,所以就先下载好ElasticSearch的Linux安装包。

2023-08-14 18:24:13 351

原创 一文读懂ThreadLocal

在垃圾回收器线程扫描它 所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。内部都是使用仅有的那个ThreadLocalMap存放数据的,ThreadLocalMap的 key 就是 ThreadLocal对象,value 就是 ThreadLocal对象调用set方法设置的值。弱引用可以和一个引用队列(ReferenceQueue)联合使用,如果弱引用所引用的对象被垃圾回收,Java 虚拟机就会把这个弱引用加入到与之关联的引用队列中。

2023-08-11 17:27:32 268

原创 Spring 事务失效的八种场景

Spring事务失效的八种场景

2023-08-07 20:30:41 1086

原创 IDEA直接请求controller,不用postman请求http接口

第二步、生成generated-requests.http文件。第一步:点击下面按钮,HTTP Client。第三步、更改服务的ip和端口,启动服务。

2023-05-17 17:03:36 4103

原创 spring启动报错:expected at least 1 bean which qualifies as autowire candidate. Dependency annotations:

用mybatisplus生成代码后启动springboot报错

2023-05-11 13:50:17 2751

转载 优雅实现List数据拷贝

确实为我们做了很多事情,虽然不能完美完成深拷贝,但是对于 po、vo、dto 的拷贝已经足够用了。但是其还是有一些不够完美的地方。①不能拷贝 list,而拷贝 list 的情况又大量存在,因此会有许多重复代码。②有一些简单的查询,仅仅需要转换一下 vo 也需要 new Vo()。return vo;③这种拷贝方式是没有返回值的,jdk8 支持 stream() 操作之后,支持不是很友好,不方便 lambda 表达式的使用,因此我们决定通过集成 BeanUtils 类,自己造一个方便用的轮子。

2023-04-10 15:43:21 574

原创 穿梭框后端,java处理实现增删改查

熟知的穿梭框,他有增删改查的功能,使用Java实现后端处理逻辑如下

2023-04-06 11:34:52 602

原创 嵌套子查询,返回多层对象嵌套的数据格式

嵌套子查询

2022-06-07 17:22:33 487

原创 自定义注解,接收单个参数的post请求

因业务场景需要,有时需要区分get和post请求比如删除,尽量用post请求(公司规范为只使用get和post爱你请求)常用的删除:@Getmapping 后面加@PathVariable定义的注解名为:@FewPostParam源码如下:import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java

2022-05-18 13:56:11 1135

原创 Error instantiating class com.**.event.vo.EventStatusVo$EventStatusInfo with invalid types Cause: ja

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.ReflectionException: Error instantiating class com.zrx.govern.event.vo.EventStatusVo$EventStatusInfo with invalid types (EventStatusVo) or values (事件登记). Cause: jav

2022-04-15 17:01:15 304

原创 使用git stash导致代码消失的解决方案

场景:切换分支想暂存代码git stash暂存代码本地修改的代码:使用git stash 暂存的时候,代码消失,一朝回到解放前。。。这种感觉很慌的,看了网上的解决方法 大致都是这样的:根本没有我暂存的记录,无语。。。我的解决方案:当前命令窗口中输入:git stash pop代码恢复了,吓我一跳...

2022-02-09 16:11:07 3844 3

原创 Java中接收单个参数的 post 请求的写法

2021-10-11 17:17:38 2865

原创 Java本地时间转UTC时间的方法

自己做项目的时候遇到,本地时间转UTC时间,网上查后发现写的乱七八糟,自己总结了一下,供参考

2021-10-11 17:14:40 1398 1

原创 java新增后生成一定规则的流水号,字符串+当前日期+递增序号

我的业务需求:生成编号规则为 HSJC-年月日01、02、03一直累加如下图所示。默认为:HSJC-yyyyMMdd01在网上找了很多解决方案,个人觉得不太行,特地总结一下:1、写一个递增编号的方法/** * 轮次编号生成规则 * 1、如果当前时间没有核酸轮次,直接新增 ,默认为:HSJC-yyyyMMdd01 * 2、查询到有核酸轮次,查找当前那一天最大的轮次编号,自增1 * * @param code 当前最大编码 */ p

2021-09-23 17:18:41 12111 3

原创 字符串切分,stream,JSONObject,lambda表达式的应用

需求:把state字段对应数据切分,获取第一个数字作为状态,0代表离线,1代表在线下面是返回的数据,其中state的数据不是我们想要的:{ "status": "200", "message": "success", "error": null, "path": null, "timestamp": "2021-06-01 13:39:31", "data": [ { "dateTime": null,

2021-06-01 13:46:50 667

原创 微服务调用feign接口报错401的解决方案和原因总结

feign.FeignException$Unauthorized: [401 Unauthorized] during [GET] to [[http://xxx/xxx]报错详情:feign.FeignException$Unauthorized: [401 Unauthorized] during [GET] to [http://govern-traffic-law/eventAnalysis/evtRatioAnalysis?type=3&streetId=1] [ITrafficEv

2021-05-27 10:16:33 23155 3

原创 java-对象数组与对象对象

问题在于确定以下符号之间的权衡基于JSON:"users": { "id1": { "id": "1", "name": "zs", "age": "12" }, "id2": { "id": "2", "name": "zy", "age": "52" }}基于数组:users: [ { "id": "id", "key2":

2021-05-21 11:26:02 322

原创 org.springframework.beans.factory.UnsatisfiedDependencyException:解决方案

问题记录:org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'personnelStrengthController': Unsatisfied dependency expressed through field 'personnelStrengthService'; nested exception is org.springframework.beans.f

2021-05-18 15:52:16 8570

原创 解决mysql锁表问题com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceede

报错如下:在navicat中执行如下语句:1、查询是否锁表show open tables where in_use>0; 2、查询进程show processlist查询到相对应的进程,然后 kill id 3、查看正在锁的事务select * from information_schema.innodb_locks; 4、查看等待锁的事务select * from information_schema.innodb_lock_waits;找到锁表的进程:找

2021-05-18 10:21:40 13353

原创 sql模糊查询-根据时间段区间查询数据

业务需求:根据时间区间来筛选列表数据库对应的字段如下:sql语句如下:SELECTa.pre_machine_name,b.*,c.type_name,d.status_type FROM data_center_pre_machine a, data_center_pre_library b, dic_type c, dic_status d WHERE a.del_flag = 0 AND b.del_flag = 0 AND a.id = b.pre_machi

2021-05-13 14:32:21 1629

原创 mybatis的xml中新增语句,设置id为UUID

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.zrx.datacenter.presource.api.preLibrary.mapper.PreLibraryMapper">&

2021-05-12 17:16:37 1802

原创 解决Command line is too long. Shorten command line for SpringbootApp

1、问题描述Error running ‘Application’: Command line is too long. Shorten command line for Application or also for Spring Boot default configuration.报错详情如下:2、解决办法:找到这个选择如下成功

2021-03-11 20:02:34 977 2

原创 idea最常用的快捷键,写代码快到飞起

IDEA 常用的快捷键 !!!!! 赶快记下来-----------自动代码常用的有fori/sout/psvm+Tab即可生成循环、System.out、main方法等boilerplate样板代码例如要输入for(User user : users)只需输入user.for+Tab再比如,要输入Date birthday = user.getBirthday();只需输入user.getBirthday().var+Tab即可。代码标签输入完成后,按Tab,生成代码。Ctrl+Alt+O

2020-06-10 14:55:11 689

原创 CentOS7下MySQL5.7重置root密码方法

本文主要记录MySQL忘记root密码或者刚装MySQL后快速重置密码的方法,网上搜了很多,很乱,也没什么用,这个解决了我的问题,经过实践确实真实可用。1.编辑MySQL配置文件(跳过权限校验)[root@centos ~]# vim /etc/my.cnf在[mysqld]选项中添加skip-grant-tables属性,例:[mysqld]skip-grant-tables...

2020-04-14 22:10:40 1784

原创 Java 中的各种锁和 CAS

Java 中的各种锁和 CAS。

2020-03-02 22:04:34 411

原创 8种数据类型和位、字节、比特的关系

字节,英文Byte,是计算机用于计量存储容量的一种计量单位,通常情况下一字节等于八位,字节同时也在一些计算机编程语言中表示数据类型和语言字符,在现代计算机中,一个字节等于八位;字是表示计算机自然数据单位的术语,在某个特定计算机中,字是其用来一次性处理事务的一个固定长度的位(bit)组,在现代计算机中,一个字等于两个字节。比特(bit)是由英文BIT音译而来,比特同时也是二进制数字中的位,是信息量的度量单位,为信息量的最小单位;引用数据类型:是数据的引用在栈中,但是他的对象在堆中。

2020-02-26 17:31:35 13826 1

原创 HashMap笔记

01Hashtable、HashMap、TreeMap对比Hashtable、HashMap、TreeMap 都是最常见的一些 Map 实现,是以键值对的形式存储和操作数据的容器类型。(1) 元素特性HashTable中的key、value都不能为null;HashMap中的key、value可以为null,很显然只 能有一个key为null的键值对,但是允许有多个值为null的键值对;Tr...

2020-02-17 11:52:39 263

转载 Redis总结

文章目录redis 简介为什么要用 redis/为什么要用缓存为什么要用 redis 而不用 map/guava 做缓存?redis 的线程模型redis 和 memcached 的区...

2020-02-12 14:12:54 246

原创 写单例模式

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必...

2020-02-11 15:44:27 307

原创 垃圾收集机制详解

既然要介绍垃圾收集机制,就要搞清楚以下几个问题:哪些内存区域需要进行垃圾收集?如何判断对象是否可回收?新的对象是如何进行内存分配的?如何进行垃圾收集?需要进行垃圾收集的内存区域;判断对象是否可回收的方法;主流的垃圾收集算法介绍;JVM 的内存分配与垃圾收集机制。一、需要进行垃圾收集的内存区域先来回顾一下 JVM 的运行时数据区:其中程序计数器、Java 虚拟机栈和本地方法栈...

2020-02-04 14:23:55 338

原创 JVM 架构和运行时数据区

一、Java 虚拟机架构 (JVM Architecture)全局了解Java虚拟机架构:如图:只需要重点理解并掌握其中一部分 (同时也是面试重点) 就好了,比如运行时数据区、垃圾收集器、内存分配策略和类加载机制等,类文件结构也可以学习一下,其他的稍作了解即可。1.1 Class 文件 (字节码文件)Java 之所以号称“一次编写,处处运行”,就是得益于虚拟机和 Class 文件 (注...

2020-02-04 12:31:09 333

研究生信息论实验报告之循环码

利用(7,4)系统循环码的生成多项式,设计该循环码的编码器等

2019-01-02

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

TA关注的人

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