- 博客(286)
- 收藏
- 关注

原创 几年了?作为一个码农终于把MySQL日记看懂了,为此肝出此文!!!
一、写作背景大家都清楚,日志是 MySQL数据库的重要组成部分,记录着数据库运行期间各种状态信息。MySQL日志主要包括错误日志、查询日志、慢查询日志、二进制日志(binlog)和事务日志(redo log、undo log)几大类。其中,二进制日记和事务日记尤为重要,一直被人重视、深入研究;可是事实很残忍,重视或者说大多数人一般都是了解个表面,真正懂得人并不多。真想攻破这两块日记必须下血本,而且还不一定能攻破。但是不要紧,为了让你们省下血本还能顺利攻破这两块日记,我连续研究几周MySQL日记,最终
2020-10-11 17:32:07
8215
11

原创 内置锁探索,结合对象头分析内置锁(亲测,研究一段时间总结)
Table of Contents一、对象头打印信息类二、对象头介绍三、对象头的参数说明四、无锁分析四、偏向锁五、轻量级锁六、重量级锁七、带上一张自画图--内置锁sync升级过程图阅读此博客前必读:代码大家自己动手敲,不要太懒哈。我都给截图,不给代码!此篇博客大多都是基于实战验证理论过程,重点在于偏向级锁实战等几个实战。一、对象头打印信息类导入Maven...
2019-10-24 23:16:32
1110
13

原创 ReentrantLock源码分析全
目录图片分析过程源码分析一、t1线程拿锁源码分析过程二、t2线程拿锁失败进入队列阻塞源码分析过程三、t3线程拿锁失败进入队列阻塞源码分析过程四、t1释放锁源码分析过程五、t2线程被唤醒后拿锁源码分析过程六、t2线程释放锁源码分析过程七、t3线程被唤醒后拿到锁源码分析过程八、t3线程释放锁源码分析过程下面的源码分析将围绕三个线程的使用来介绍源码,先图...
2019-09-08 10:30:29
673

原创 什么是Ajax及其底层实现
1、什么是Ajax? 总的来说: Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术,是异步刷新技术,用来在当前页面内响应不同的请求内容。(Ajax并非一种新的技术,而是几种原有技术的结合体(css、html、js、xmlHttpRequest…)。) 专业术语: - Ajax...
2018-12-09 19:36:54
2459
原创 滑动窗口限流
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎大家留言讨论,你们的行动将是我无限的动力。可以看到限流在38分46秒时开始,在39分04秒时达到了10个请求,所以后面都是被限流了false,直到39分40多秒才有新的请求进来,所以可以看到39分40秒是true。滑动窗口限流,一分钟限流10次请求,代码带注释。本篇主题是:滑动窗口限流。
2023-10-27 14:49:34
251
原创 使用Java代码生成RSA公私钥的.pem文件
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎大家留言讨论,你们的行动将是我无限的动力。代码首先通过KeyPairGenerator指定algorithm为RSA,长度为2048,生成长度为48的RSA密钥。然后通过PemWriter这个类来写出PemObject文件。最后会在资源目录下生成两个pem文件,如下所示。其它代码都是文件输出的基础,这里不再介绍。用代码生成RSA公私钥的.pem文件。
2022-11-15 21:42:38
4663
2
原创 妙借Git自带的OpenSSL生成RSA公私钥的.pem 文件
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。注意:上面我指定了生成目录为/Users/huangzhixue/rsa_key目录下,如果不指定默认在git的bin下面生成,因为终端定位到了bin下。1、找到安装Git目录,并通过终端进入到bin 目录下,如果不知道Git安装在哪里,可以借助Idea找到。打开对应目录,可以看到已经生成了公钥。打开对应目录,可以看到已经生成了私钥。4、生成公钥.pem文件。
2022-11-14 17:20:33
2058
原创 Mockito -- 如何Mock Util类中的static 方法?
出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。比如要Mock下面的DateUtils类中static-convertLocalDateTimeToStr方法,下面只是一个例子,真实场景中可能非常复杂的xxUtils。3、如果要多个测试类中使用,需要close掉mock static,不然会报只能在当前线程使用。1、要引入mockito-inline依赖代替mockito-core,不然会报下面错误。注意要引入mockito-inline依赖代替mockito-core,不然会报错。
2022-09-21 18:15:03
11342
原创 Cucumber 1 -- 什么是BDD、Cucumber?它们的关系是什么?
Gherkin 是一组语法规则,使纯文本的结构足以让 Cucumber 理解。上面的场景是用 Gherkin 编写的。明确的可执行规范使用 Cucumber 进行自动化测试记录系统的实际行为方式下面是步骤定义介绍将 Gherkin 步骤连接到编程代码。步骤定义执行该步骤应执行的操作。因此,步骤定义将规范硬连接到实现。步骤定义可以用多种编程语言编写。})总结:Cucumber 是一个支持行为驱动开发(BDD)的工具,一个测试框架。
2022-09-20 22:53:42
1067
原创 Spring Boot Jasypt 3.0.4 报错---算法加解密使用不一致
Spring Boot Jasypt 3.0.4 报错---算法加解密使用不一致目录场景错误描述如下感悟错误原因结论错误分析两种解决方案。
2022-09-07 22:01:25
3369
1
原创 SpringBoot 之 Jasypt 实现yml配置文件加密
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。在我们的项目中各种application-x.yml 配置文件经常会存储一些password的值,如果是明文存储其实是一种安全隐患,很多公司项目交付时是不能过的,我们可以使用SpringBoot的Jasypt 的方式进行加密。官网教学可以参考--下面让我们开始,案例,加密数据库用户和密码。
2022-09-07 21:37:28
2851
原创 MySQL in和exists 查询分析
in和exists执行时,in是先执行内查询,然后再执行外查询。而exists查询它是先执行外查询,然后再执行内查询(这里的内外查询不理解可以结合上面的分析理解)。exists和in在执行时效率单从执行时间来说差不多,exists要稍微优干in,在使用时一般应该是用exists而不用in。如果内查询得出的结果集记录较少,外查询中的表较大且又有索引时应该用in,反之如果外查询记录较少,内查询中的表大,又有索引时使用exists。...
2022-08-31 13:06:22
4042
3
原创 阿里云安全组 设置数据库仅自己电脑IP可登陆
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。在安全组入网方向,设置一个3306端口的安全组规则,默认0.0.0.0/0为所有ip可以连接,通过账号和密码。现在要限制只有自己ip可以访问,需要配置这个规则,也就是修改源IP,注意这个。cmd里面直接输入telnet ip port,正常连接上如下图。如果连接不上,可能是动态IP,一直变化,会出现下面。如果IP是变化的,可以尝试下面所有方法都试试。.........
2022-08-30 18:33:57
3916
原创 Jmeter02--Jmeter调用一个接口
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。2、新增一个线程组,线程组全用默认设置,也就是单个线程只发起一次请求(Add -> Threads(Users)-> Thread Group)4、新建一个监听器 Listener监听请求响应结果(Add -> Listener -> View Results Tree)3、新建一个HTTP请求 Sampler,用于发起请求(Add -> Sampler -> HTTP Request)...
2022-08-28 17:45:16
1557
1
原创 Unit Test 测试采用H2数据库,两种方式导入数据
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。本篇主题是:Unit Test 测试采用H2数据库,两种方式导入数据Unit Test 测试采用H2-嵌入式内存数据库作为测试数据来源,因为数据比较复杂,如果从代码上写,会造成很多没有用的代码。...
2022-08-03 18:00:10
1199
原创 JPA自动建表字段名称采用驼峰形式
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。可以看到建表语句如下,发现自己实体字段命名明明是customerNumber,结果建表语句却是customer_number。今天采用JPA + H2和SQL文件插入的方式来写测试类,发现插入数据失败!解决: 直接在配置文件application-test.yml加入以下配置。所以导致我要插入的语句都失败,但是我不想以下划线命名。PhysicalNamingStrategy
2022-08-03 16:59:36
2656
1
原创 一行配置解决JPA + H2 测试时懒加载LazyInitializationException异常
一行配置解决JPA+H2测试时懒加载LazyInitializationException异常
2022-08-01 17:55:12
653
原创 一个很好的Spring Batch Example Project
因为工作中对Spring Batch大量使用,我也抽空系统学了一遍这个框架,这是个很好的批处理框架,提供了大量的功能满足项目所需。一开始想学了写多点文章总结,但是实在抽不出太多时间写文章,所以提供个Github也算是一份总结,所有系统学习的代码都在GitHub上面。后续有需要单独写一些相关的文章。建议直接和我一样根据官网系统学习。下面是Spring Batch的官网:https://docs.spring.io/spring-batch/docs/current/reference/html/下面是我的Gi
2022-06-14 17:47:06
290
原创 Mock 和 MockBean -- 有些bean不想Mock怎么办?
有些bean不想Mock,则必须要启动Spring容器,使用容器帮忙注入的Bean,需要进行Mock行为的类此时必须用MockBean注入。在我写过的单元测试中,大多数都是用的Mock注入,因为Mock注入一般可以满足需求。但是一次测试中,应该属于集成测试,需要容器中相关的类,所以Mock注入不能满足要求,只能用MockBean注入如果是简单的Mock,则配置非常简单,如下:这里不需要借助任何容器。对于MockBean,是需要启动容器,配置如下:通过SpringRunner.class,和@Spri
2022-06-14 17:17:40
4149
原创 Spring Bean 是否可以覆盖和版本之间的关系 allowBeanDefinitionOverriding
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:Spring Bean 是否可以覆盖和版本之间的关系Spring默认所有版本都是允许Bean覆盖.DefaultListableBeanFactory类中allowBeanDefinitionOverriding参数默认是true。Spring Boot2.1.0版本及之后默认是不允许bea.
2022-03-15 20:01:58
1426
1
原创 JPA、Hibernate和Spring Data JPA区别
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:JPA、Hibernate和Spring Data JPA区别因为我刚毕业前和毕业工作一年时,用的都是Mybatis框架,但是只了解过Hibernate,未实际使用,近来工作一年中都在使用Spring Data JPA,但是一直发现它跟Hibernate很相似,本篇文章简单介绍一下JPA、Hibernat.
2022-03-04 23:47:46
1289
原创 Spring Batch 单元测试
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:Spring Batch 单元测试Spring Batch 官网也介绍了很多,感兴趣可以先看一看Spring Batch Unit Testing下面进入本文主题1、添加依赖 <dependency> <groupId>org.springframewor.
2022-01-17 15:01:09
2594
原创 通过ReflectionTestUtils 对Mock的类属性进行填充数据
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:通过ReflectionTestUtils 对Mock的类属性进行填充数据本章很简单,想要达到的目的是填充一个已经Mock的测试类的属性数据。比如类如下:这个类有两个属性unitTest、unitTest2,接下来是一个Test类这个结果肯定是通过不了,因为通过@InjectMocks注入的be.
2022-01-06 16:37:18
1279
原创 spring.datasource.schema/data 根据官网深趴
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:spring.datasource.schema/dataspring.datasource.data一、参数解释https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/html/common-application-proper.
2021-12-27 15:22:14
3568
原创 嵌入式(embedded)与非嵌入式数据库
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:数据库嵌入式和非嵌入式一、嵌入式和非嵌入式数据库介绍嵌入数据库是指内存中数据库,英文称为–embedded,又称in-memory embedded database在内存中的嵌入式数据库。非嵌入式数据库是指保存到存储器的数据库,英文称为H2, HSQL and Derby databases都是属.
2021-12-20 11:58:22
1522
原创 同一个类的方法怎么Mock?spy函数啦
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:同一个类的方法怎么Mock?spy函数啦我在测试的时候,不希望被本类的其他方法干扰,因为后面我还要单独测试其他方法,这个时候,怎么做到呢?spy函数打桩闪亮登场,待测试代码如下:测试类内容,主要是spy打桩后在mock就能搞定代码也放一遍需要测试的类@Servicepublic class .
2021-11-24 16:09:42
6020
5
原创 Controller层的测试类怎么写?
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:Controller层的测试类怎么写?需要测试的接口:主要是为了保证圈圈里面的逻辑正确测试代码@RunWith(MockitoJUnitRunner.class)public class UnitTestControllersTest { @Mock UnitTestServic.
2021-11-24 15:35:20
2761
原创 logback日志不生效bug,怎么验证是否生效?
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:logback日志不生效bug,怎么验证是否生效?深刻体会到,bug都是很恶心的,需要大量时间去排除。但有时候一个bug会触发你的学习,然后不仅解决了还能学到更多东西,这就是bug另外的一面。话不多说,下面进入本篇内容必要知识点logback在启动的时候,会按照下面的顺序加载配置文件在class.
2021-09-01 12:26:08
4208
1
原创 灵活启动项目,通过VM options 设置spring.config.location/spring.profiles.active
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:****一、Docker 官网我们常需要配置一些vm参数,使得项目启动更加灵活或者优化JVM等。比如下面两个参数参数作用spring.config.location某路径spring.profiles.active指定当前活跃的配置文件比如我的applicatio.
2021-09-01 11:17:15
3200
原创 Swagger 2.0版本定制化页面
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:Swagger 2.0版本定制化页面Swagger 2.0版本定制化页面 往往在开发过程中,可能会被要求定制化一下Swagger UI。在Swagger响应中,如果需要定制下面界面的状态码和响应model,需要简单去实现几步。(swagger3.0找了好久,定制化失败…)实现步骤(所有代码看最后).
2021-08-30 17:55:36
885
原创 Jmeter01--Jmeter概念和安装
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:Jmeter概念和安装一、Jmeter概念 Jmeter是Apache公司开发基于Java语言的压力测试工具,可以做接口测试和性能测试。如果单单做接口测试还是选择Postman更方便,Jmeter还是建议用来做性能测试。二、Jmeter下载启动官方下载地址:https://jmeter.apach.
2021-08-24 17:27:29
106
原创 Docker 2--Docker概述与架构介绍
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:Docker概述与架构介绍Docker 概述与架构本文翻译于docker官方文档https://docs.docker.com/get-started/overview/Docker架构 Docker使用 client-server/客户端-服务器端 架构。 Docker客户端与Docke.
2021-08-17 10:39:28
174
原创 Docker 1--相关资源网站
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:相关资源网站一、Docker 官网汇集Docker所有,安装、文档…https://www.docker.com/二、下载Docker桌面版本:下载软件1、https://www.docker.com/get-started2、https://docs.docker.com/get-doc.
2021-08-11 15:54:44
127
原创 Unit Test 7--单元测试覆盖率表单生成交付,Jacoco的使用
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:单元测试覆盖率表单生成交付,Jacoco的使用...
2021-07-29 18:28:32
1157
原创 Unit Test 6--单元测试踩过的坑
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:单元测试踩过的坑...
2021-07-29 17:43:09
852
原创 Unit Test 5--编写第一个单元测试
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:编写第一个单元测试...
2021-07-29 17:04:52
1500
原创 Unit Test 4--自动生成单元测试插件之TestMe与Diffblue
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:自动生成单元测试插件之TestMe与Diffblue...
2021-07-29 15:16:57
15934
6
原创 Unit Test 3--编写单元测试之前需要了解的单元测试框架Mock
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:编写单元测试之前需要了解的单元测试框架Mock什么是Mock? Mock是在测试过程中,对于一些不容易构造/获取的对象,创建一个Mock对象来模拟对象的行为。比如说你需要调用B服务,可是B服务还没有开发完成,那么你就可以将调用B服务的那部分给Mock掉,并编写你想要的返回结果。 Mock有很多的.
2021-07-29 14:52:23
935
原创 Unit Test 2--IDEA配置并查看单元覆盖率
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:IDEA配置并查看单元覆盖率4步配置,便可在IDEA本地查看单元覆盖率1、准备一个项目2、配置一个Run/Debug Configuration(选择扫描包,pers.xue.skills是我项目的根目录)3、选择刚配置的,运行Coverage4、直接会弹出框,可以查看结果(当然这里是没有写.
2021-07-29 14:51:53
7383
原创 Unit Test 1--什么是单元测试
大家好,我是神韵,是一个技术&生活博主。出文章目的主要是两个,一是好记忆不如烂笔头,记录总结中提高自己。二是希望我的文章可以帮到大家。欢迎来点赞打卡,你们的行动将是我无限的动力。本篇主题是:什么是单元测试文章背景:通常我们都会被要求到写单元测试,并且达到60%~90%范围内的一个固定指标(具体因公司和项目安排,我上次是80%)。其实不管是单元测试率(Coverage)、异味代码(codesmell)等都是一个项目的指标而已,可以体现一个项目更优。什么是单元测试?我这里也不想引用任.
2021-07-29 14:51:24
980
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人