- 博客(139)
- 资源 (18)
- 收藏
- 关注
转载 通俗易懂 悲观锁、乐观锁、可重入锁、自旋锁、偏向锁、轻量/重量级锁、读写锁、各种锁及其Java实现!
通俗易懂 悲观锁、乐观锁、可重入锁、自旋锁、偏向锁、轻量/重量级锁、读写锁、各种锁及其Java实现!
2024-12-31 18:20:37
208
转载 一篇吃透布隆过滤器(Bloom Filter)及其使用场景
一篇吃透布隆过滤器(Bloom Filter)及其使用场景、Redis缓存穿透、Java实现
2024-06-14 16:38:04
1225
1
原创 导出 MySQL 数据库表结构、数据字典word设计文档
导出 MySQL数据库表结构、数字字典word设计文档,一键连接数据库,直接导出库表结构、字段解析、自动排序
2024-01-22 18:32:02
1683
2
原创 基于SpringBoot的ElasticSearch操作(超详细教程)
基于SpringBoot+Elasticsearch的操作项目,从零到一,囊括了es本身的API操作、java代码的请求(索引操作、doc操作插入、精准搜索、模糊搜索、聚合搜索等)
2023-10-05 20:47:18
6141
1
转载 Spring-Cloud-Gateway源码解析——过滤器 之 RequestRateLimiterGatewayFilterFactory 请求限流
通过实现 KeyResolver 接口,实现自定义 KeyResolver。下面我们实现一个使用请求 IP 作为限流键的 KeyResolver。@Overridespring:cloud:gateway:routes:- Path=/**filters:第四步,大功告成,启动 Spring Cloud Gateway 即可。
2023-09-11 11:00:24
1322
原创 Spring Boot 系列 - WebSocket 简单使用(建立一个网页聊天室)
使用方法:启动application启动类,然后右键在浏览器中打开chat.html,可以打开2个页面,这样就可以双人聊天交流。在实现消息推送的项目中往往需要 WebSocket,以下简单讲解在 Spring boot 中使用 WebSocket。1、pom.xml 中引入 spring-boot-starter-websocket。2、往 spring 容器中注入 ServerEndpointExporter。3、Endpoint 具体实现。
2023-06-01 18:39:23
764
1
原创 IDEA安装JRebel实现热部署,自动reload和recompile
利用JRebel插件实现代码及时编译功能,帮助我们在开发过程中节省项目重启时间,提高开发效率。JRebel插件实现及时编译,帮助我们在开发过程中节省项目重启时间,提高开发效率。
2023-03-17 11:24:52
1650
原创 将maven项目打包成可执行的jar(加入外部依赖)
在有些场景下我们需要将编写的Java工程编译打包成为一个完整的jar包,如果你的项目是使用maven构建的话可以通过以下方法来完成这个打包的过程。在项目的pom.xml配置文件的build标签中添加以下代码,其中 mainClass 属性需要替换成你项目执行时的主类。参数为可选项,若需要向主类传递参数则在此输入即可,多个参数间通过空格分隔。该操作的前提是已经配好了maven的环境变量(可以通过执行。不带依赖包的jar、带所有依赖包的jar、项目源码的jar。文件夹,便可以看到生成的jar包。
2023-02-21 10:53:46
1298
原创 基于 FFMPEG的Python 获取视频时长(附代码)
通过视频的url(在线视频url),基于FFMPEG查出视频的时长本文提供获取视频时长的python代码
2022-11-23 14:48:25
2989
转载 mysql批量插入最大限制
mysql批量插入慢怎么提升。max_allowed_packet,innodb_buffer_pool_size,事务
2022-09-28 10:44:46
7849
原创 win10无法进入系统:无法加载操作系统,原因是关键系统驱动驱动程序丢失或包含错误
一、背景今天电脑启动的时候,一直提示系统修复,诊断问题,然后进入了以下诊断页面二、解决方案用U盘做一个pe系统,进到pe系统,打开C盘,C://windows//system32//drivers//找到这个OafdXY.sys文件,【删除】还有一个 kavbootc.sys 也删除然后重启电脑,成功进入系统,完美解决三、原因由于金山、驱动精灵等一些产品给系统加入的这个文件,它不知出于什么原因不正常了,但是由于它存在于driver目录下,Windows启动时仍然要加载它,
2022-04-28 23:27:10
14623
转载 ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction解决
一、问题描述:同事反馈线上一个表有其中一条数据无法删除,其他都正常,我拿到删数据的sql,尝试执行,报错如下:mysql> delete from facebook_posts where id = 7048962;ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction二、问题处理从报错信息看,应该是关于这条数据有事物未提交,锁等待超时了,下面我们就开始验证并解决问题1、在sql执行期
2022-04-07 11:59:58
8086
原创 SpringBoot注解@Async
一、前言Springboot中执行异步任务,可以使用线程池,也可以直接使用@Async注解来实现异步任务。而@Async也不是可以随便使用的,如果使用方式不对,也可能做了无用功,@Async不生效,导致实际还是同步执行二、原理因为@Transactional和@Async注解的实现都是基于Spring的AOP,而AOP的实现是基于动态代理实现的。那么注解失效的原因就很明显了,有可能因为调用方法的是对象本身而不是代理对象,没有经过Spring容器,无法使用代理对象调用即被调用方法 和 调用
2022-04-01 15:51:49
7803
转载 @Transactional事务不生效的原因大解读
1、概述事务在后端开发中无处不在,是数据一致性的最基本保证。在Spring中可以通过对方法进行事务的配置,而不是像原来通过手动写代码的方式实现事务的操作,这在很大程度上减少了开发的难度。因此我们在使用spring事务的时候,门槛变得异常的低,小学生水平就能很好的管理好事务,但是同学们或多或少都遇见过一些事务不生效的难题,为啥呢?本文就针对于此来做一些具体举例分析,尽量做到全覆盖2、栗子Spring团队建议在具体的类(或类的方法)上使用 @Transactional 注解,而不要使用在类所要实现
2022-04-01 14:56:36
12560
原创 IDEA开启Run Dashboard
一、背景重置了下IDEA,打开项目的时候,发现Run Dashboard面板不见了(如下面板)二、解决方案1、查看自己的view是否有这个选项,有的话直接打开即可。View-Tool Windows-Run Dashboard2、如果view菜单没有该选项,则可以在自己的 .idea/workspace.xml中添加如下配置搜索Rundashboard然后在Component中添加下面的内容<option name="configurationTypes"&g
2022-03-07 17:42:51
983
原创 如何获取JVM的dump文件
一、方式一:JVM启动时增加两个参数:1、出现 OOME 时生成堆 dump: -XX:+HeapDumpOnOutOfMemoryError2、生成堆文件地址:-XX:HeapDumpPath=/opt/logs/myService/HeapDumpOnOutOfMemoryError/java -Xms2048m -Xmx2048m-XX:+HeapDumpOnOutOfMemoryError-XX:HeapDumpPath=/opt/logs/myService/HeapDumpOn
2022-01-11 15:46:50
2874
原创 wait_timeout引发的mysql连接关闭问题(No operations allowed after connection closed)
一、背景最近这段时间,现网突然频繁的报连不上数据库No operations allowed after connection closed。2021-11-03 10:40:32.750 [TID:11458.146.16359072327350221] [http-nio-1192-exec-8] WARN com.zaxxer.hikari.pool.PoolBase -DatebookHikariCP - Failed to validate connection com.mysql
2021-11-03 15:58:10
4927
转载 详解三次握手ACK和Ack,理解透彻参数意义
在三次握手发送的数据包中有两个ACK值(Acknowledgement),人们习惯一个大写,一个小写来加以区分。其实ACK也好,ack也好,只不过是个代号而已,叫他张三也行,叫他李四也没事,没有任何影响,因为咱们不会改动那个东西。就算是把名字记反了,对咱们也没有任何影响,大家知道三次握手的数据包里有这么两个东西就行了。一个是确认值(Acknowledgement),为1便是确认连接。另一个是确认编号(Acknowledgement Number),即接收到的上一次远端主机传来的seq然后+1,再发送给
2021-09-17 15:20:12
10531
转载 过滤器Filter vs 拦截器Interceptor vs 切片Aspect 详解
1 前言 最近接触到了过滤器和拦截器,网上查了查资料,这里记录一下,这篇文章就来仔细剖析下过滤器和拦截器的区别与联系。2 拦截器与过滤器之间的区别从上面对拦截器与过滤器的描述来看,它俩是非常相似的,都能对客户端发来的请求进行处理,它们的区别如下:拦截机制有三种:1.过滤器(Filter)能拿到http请求,但是拿不到处理请求方法的信息。2.拦截器(Interceptor)既能拿到http请求信息,也能拿到处理请求方法的信息,但是拿不到方法的参数信息。3.切片(As...
2021-09-13 11:30:09
882
转载 Java各种加密方式集锦(AES,DES,RSA,DSA,MD5,SHA)
一. 什么是加密加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。在网络数据传输过程中会经常用到报文加密,通常是对报文体body信息或者某些参数进行加密。大体上分为双向加密和单向加密,而双向加密又分为对称加密和非对称加密.二.加密方式有哪些,具体怎么加密(一).双向加密1 .对称秘钥加密对称秘钥加密,就是采用这种加密方法的双方使用方式用同样的密钥进行加密和解密。密钥是控制加密及解密过程的指令。算法是一组规则,规
2021-08-25 16:46:39
3199
转载 Java为什么使用Deque实现Stack
在 Leetcode 的交流区,可以看到这样的一个讨论:翻译:我不明白,为什么现在已经 2018 年了(这是 2018 年的帖子),Java 11 马上就要推出了,为什么还有人使用 Java 中的 Stack 类?作为硅谷大厂的一名面试官,我见过太多的面试候选人使用 Stack 类。从面试的角度,这非常不好(这篇帖子的后续讨论,甚至有人提到,这可能使你丢掉一个 offer)。当被问到为什么使用 Stack 类时,什么是已经弃用的方式的时候,大多数人只是回答:网上的解答是
2021-07-02 17:38:19
1661
3
原创 Mysql 同样的值varchar(50)和varchar(225)有区别么
create table student(name varchar(50))insert into student (name) values ('小明')对于同样的值"小明",mysql有什么区别1、对于物理存储上来说,没有区别mysql存储行记录varchar的数据,是以下面的形式的,在【变长字段长度列表】这个块中存储varchar字段真实的length 所以对于同样的值“小明”,mysql都是存储同样的值到【列1的值】,同时存储【02】到【变长字段长度列表】2、但对于查...
2021-06-23 16:45:52
2181
原创 Explain 详解
0、基础explain语句输出的各个列作用如下列名 描述 id 在一个大的查询语句中每个SELECT关键字都对应一个唯一的id select_type SELECT关键字对应的那个查询的类型 table 表名 partitions 匹配的分区信息 type 针对单表的访问方法 possible_keys 可能用到的索引 key 实际上使用的索引 key_len 实际使用到的索引长度 ref 当使用索引列等值
2021-06-21 19:06:25
330
原创 Mysql中B+树索引详解与使用
一、背景知识(InnoDB 数据页结构)1、InnoDB为了不同的目的而设计了不同类型的页, 我们把用于存放记录的页叫做数据页2、一个数据页可以被大致划分为7个部分,分别是File Header,表示页的一些通用信息,占固定的38字节 Page Header,表示数据页专有的一些信息,占固定的56个字节 Infimum + Supremum,两个虚拟的伪记录,分别表示页中的最小和最大记录,占固定的26个字节 User Records:真实存储我们插入的记录的部分,大小不固定 Free S
2021-06-21 18:58:04
687
原创 配置使用logback-spring.xml
1、application.yml指定使用某个分支,rspring: profiles: active: prod
2021-06-01 14:03:39
1573
转载 使用Eclipse Memory Analyzer Tool(MAT)分析线上故障
Eclipse Memory Analyzer Tool(MAT)相关文章目录: 使用Eclipse Memory Analyzer Tool(MAT)分析线上故障(一) - 视图&功能篇 使用Eclipse Memory Analyzer Tool(MAT)分析线上故障(二) - 概念篇 Eclipse Memory Analyzer Tool(MAT)是一个强大的基于Eclipse的内存分析工具,可以帮助我们找到内存泄露,减少内存消耗。 工作中经...
2021-05-18 15:00:59
668
2
转载 多个单列索引和联合索引的区别详解
背景:为了提高数据库效率,建索引是家常便饭;那么当查询条件为2个及以上时,我们是创建多个单列索引还是创建一个联合索引好呢?他们之间的区别是什么?哪个效率高呢?我在这里详细测试分析下。一、联合索引测试注:Mysql版本为 5.7.20创建测试表(表记录数为63188):CREATE TABLE `t_mobilesms_11` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `userId` varchar(255) CHARACTER SET
2021-04-19 17:05:55
441
转载 mysql驱动表、被驱动表、大表小表及join优化
驱动表与被驱动表先了解在join连接时哪个表是驱动表,哪个表是被驱动表:1.当使用left join时,左表是驱动表,右表是被驱动表2.当使用right join时,右表是驱动表,左表是被驱动表3.当使用join时,mysql会选择数据量比较小的表作为驱动表,大表作为被驱动表join查询如何选择驱动表与被驱动表 在sql优化中,永远是以小表驱动大表。例如: A是小表,B是大表 使用left join 时,则应该这样写select * from A a left join B
2021-03-30 11:12:09
15016
4
转载 MYSQL explain详解
explain显示了mysql如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。虽然这篇文章我写的很长,但看起来真的不会困啊,真的都是干货啊!!!!先解析一条sql语句,看出现什么内容EXPLAINSELECTs.uid,s.username,s.name,f.email,f.mobile,f.phone,f.postalcode,f.addressFROMuchome_spaceASs,uchome_spacefieldASfWHER...
2021-02-23 11:55:14
95023
13
转载 Mysql高性能优化规范建议
数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意,并且最后不要超过32个字符 临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效,导致查询
2021-02-20 10:50:40
280
1
原创 @ConditionalOnProperty控制Configuration是否生效
1. 背景Spring Boot通过@ConditionalOnProperty来控制Configuration是否生效。最近项目有2个微服务实例A和B,在common服务上添加了TenancyInterceptor使用了@ConditionalOnProperty注解,然后在A服务properties中设置了config.tenancy.enable=true,在B服务properties中设置了config.tenancy.enable=false这样A服务里面的sql操作就都会触发Ten
2021-02-19 16:46:23
694
转载 Java Stream API入门
你可能没意识到Java对函数式编程的重视程度,看看Java 8加入函数式编程扩充多少功能就清楚了。Java 8之所以费这么大功夫引入函数式编程,原因有二:代码简洁,函数式编程写出的代码简洁且意图明确,使用stream接口让你从此告别for循环。 多核友好,Java函数式编程使得编写并行程序从未如此简单,你需要的全部就是调用一下parallel()方法。这一节我们学习stream,也就是Java函数式编程的主角。对于Java 7来说stream完全是个陌生东西,stream并不是某种数据结构,它只是数
2020-12-08 11:46:12
330
转载 快速入门了解Spring Cloud微服务
概述#毫无疑问,Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在对Spring Cloud功能使用的层面,其底层的很多原理,很多人可能并不知晓。因此本文将通过大量的手绘图,给大家谈谈Spring Cloud微服务架构的底层原理。实际上,Spring Cloud是一个全家桶式的技术栈,包含了很多组件。本文先从其最核心的几个组件入手,来剖析一下其底层的工作原理。也就是Eureka、Ribbon、Feign、Hystrix、Zuul这几个组件。
2020-09-29 17:40:02
215
导出 MySQL数据库表结构word设计文档,一键连接数据库,直接导出库表结构、字段解析、自动排序
2024-01-22
基于SpringBoot+elasticsearch的操作项目,包含各种es的操作(插入记录、精准搜索、模糊搜索、聚合查询等)
2023-10-05
Elasticsearch7.6.1
2023-10-05
基于Springboot+Websocket的简单聊天室
2023-06-01
FFMPEG音视频处理框架-windows资源下载包
2022-11-23
基于elasticjob的入门maven项目
2022-09-01
apache-zookeeper-3.7.1
2022-09-01
oscarJDBC8.jar
2020-09-23
神通数据库使用手册&开发手册.zip
2020-09-19
一键安装adb工具及google usb调试驱动.rar
2020-06-09
JavaEE电子购物网站
2016-06-26
汇编发声系统程序设计
2016-04-07
数据结构超市管理系统这是我大学时的课程设计,可以下载修改(完整,附带说明书)可用dev打开渣渣一个,大神勿喷
2016-04-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人