自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Tomshidi的博客

没实力请虚心

  • 博客(29)
  • 收藏
  • 关注

原创 线上真实死锁分析

线上真实死锁场景,原理分析,这次彻底搞懂死锁。

2022-09-24 17:07:51 608 3

原创 基于springboot实现自定义配置文件外部挂载

基于springboot实现自定义配置文件外部挂载背景spring支持载入jar包外的配置,但是仅仅只对application.properties主配置文件支持。这问题就大了,正式开发肯定不会把所有配置都写在主配置文件中。理论@PropertySource注解有一个factory参数,默认值是PropertySourceFactory.class,默认实现是DefaultPropertySourceFactory.class,这个参数就是用来指定配置文件加载工厂类的。默认的实现是从jar包内查

2022-03-14 22:23:23 1753

原创 基于注解实现springboot支持自定义yaml配置载入

基于注解实现springboot支持自定义yaml配置载入一、前置知识阅读本篇文章时,具备以下知识会更便于理解:java中注解类的定义以及使用java反射的使用spring中bean的初始化流程二、背景@PropertySource注解支持引入自己创建的配置文件,但是在spring新版本中仅支持.properties格式的配置文件。总所周知,properties配置文件在遇到自定义的复杂对象属性时,阅读性差的跟个鬼一样。而yaml格式的配置文件就很好的解决了这一问题。国内技术博客现状,

2021-12-24 22:37:59 1056

原创 Object中equals方法的机制研究

前置知识阅读本文章你至少需要具备以下知识:HashSet特性。equals与==的区别。jvm字符串常量池知识。代码演示通过三种方案实现:根据Person对象的name属性去重public class HashSetMain { public static void main(String[] args) { // 创建HashSet对象 HashSet<Person> hs = new HashSet<>();

2021-11-19 22:52:00 251

原创 JUC并发编程笔记

JUC并发编程笔记Object.wait()方法释放锁,重新获得锁后会接着往下执行,例如:public class WaitLockMain { public static void main(String[] args) throws InterruptedException { TomClass tomClass = new TomClass(); new Thread(() -> { try {

2021-10-24 12:26:43 94

原创 MySQL优化笔记其三

锁机制 MyISAM引擎表锁查看加锁情况show open tables;手动增加表锁lock table 表名1 read(write),表名2 read(write),其他;手动释放锁unlock tables;read锁举例: session_1对dept表加read锁,seesion_1和session_2(泛指其他session)均可读dept,但是session_1无法对dept表写数据,也无法读取其他未锁定的表。session_2可以读取其他表,但是写数据进

2020-10-09 19:49:36 108

原创 MySQL优化笔记其二

order by 优化慢查询查询配置show variables like '%slow_query_log%'开启set global slow_query_log=1阀值配置show variables like '%long_query_time%'set global long_query_time=3睡眠语句select sleep(seconds);慢查询条数show global variables like '%Slow_querie

2020-09-26 22:18:47 191 1

原创 MySQL 5.7中select列不在索引列出现的选择性走索引的问题

MySQL 5.7中select列不在索引列出现的选择性走索引的问题不要在重复值很多的列上建立索引建表语句CREATE TABLE `violation_record` ( `record_id` int(11) NOT NULL AUTO_INCREMENT, `student_id` int(11) NOT NULL, `event_description` varchar(255) NOT NULL, `punishment` varchar(128) NOT NULL,

2020-09-15 22:21:58 372

原创 docker invalid reference format: repository name must be lowercase

docker run 命令参数中带有空格名路径引发问题的命令docker run --name mysqlserver -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 33060:3306 mysql:latest产生的问题invalid reference format: repository name

2020-09-12 22:13:00 4907

原创 springboot中使用mybatis出现invalid bound问题

在springboot中使用mybatis出现invalid bound问题排除因素调试中发现xxxxxMapper对象的值是已经经过mybatis框架代理过的,说明@Mapper注解扫描到了问题根源application.yml文件中未配置mybatis.mapper-location参数,导致找不到xxxxMapper.xml映射文件拓展一下,如果.xml文件没有被编译器识别为资源文件,即:没有被编译输出到build output目录,也会出现上面的问题。...

2020-09-12 22:10:00 713

原创 MySQL优化笔记 其一

MySQL优化笔记explain参数篇type类型性能好坏ALL, index, range, ref, eq_ref, const, system(从左到右,性能从差到好)Extra 可能的值Using where:列数据是从仅仅使用了索引中的信息而没有读取实际的行动的表返回的,这发生在对表的全部的请求列都是同一个索引的部分的时候,表示mysql服务器将在存储引擎检索行后再进行过滤Using temporary:表示MySQL需要使用临时表来存储结果集,常见于排序和分组查询U

2020-09-07 22:31:03 92

原创 MySQL explain使用日志一

MySQL explain使用日志一以下结果由本篇中的测试语句推测得出,可能有误差,发出来算是抛砖引玉吧建表DDLCREATE TABLE `barrage_info` ( `barrage_id` int(11) NOT NULL AUTO_INCREMENT, `barrage_sender_id` int(11) NOT NULL, `content` varchar(512) NOT NULL, `speed` int(11) NOT NULL, `color` varch

2020-08-30 19:30:26 128

原创 mysql 查日期在在5.13-5.18时,订单量1-2,2-3,3-5的客户数

查日期在在5.13-5.18时,订单量1-2,2-3,3-5的客户数一个在接单时看到的题目下面是数据库脚本create table flash(S varchar(10),id varchar(10),day date NOT NULL);insert into flash values('PN0011' , 'cc001' , '2020-05-12');insert into flash values('PN0012' , 'cc001' , '2020-05-13');insert i

2020-08-10 09:53:29 674

原创 nacos ubuntu16.04集群部署

请先安装好jdk1.8安装mysql5.7安装方法安装nginx程序安装 sudo apt-get install nginx安装后可执行文件路径/usr/sbin/nginx 此时在任意路径下输入nginx都可以启动查看nginx是否在执行 ps -ef|grep nginxnginx命令nginx -s stop 停止运行nginx -s reload 重新加载配置文件,慎用,有概率不生效,建议老老实实重启配置文件更改,ubuntu下的配置文件有两个路径/e

2020-07-14 12:26:59 811

原创 动态配置中心@RefreshScope 标记的类中属性注入值为null

@RefreshScope 标记的类中属性注入值为null说一句,国内写文章的解答的,ctrl cv好用不我这个问题百度了一个小时没解决,外网几秒钟,真尼玛服了,抄抄抄,抄尼玛呢下面是我出问题的代码/** * @Author TomShiDi * @Since 2020/7/8 * @Version 1.0 */@RestController@RequestMapping("/config")@RefreshScope@Slf4jpublic class ConfigClientC

2020-07-08 16:19:30 1994 13

原创 Java实现排序树以及四种遍历

Java实现排序树以及四种遍历首先需要定义一棵排序树,废话,重点在添加节点这个函数。上代码:/** * 一棵二叉排序树 * * @Author TomShiDi * @Since 2019/9/2 * @Version 1.0 */public class TomTree { /** * 根节点 */ private Node rootN...

2019-09-26 10:15:51 957

原创 基于SpringBoot的代码跟踪框架demo

本篇博客将介绍如何写一个@EnableXXXX注解 实现方法简单的方法跟踪需要准备的基础知识如何编写一个注解接口,以及注解参数设置反射类的原理以及常用api的使用方法springboot bean初始化以及创建的过程~~(这个的内容有点多,可以大概了解一下)~~cglib动态代理的使用方法以上内容本篇文章不做过多的解释,如遇不懂之处请自行百度,google。设计思路开始设计...

2019-08-13 18:30:16 451

原创 java中整型数据转换深入解析

java中整型数据转换深入解析下面我会用几个例子讲解转换的原理int型强转short这种强转是不推荐的,会导致高位数据丢失,浮点型会导致精度丢失。但是既然有这种方法,说明它是有存在的必要的。首先看下面的情况:先手算一下结果看看。///////////////正确结果是-1/下面解释原理0x7fffffff 的二进制形式为0111 1111 1...

2019-08-07 15:10:08 336

原创 从Springboot源码分析启动过程

从Springboot源码分析启动过程这篇博客主要是通过Springboot的源码,分析Springboot项目的启动过程,深入理解spring的工作原理。其次,我对部分源码加上了注解,新手可以稍微看一下,同时我也希望大佬们能指出我理解有误的地方。一、springboot启动源码解析public ConfigurableApplicationContext run(String... arg...

2019-05-16 23:36:19 349

原创 nginx 反向代理 http转https wss转ws 服务端不变

nginx 反向代理 http转https wss转ws 服务端不变本篇博客主要解决nginx http转https的配置问题,以及wss转ws的配置,本配置的好处就是后台原http代码不需要做任何修改主要配置介绍http配置介绍http {log_format main '$remote_addr - $remote_user [$time_local] "$request" '...

2019-05-16 23:29:50 6820

原创 基于原生js实现主流弹幕的所有功能

原生js实现弹幕效果原理 二距离写实现原理一有很长一段时间了,因为好像没什么人看,所以我就不太想写原理二,为了不食言,我还是坚持做完这个系列吧下面介绍的就是目前主流直播弹幕网站的弹幕实现方式,包括弹幕指定暂停,点赞,举报功能.首先来看一张实现动图原理简介动画效果使用css3中的 transition 属性实现只有transition是远远不够的,因为transition需要主动触.........

2019-04-24 10:34:29 3388 1

原创 java::语法糖以及函数式接口

spring源码阅读过程中的收获@FunctionalInterface 函数式接口,函数式接口,首先是一个接口,然后就是在这个接口里面只能有一个抽象方法。 @FunctionalInterface public interface ContextInitialize { void doIt(String param); }更多相关的介绍请看这篇博客https:/...

2019-04-07 15:59:04 342

原创 基于原生js和css3实现barrage弹幕效果

实现原理

2019-03-18 16:34:48 1891

原创 SpringBoot@Valid表单验证取值为空

简单的问题记录@PostMapping注解相信大家都不陌生,@Valid是一个非常便利的表单验证注解,但是这个注解的坑有点多。@Valid注解需要配合BindingResult类一起使用,但是注意了,这两个东西必须紧挨着写,否者程序运行会报错使用@Valid注解的实体类的getter和setter方法有格式要求错误格式正确格式...

2019-03-08 21:26:46 967

原创 【C语言踩坑】PCAP发送ARP包之 --多出的字节

PCAP发送ARP包之多出的字节-------------------------------------------------------------------------------------------------------------------最近接触了一些计算机网络的底层协议,试着做了一个发送和接收ARP报文的demo,刚开始没注意,后来使用wireshark抓包才发现,...

2019-01-03 19:22:31 1019

原创 C++基于递归的全目录文件查找

调用的数据结构和函数:struct _finddata_t结构体long _findfirst( char *filespec, struct _finddata_t *fileinfo )int _findnext( long handle, struct _finddata_t *fileinfo )具体参数说明可以百度,或者看这篇博客https://blog.csdn.net...

2018-10-13 19:50:46 1287

原创 freemarker之ftl文件中引用静态资源的问题

作为立志成为全栈工程师的人,肯定要前后端一起抓啦在springboot中引入freemarker依赖踩坑日志的话我就不写怎么使用了吧。freemarker格式文件后缀是 ftl springboot默认动态文件目录是但是springboot框架本身在资源引用方面是有问题的,我深受其害.在ftl文件中难免要引入一些js、css、image等其他资源文件这是目录结构ftl文件中引入...

2018-10-13 19:14:49 15572 3

原创 springboot@Transitional注解

@Transitional注解使用数据库的事务处理我这里不再赘述(其实是自己懒),简而言之:如果数据库操作中途发生错误,对数据库此次的操作撤回。既然是踩坑日志,那肯定有坑啦。在我没有加@Transitional注解的情况下,我执行了delete操作,然后就出现了下面的错误.基本意思就是:这是一个不可靠的remove操作.这一次日志的篇幅比较短,以后再补充...

2018-10-13 18:49:01 1887

原创 springBoot+JpaRepository配置数据库踩坑

springboot+Jpa配置数据库遇到的问题application.yml或者application.properties文件配置我是使用的mysql5.x.x的版本,所以在首次配置Jpa的时候最好加上下面这些内容spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: usern...

2018-10-13 18:26:00 5511 1

空空如也

空空如也

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

TA关注的人

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