- 博客(45)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Mysql用户权限分配详解
MySQL权限介绍,MySQL权限级别分析,权限级别分为全局级别、数据层级别、表层级、子程序级别。MySQL权限分配顺序解析,实战分配MySQL用户权限,新建、删除、禁用、启动MySQL用户,重置MySQL用户密码,给MySQL用户授权、撤销权限,MySQL Grant授予用户权限,Revoke撤销用户权限。
2023-03-22 22:25:31
10848
1
原创 JAVA并发编程【Semaphore】源码解析
Semaphore翻译过来的意思是信号、信号量。该类的主要作用是用于限制线程访问共享资源的数量。通俗一点来说,就是起到限流的作用。比如我们最常见的接口限流:当我们对外暴露一个接口时,应该对该接口的最大并行数进行控制。而Semaphore正好可以控制线程访问共享资源的数量,因此在单机部署的情况下,可以使用Semaphore来处理接口限流。synchronized关键字想必大家并不会感到陌生,synchronized可以控制共享资源同时只能被一个线程访问,而Semaphore更像是synchronized的升级
2024-06-24 16:30:37
664
1
原创 MySQL定时任务Event详解
MySQL定时任务EVENT事件如何配置详解 。MySQL使用定时任务清除日志。Event实现循环调度和单次任务执行。
2024-03-22 11:21:20
1754
原创 SpringBoot ApplicationListener实现发布订阅模式
发布订阅模式()通常又称观察者模式,它被广泛应用于事件驱动架构中。即一个事件的发布,该行为会通过同步或者异步的方式告知给订阅该事件的订阅者。JDK中提供了作为所有订阅者的接口规范(即所有的订阅者都应该实现该接口),而则作为所有事件发布者的实现规范(即所有事件发布者都应该继承该类)。对于观察者的原理不是本章讨论的重点,本章只是演示如何在SpringBoot中实现发布订阅模式。
2024-03-18 22:53:17
1141
1
原创 MySQL连接数不足导致服务异常GetConnectionTimeoutException
MySQL连接数不足导致服务异常GetConnectionTimeoutException,设置MySQL最大连接数配置,show processlist参数
2024-03-18 15:38:27
2085
原创 Openfeign使用教程(带你快速体验Openfeign的便捷)
OpenFeign是一个基于Spring的声明式、模板化的HTTP客户端,它简化了编写Web服务客户端的过程。用户只需创建一个接口并添加相应的注解,即可实现对远程服务的调用。OpenFeign是的一部分,它支持Spring MVC的注解,如,使得使用 HTTP 请求访问远程服务就像调用本地方法一样直观和易于维护。Openfeign底层默认使用JDK提供的进行通信(源码参考类feign.Default),使用Openfeign可以快速的帮我们完成第三方接口调用的实现,简化开发流程。feign的客户端需要使用。
2024-03-16 16:57:16
4054
原创 Docker安装RocketMQ
Docker安装RocketMQ nameserve,broker安装。Linux安装rocetmq,安装rocketmq可视化界面rocketmq-console
2024-02-20 14:03:57
7202
18
原创 深度解析ScheduledThreadPoolExecutor源码之ScheduledFutureTask
深度解析ScheduledThreadPoolExecutor核心类ScheduledFutureTask的实现原理,了解ScheduledFutureTask和FutureTask实现流程。ScheduledFutureTask计算任务执行时间,定时任务实现原理。
2024-02-05 16:04:44
853
原创 深度解析ScheduledThreadPoolExecutor源码之DelayedWorkQueue
深度解析ScheduledThreadPoolExecutor源码之DelayedWorkQueue,二叉堆插入元素、删除元素、构建二叉堆操作。DelayedWorkQueue中siftUp上浮、siftDown下沉代码实现。
2024-02-02 10:59:18
933
原创 Java中的Future源码讲解
在使用JAVA语言开发系统中,使用异步任务是很常见的,比如:文件导入、导出;定时任务;大批量数据运算;日志记录等。这些操作可能会经过复杂的业务处理以至于花费较长的时间。通常来说,这些需要通过长时间的处理流程,我们都会采用异步进行处理,而不是让客户在前端一直等待直至处理完成。所谓异步,简单而言就是开启一个新线程,将这些复杂运算放入新线程中进行处理。Thread是JAVA中的线程对象,它实现了Runnable接口,如果要开启一个新的线程,那么就必须创建一个Thread对象,调用start方法。
2023-12-04 16:05:42
275
原创 深度了解LinkedBlockingQueue底层实现原理
队列(Queue)是一种很常见的数据结构,本章将用常见的阻塞队列LinkedBlockingQueue进行源码讲解,深度带你了解LinkedBlockingQueue整个实现逻辑。解析LinkedBlockingQueue中signalNotEmpty、signalNotFull、enqueue、dequeue、put、offer、take、poll等函数的源码实现。掌握LinkedBlockingQueue其底层的设计思路和代码实现
2023-11-21 14:25:49
220
原创 Mysql5.7(Docker环境)实现主从复制
MySQL5.7主从配置,Dokcer实现Mysql5.7主从。为什么要使用数据主从?MySQL主从原理,Relay Log中继日志,Bin Log日志原理。MySQL5.7配置参数解释。
2023-09-11 13:15:52
805
4
原创 Stream流List转Map报错Duplicate key StreamMap
JDK8引入了Stream流,让程序员在开发中更方便进行集合之间的转换,在使用Stream流将List转为Map时,如果Map的key有重复的情况下,就会抛出java.lang.IllegalStateException: Duplicate key StreamMap这个异常。这个坑是不太容易被发现的,解决方法也非常简单,只需要在List转Map的时候指定,如果出现重复的Key,那么以哪个为最终的结果放入Map。
2023-07-23 14:17:59
883
原创 Docker Log使用
查看docker日志通常会使用到docker log指令,可以通过指令来查看docker log提供的功能:Options(可选参数):–details 显示更多详细的信息-f, --follow 跟踪实时日志–since string 显示自某个(时间)timestamp之后的日志,或相对时间,如42m(即42分钟)–tail string 显示日志末尾后N行, 默认是全部显示-t, --timestamps 在每行日志前加上。
2023-03-05 21:24:56
7257
原创 Mybatis JdbcType与数据库类型之间的对应关系图
JAVA Mybatls中JdbcType数据类型对应关系,Mybatis数据类型转换为Mysql数据类型,Mybatis数据类型转Oracle数据类型。Myatis JdbcType与数据库类型对应关系图。
2023-02-19 22:30:03
485
原创 Redis常用指令以及在AVA中的使用
Redis常用指令以及在AVA中的使用,Redis常用指令以及操作。Redis数据类型以及使用,Redis在JAVA中的常用操作,什么是Redis?Redis中各种数据类型详解。
2022-11-20 22:10:39
662
原创 SpringMVC执行流程(源码分析)
SpringMVC大体流程,请求URL如何与HandlerMethod对应?AbstractHandlerMethodMapping初始化HandlerMethod。源码分析AbstractHandlerMethodMapping初始化HandlerMethod流程。一个请求到SpringMVC的完整流程,DispatcherServlet如何接收用户请求?分析DispatchServlet.doDispatch方法如何处理请求
2022-10-16 21:51:37
1342
2
原创 Spring Data JPA 基本使用
Spring Data JPA是什么?SpringBoot 配置JPASpring整合 JPAJPA基本配置JPA中的Repository的使用JPA实现分页查询JPA实现审计功能JPA使用Specification实现复杂查询JPA使用注解查询@query
2022-09-04 17:20:15
969
原创 MySQL中的DDL常规操作总结
MySQL中的DDL常规操作总结,MYSQL修改表字段,MYSQL删除表字段,MYSQL增加表字段。MYSQL给表增加索引。MYSQL查看表索引,MYSQL删除某列索引,MYSQL修改字段名称,MYSQL修改字段类型。
2022-08-08 23:40:04
1408
原创 Linux下用base64命令加解密字符串
Linux下用base64命令加解密字符串linux系统base64加密算法,linux, base64加密解密
2022-07-24 21:39:28
12334
原创 JAVA删除文件或者文件夹
JAVA删除文件或者文件夹JAVA如何删除不为空的文件夹JAVA删除指定文件下所有文件Files.walkFileTree的用法FileVisitResult用法
2022-07-17 20:59:32
23248
1
原创 JAVA实现文件压缩和解压,解决Java原生压缩组件不支持中文文件名的问题
JAVA实现文件压缩和解压。解决Java原生压缩组件不支持中文文件名的问题。ZIPOutputStream压缩和解压失败。ZIPOutputStream压缩和解压出现乱码。ZIPOutputStream无法压缩中文文件,ZIPOutputStream解压中文文件乱码。ZIPOutputStream解决中文乱码问题。......
2022-07-07 00:03:08
2703
原创 SpringMVC文件上传功能实现
SpringMVC文件上传功能实现,SpringBoot文件上传,MultipartFile使用,以及MultipartHttpServletRequest获取上传文件内容。SpringBoot配置上传文件大小。
2022-06-15 22:04:50
4392
原创 Column count doesn’t match value count at row 1
Column count doesn’t match value count at row 1Mybatis批量插入数据报Column count doesn’t match value count at row 1Mybatis使用foreach插入数据报错
2022-05-30 22:54:11
541
原创 Maven快照更新策略
Maven快照策略,什么是Maven快照。快照版本与Realse版本的区别。修改Maven快照拉取策略。Maven拉取策略
2022-05-03 17:32:26
3161
3
原创 Maven中的<distributionManagement>
SNAPSHO仓库与RELEASE仓库的区别distributionManagement定义SNAPSHO仓库和RELEASE仓库Maven常用命令及其作用
2022-03-24 23:53:49
11567
原创 windows环境通过telnet发送信息
windows环境通过telnet发送信息1.需要在windows上开启telnet才能使用,开启telnet教程:windows10开启telnet2.启动远程服务,这里我是本地通过IDEA启动了一个Netty服务,启动的端口是8080。3.进入windows控制台,输入telnet 127.0.0.1 8080,这里的IP和Port由自己的服务决定。4.连接成功后会跳到Tenlet控制页面,输入crlt+] 进入命令模式。5.使用send发送消息,比如send hello world6
2021-12-21 10:46:53
2678
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人