自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 报错:Error creating bean with name ‘configDataContextRefresher‘ defined in class path resource [org/sp

报错

2022-06-15 10:08:13 956 1

原创 Spring事务传播行为(举例说明)

Spring事务传播行为讲解笔记

2022-01-06 01:01:37 706

原创 mysql中redolog和binlog的总结

一.redolog1.redo log的概念redolog是物理日志,默认大小是4G,记录在某个数据页上做了什么修改。有了 redo log,InnoDB 就可以保证即使数据库发生异常重启,之前提交的记录都不会丢失,这个能力称为 crash-safe。因为redo log 的写入机制是事务中有更新操作时就会将更新操作记录在 redo log buffer 中,在事务提交时,根据相关参数的设定,按照不同逻辑持久化到磁盘文件2.redo log写入文件的过程简介redo日志从生成到写入文件要

2021-12-31 18:25:06 2424

原创 RocketMQ基础语法笔记

由于一个项目中要简单的用一下RocketMQ,所以下面做一些学习笔记供自己后面查阅复习(图片来源于黑马Rocket教程)需要导入的依赖如下(版本号可能要和你在服务器s)<dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.3.2</version

2021-12-22 12:20:59 416

原创 19.执行单条记录查询慢的原因

先补充几条指令①可以用 show processlist查看连接状态show processlist②可以用lock table 表名 WRITE/READ 来模拟指定加读锁还是写锁,用unlock tables来是释放锁③查看占有锁的pidSELECT blocking_pid FROM sys.schema_table_lock_waits只查询一行语句,但是却很慢的原因(CPU占用率高,IO占用率高都不在这次的讨论范围内)一.查询查询长.

2021-12-06 02:25:19 169

原创 18.mysql索引失效的部分原因

1.对索引字段做函数操作,可能会破坏索引值的有序性优化器会决定放弃走树搜索功能。(即便逻辑大致相同),比如时间time本来是‘2018-7-1’ (datetime的类型),此时你用了month(time)=7,导致优化器不知道怎么走(看索引树就知道了,破坏了索引树同级节点的有序性)mysql优化器处理比如 select * from tradelog where id+ 1 = 10000 的时候会偷懒不走索引,即便这种条件写法不会破坏有序性,要手动改写成 where id =

2021-12-06 00:49:46 195

原创 leetcode第一天-LRU 缓存机制

https://leetcode-cn.com/problems/lru-cache/对着题解的文字描述手写了一下这题的代码。不做太多解释,原理懂了基本就能写出来。注意双向链表的头尾指针是用来做临界标志的,不存val值,并且在对某个节点进行删除和添加的操作的时候,注意对其前后节点的pre和next进行修改class LRUCache { class Node{ Node pre; Node next; int key;

2021-10-12 23:27:53 76

原创 leetcode第一天-反转链表(带简单图解)

leetcode打卡第一天https://leetcode-cn.com/problems/reverse-linked-list/代码模板://反转链表就按照这个模板背就好了 class Solution { public ListNode reverseList(ListNode head) { ListNode pre = null;//开始指向头节点前面的点,所以为空 ListNode root = head;//开始指向头节点 ..

2021-10-12 20:17:10 95

原创 flask接收post请求的数据

我在请求体中加了url:"xxx"的参数,然后在后端中先用request.form获取总的数据,然后再用data1['key']获取具体key对应的value

2021-09-12 17:11:06 1475

原创 关于base64用解码后无法正常显示图片的问题

我在前端把图片先转化为base64编码后,用axios传回后端然后解码写入文件后发现图片无法正常显示。经过对比前端生成的base64编码和后天接收到的base64编码发现,用axios传输的时候会把编码中的斜杠 / 给转化成十六进制形式:%2F,并且有时候收到的编码结尾会出现等号,所以我用网上找的解码代码会失效。解决方法:把%2F重新转换成/,然后把等号去掉即可下面是网上找的java版Base64解码和加密的代码,具体存储的文件路径之类的自己设置即可宿舍import java...

2021-09-03 12:20:07 12636

原创 vue中当使用div标签的contenteditable的时候,动态获取输入内容的方法

当使用div标签进行编辑的时候,如果想要动态获取输入的值,也就是div盒子中的内容,用v-model会报错,不支持解决方案(用ref和this.$refs以及js的innerHTML来获取)同时要记得用v-on监听一个input事件用给标签加上ref属性之后,再到监听input事件的方法里去用this.$refs.自定义的ref名字,即可获取到这个标签对象,然后再用innerHTML即可获取到里面的值...

2021-08-21 13:10:57 5716 4

原创 用sessionStorage存取对象为空的情况

1.可以直接存字符串,此时取的时候也能直接取出来用2.但是如果存的时一个对象,比如,此时存入session的时候要用JSON.stringfy来存,读取的时候要用JSON.parse来取,如果直接存的话打开开发者工具看,这个数据会为Object,并且取出来的数据会有问题,比如下图就是存取一个对象数组,的话取出来的不是数组...

2021-08-05 23:17:22 1444 1

原创 mysql查询相关语法总结

一.查询语句1.基础查询1.查询表中某一字段:select 字段名 from 表名;2.查询表中多个字段:select 字段名,字段名 from 表名; (字段名用逗号隔开) 3.查询表中所有字段: select * from 表名2.进阶查询 select 字段名 from 表名 where 筛选条件;筛选条件大致有如下这些,其中1.<>表示的是不等于2.通配符:① %:表示可以匹配任意多个字符包括0个② _:表示可以匹配的任意一个字符③ \:表示转字字

2021-08-04 00:36:06 497

原创 echart报错echarts/lib/visual/dataColor in ./node_modules/echarts-liquidfill/src/liquidFill.js

报错内容:This dependency was not found:* echarts/lib/visual/dataColor in ./node_modules/echarts-liquidfill/src/liquidFill.jsTo install it, you can run: npm install --save echarts/lib/visual/dataColor解决方法:运行 npm i v-charts [email protected] -S即可...

2021-08-01 18:28:10 3285 2

原创 Vue项目网页报错Cannot read property ‘components‘ of undefined

记录一下项目中出现的这个报错,这个报错的原因是在App.vue中导入的组件中重复引用了同一个文件的mixin下的文件解决方法:在mixins文件夹下额外创建一个文件,把函数粘贴过去然后去导那个文件即可...

2021-08-01 13:13:02 4667 8

原创 设置网页中的组件不可拖拽

给需要设置的组件加上 ondragstart="return false" 即可

2021-08-01 08:51:01 177

原创 通过getBoundingClientRect()获取对象相关属性

比如下面要获取ref="progress"的标签对应盒子的宽度,就可以用this.progressLength = this.$refs.progress.getBoundingClientRect().width;

2021-08-01 03:54:59 301

原创 echarts在vue中的导入和入门使用以及Cannot read property ‘getAttribute‘ of null“的解决方法

echarts官网:https://echarts.apache.org/zh/index.html先看效果图1.echart导入vue先在项目目录终端输入下面指令安装一下echart,用cnpm装会比较快npm install echarts --save或者cnpm install echarts --save在main.js中导入echartimport echarts from 'echarts'Vue.prototype.$echarts = echa.

2021-07-30 14:33:06 693

原创 用request.getParameter获取不存在的属性值时

用request.getParameter获取不存在的属性值时,如果用String接这时收到的值是undefined,而不是null

2021-07-29 18:41:34 604

原创 当修改文件路径导致springboot项目找不到主类以及各种错误的解决方案

(我遇到的情况是当我用IDEA打开原项目的文件夹就可以正常运行,打开原项目的上层文件夹时就出现各种问题无法运行,比如Main class 找不到对应的主类,一顿操作后编译器不会提示有错,但是运行的时候还是会说: 找不到符号符号:类 xxx位置:程序包 xxx.xxx)解决方法重新在当前最上层文件夹中创建一个maven项目的Module,然后把新建项目的src文件和pol.xml文件替换后再重新在EditConfigration中配置一下main class即可...

2021-07-23 01:00:28 1144

原创 IDEA报错Error occurred during initialization of VM

解决方式:选的jdk有问题,要在File->Project Structured的Project中选好配置好环境变量的那个jdk才行

2021-07-23 00:51:48 11186

原创 Leetcode刷题系列java版-----链表(中级)

在Leetcode刷题系列java版-----链表(简单)中,主要介绍了链表的增删改查和反转链表的基本模板,下面来看看中级题中如何运用这些模板以及一些比较有意思的题1.https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/思路很简单,就是两个点两个点的取,然后交换即可,但是这里要自己构造一个头指针才好做,不然不太好写。这是链表题常用的技巧之一/** * Definition for singly..

2021-07-21 03:10:59 135

原创 Leetcode刷题系列java版-----链表(简单)

我写的这个系列的博客解题的算法不一定是时间和空间复杂度最优的解,一切以能AC+算法模板普适性为原则解题首先是链表的增删改查,所有问题都是以链表的增删改查为核心去变种的,改和查按照条件去遍历链表即可,下面直接看leetcode原题:1.移除链表元素(链表删除节点的模板题)要点:①进来一定要先记得判空,在访问next的时候也一定要注意代码是否会造成空指针异常,如果一个类比如ListNode题中的两个属性val和next,如果当前节点node为null,那么访问val和next的时候都会报空指.

2021-07-21 00:42:49 330

原创 css设置盒子的默认高度

用min-height属性即可

2021-07-20 12:04:28 389

原创 elementui-plus的使用el-date-picker组件后端接收的日期少一天的解决方案

在el-date-picker中加入value-format="YYYY-MM-DD"即可且由于后端接收的数据是英文格式的,所以可以用JsonFormat注解加以限制create最后返回给前端会显的格式,timezone是时区的意思

2021-07-20 01:07:39 1861 3

原创 JS中用splice函数实现数组元素的删除,修改,添加

letter = ['a','b','c','d'];letter.splice(1,3);//删除索引1开始删除3个元素(包括索引1)letter.splice(1,3,'e','f','g');//分别修改从索引1开始的3个元素为e,f,gletter.splice(1,0,'h');//第二个参数为0就表示插入元素,这里是往letter[1]后面插入元素'h'...

2021-07-11 16:42:32 376

原创 synchronized关键字(一)

一.并发编程的三大问题一.可见性 1.概念: 对于共享数据,一个线程对该数据的值进行修改后另一个线程无法得到修改后的值 2.代码演示:public class Test1 {private static boolean flag=true;public static void main(String[] args) throws InterruptedException { new Thread(){ @Override public void run(

2021-05-31 19:47:07 72

原创 Java创建多线程的四种常用方式

提醒:下文内容仅就总结多线程的创建方式,不考虑线程安全问题,且为了直观,在异常处理方面大量省略一.程序,进程,线程的基本概念 这里只要做简单的了解即可,红字部分有印象就行,详细内容在虚拟机部分做具体解释二.创建多线程的四种方式(以多线程抢票为背景)①在JDK5.0之前: 方式一:继承Thread类 //1.创建一个子类继承Thread class Mythread extends Thread{ private static int ticket=100; //

2021-05-31 19:34:10 189

原创 4. 深入浅出索引(上)

本篇文章主要对索引中用到的数据结构做了介绍一.索引的常见模型1.哈希表创建一个数组,数组下标为key,值为value。比如原数据为x,利用哈希函数f(x)得到对应的key再用h[key]得到对应value。但可能遇到x不同但是key相同的冲突情况,如果遇到冲突,就拉一个链表处理大概是下图这样哈希表的缺点:由于哈希表存储的数值是不连续的,没有规律,所以在区间查询上效率很低,比如找id>=5且id<=10的数据,这时候哈希表要把id=[5,10]都放进哈希函数算一遍再查一下判断是否存在这

2021-05-20 20:57:09 648

原创 丁奇mysql实战45讲(三)笔记

[3. 事务隔离:为什么你改了我还看不见?]基本概念复习:事务的特性:原子性、一致性、隔离性、持久性多事务同时执行的时候,可能会出现的问题:脏读、不可重复读、幻读事务隔离级别:读未提交、读提交、可重复读、串行化一.Mysql的隔离级别1.读未提交是指,一个事务还没提交时,它做的变更就能被别的事务看到。(可以读到其他事务未提交的数)2.读提交是指,一个事务提交之后,它做的变更才会被其他事务看到。(事务提交了才能读到数)3.可重复读是指,一个事务执行过程中看到的数据,总是跟这个事务在启动时

2021-05-17 19:04:14 389

原创 丁奇mysql实战45讲(二)笔记

[2.日志系统:一条SQL更新语句是如何执行的]MySQL 里经常说到的 WAL 技术,WAL 的全称是 Write-Ahead Logging,它的关键点就是先写日志,再写磁盘先介绍两个模块:redolog和binlog这里再挂一下mysql的逻辑架构图一.物理日志redo log(重做日志)在mysql中,假如每次更新数据都直接写入磁盘,那么整个过程的IO成本非常高,所以mysql改进的的方式是把记录先存到redo log中,假设redo log中的一组4个文件每个文件大小1G,如下图wr

2021-05-15 21:15:45 428 3

原创 MySQL慢查询日志详解

本次代码执行环境的mysql版本是 :5.6.37-log1.慢查询日志概念(也叫慢日志):在 MySQL 中执行时间超过指定时间的 SQL 语句2.常见的几个相关的变量(可以直接去mysql下的配置文件my.cnf文件中去改,我下面是直接在SQLyog中进行操作)默认情况下慢查询日志是关闭的,这里我开起来了①slow_query_log②slow_query_log_file用下面的代码可以查一下慢查询日志是否开启以及慢日志的位置SHOW VARIABLES LIKE '%slow_que

2021-05-15 16:34:13 859

原创 利用BeanMap实现Bean和Map相互转换的工具类代码

利用BeanMap实现Bean和Map相互转换的工具类代码public class BeanMapUtils { /** * 将javaben对象装换为map * @param bean * @return */ public static <T> Map<String, Object> beanToMap(T bean) { Map<String, Object> map = Maps.newHa

2021-05-08 19:17:21 234

原创 SpringMVC中的拦截器的配置和讲解(带登录案例)

本篇文章简单介绍了一下如何用拦截器实现登录注册的功能下面以我之前写的项目代码为例,介绍实现登录功能的案例和拦截器的配置和使用①在spring-mvc中配置拦截器首先要知道path表示的路径是从web根目录开始的,拦截器可以拦截web下的静态资源,也可以拦截对应url(两者其实是一个道理) 下面是总的代码,对于处理登录,注册的方法,以及登录界面和static下的静态资源选择放行不拦截,其他路径的文件和方法进行拦截SessionInterceptor是写的拦截器的全类名<!--配置拦截器--&

2021-05-06 20:20:56 679 1

原创 SpringMVC中常用的注解使用介绍(带案例)

springmvc官方文档:https://docs.spring.io/spring-framework/docs/current/javadoc-api/本篇文章主要介绍一下 @Controller、@GetMapping、@PostMapping、@RequestMapping、@RestController、@RequestBody、@ResponseBody 、@PathVariable、@RequestParam注解1.@Controller直接写在Controller层的类上面,主要负责

2021-05-06 16:14:49 356

原创 myatis常用的传递参数的四种方式和注意事项

一.利用@Param注解在Dao层定义方法的时候形参处直接用@Param注解来决定决定别名,然后直接在对应的mapper.xml配置文件中直接用#{别名}来调用即可//Dao文件中 void insertUser(@Param("username")String username, @Param("passwd")String passwd); //mapper.xml文件中 <insert id="insertUser"> insert into users (usern

2021-05-03 11:08:44 181

原创 用typeAliases和注解@Alias来取别名

一.用typeAliases来取别名packge标签下面的name属性可以控制要定位得包的位置,然后在mapper.xml文件中parameterType和resultType就可以直接写pojo包下的类名了二.用@Alias来取别名直接在实体类上面加@Alias(‘xx’)即可...

2021-05-03 08:40:18 691

原创 Error parsing Mapper XML. The XML location is file,Could not resolve type alias ‘xxx’

问题记录一次报错。本来之前写好的一个SSM小项目,今天又重新开起来跑的时候结果先是报500,然后抱了各种mybatis相关的错误,什么无法解析mybatis,无法找到实体类等各种错误,然后我检查了一下各个文件还有语法都没有问题,target文件夹里也没问题.解决方法后来看到一个朋友说是编译缓存的问题,去执行一下 maven clean和maven install 即可,执行后果然可以了...

2021-05-03 08:19:06 2570

原创 丁奇mysql实战45讲(一)笔记

一.概述Mysql可以分为Server层和存储引擎两部分下面的是mysql的逻辑架构图1.Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。且****不同的存储引擎共用一个Server层2.存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。现在最常用的存储引擎

2021-05-01 23:01:11 2658 4

空空如也

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

TA关注的人

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