自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 项目中使用了spring-websocket桥接包时,单元测试报错No suitable default RequestUpgradeStrategy found

No suitable default RequestUpgradeStrategy found

2020-09-29 19:56:55 328

原创 IDEA中类命名冲突问题,Annotation type expected

Annotation type expected,导不进去类

2020-09-26 17:32:37 2589

原创 Maven项目配置mybatis出现错误找不到mapper文件中的方法

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):XXX。。。。

2020-09-26 16:35:55 1149

原创 所有排列中的最大和,带你认识差分数组

所有排列中的最大和、差分数组、如何理解差分数组、差分数组的引用

2020-09-22 20:21:26 612

原创 和为K的子数组,前缀和,你还不会吗?

前缀和前缀和适合在数组中频繁的求某一段区间的和如果当前你要完成一个需求,给你一个数组nums,然后频繁的给你两个数字i和j,叫你求nums[i]到nums[j]区间的和。按照我们一般的思维就是从i开始循环,循环到j,然后将其中的nums加起来,最后返回,这样子每次查找的渐进时间复杂度都是O(n)但如果我们使用前缀和来做会是什么样子的呢?首先我们创建一个保存前缀和的数组int[] preNums = new int[nums.length+1];preNums [0] = 0;f

2020-09-22 16:01:11 165

原创 前后端分离实现WebSocket通信,两次session不一致的问题

前端使用Vue实现,使用axios发送请求后端使用SSM实现科普:可以一般使用两种方式来实现WebSocket通信时区分不同客户端第一种:在登录成功后,将用户的唯一标识存在session,等下次再次请求时就可以从session中拿到唯一标识第二种:在登录成功后,将用户的数据和唯一标识传给前端,前端保存在本地,等下次请求时,将用户的唯一标识发送给后端我使用的是第一种方式问题描述我是这样实现的在登陆成功后,将用户唯一标识放在session域中下面是我写的Websocket

2020-09-12 17:41:47 2441

原创 MySQL语句的执行过程你还不知道吗?

一条select语句的执行过程首先客户端想要向MySQL服务端发送SQL语句必须先建立连接,

2020-08-27 23:49:16 180

原创 MySQL数据在C盘如何转移到其它盘

前言Windows环境下,肯定有很多小伙伴和我一样当初安装MySQL的时候没有更改盘符,导致现在C盘越来越大,那我们如何将数据全部转移到其它盘,并将数据的保存路径设置到其它盘?首先通过命令查询一下数据存在哪里show global variables like "%datadir%";直接打开它,就可以看到你的所有库都在这里找到MySQL的配置文件my.ini,这个配置文件一般跟data文件夹在一起,默认在C:\ProgramData\MySQL\MySQL Server ..

2020-08-21 17:54:07 4274 2

原创 红黑树的基本性质、变色、左旋、右旋

前置知识:二叉搜索树什么是红黑树首先,红黑树是一个自平衡的二叉搜索树,大家都知道红黑树和二叉搜索树最大的不同点就在于平衡,何为平衡?二叉搜索树的目的就是为了搜索,它可以在O(logn)的时间复杂度定位到元素,可是在特殊情况下,二叉搜索树有可能会退化成链表,那就跟我们预期的O(logn)的时间复杂度不符,既然会退化成链表那我们怎么样才能让它保持O(logn)的时间复杂度呢,对了,就是平衡,在插入或者删除时,通过一系列平衡操作,使查找的平均时间复杂度一直在O(logn),红黑树的平衡操作包括变色、.

2020-08-11 18:28:49 552

原创 一文带你了解HTTPS

什么是HTTPS说起https就不得不说一下http,http是一个超文本传输协议,基于请求和响应,最大的特点就是无状态,并不会记录通信双方的状态行为,并且是不安全,而https是安全通信的传输协议,这就表示https其实是在http的基础上做了某些改进,https其实就是在http的基础上通过SSL/TLS建立全信道,加密数据包,来验证通信双方的身份和数据的完整性,对了,就是加密对称加密和非对称加密对称加密算法对称加密就是通信双方利用相同的算法加密,相同的密钥解密,通信双方会在通信前协商一

2020-08-07 00:42:37 216

原创 HashMap的大小为什么必须是2的倍数

HashMap如何保证大小一定是2的倍数了解HashMap的都知道,HashMap的大小必须是2的倍数,通过调用tableSizeFor方法来保证HashMap的大小为2的次方,如果你在构造函数中传入了大小,HashMap会调用tableSizeFor方法将大小变成大于你传入的数的最小2的倍数HashMap如何将数据进行散列,保证数据的散列程度够大?首先通过JVM支持的hashCode方法,得到一个...

2020-08-05 20:35:23 4531

原创 SpringMVC配置错误,导致@PostConstruct注解的方法被执行两次

起因:SSM项目,使用@Value注解读取properties文件内容,并且配合@PostConstruct(在构造方法执行之后执行该方法)注解,完成某些数据的初始化,启动发现,@PostConstruct注解的方法,被执行了两次,并且@Value读取的内容,第一次是好的,第二次却变成了@Value中设置的值出现@PostConstruct注解的方法执行两次,肯定是因为配置的原因,导致Bean被扫描了两次,也就执行了两次构造方法,执行了两次@PostConstruct注解的方法查看配置文件,Sp

2020-07-17 15:23:14 1121 1

原创 TCP三次握手与四次断开、流量控制算法、慢启动、拥塞避免算法、快速恢复算法

TCP头部,三次握手与四次断开、流量控制算法、TCP超时与重传、拥塞避免算法、快速恢复算法

2020-07-11 23:16:40 481 1

原创 JDK动态代理原理分析看完都说妙啊

首先我们要明白代理的含义,比如我们日常生活中的购物,你是不是有两种方式,第一是:我自己去买,第二是:请一个代购,他会帮助我们去买东西,我们只需要付款,然后他会把东西寄给我们。这第二种方式就可以叫做代理在代理中有三个重要的角色:被代理类,代理类,接口在上面的例子中分别对应的就是,被代理类:我自己,代理类:代购,接口对应着一种购物的行为静态代理先说一下静态代理,静态代理是指在代码编写阶...

2020-03-16 21:17:23 1339

原创 JVM基础篇

JVM:一种能够运行java字节码的虚拟机,不单单只能运行java程序,只要符合jvm文件(.class文件)格式的要求都能运行java为什么说是“一次编译处处运行”呢,这就是因为JVM帮我们屏蔽掉了操作系统层面的实现细节,所以在不同的操作系统上面需要下载不同的JVM。那么JDK、JRE、JVM有什么区别呢?JRE包含JVM,JDK包含JREJVM,java虚拟机,具有运行.c...

2020-03-11 01:00:39 153

原创 Mysql存储引擎,事务与锁

存储引擎Mysql的存储引擎有很多,不同的存储引擎保存数据和索引的方式是不一样的,每一种存储引擎都有它的优势和劣势。本文只介绍几种常见的存储引擎。1、MyIsAMMyISAM采用的是索引与数据分离的形式,将数据保存在三个文件中.frm(表结构).MYD(数据).MYI(索引)提供高速的存储和检索以及全文搜索能力,基于非聚簇索引进行存储的不支持事务的,使用表锁,读取时对表加上共享...

2020-03-04 21:55:50 355

原创 避免索引失效的一些原则

声明:本文中的所有案例都在MySQL5.7版本下进行实践索引在数据库优化上提供了很大的帮助,了解一些常见的索引失效原则,对SQL优化会有很大的帮助复合索引:1、首先复合索引遵循最佳左前缀匹配原则,即,如果有一个复合索引顺序为(a1,a2,a3),则在使用时,必须要使用上a1列索引,才能使用上a2列索引,如果a1列索引失效了,a2,a3都会失效。复合索引不要跨列使用或者无序使用2、复...

2020-02-29 21:04:25 257

原创 超详细的并查集入门

并查集,这种数据结构在使用的时候,最大的作用是用来检查一个图中是否存在一个环。首先看一个图

2020-02-27 17:57:13 227

原创 explain命令Extra字段及优化详解

前提:本文所有的案例均在MySQL5.7版本下实践使用explain命令查看SQL语句的执行情况,可以帮助开发人员更快地定位到SQL执行效率欠佳的原因,本文对explain命令Extra字段的常见取值进行详解SQL执行SQL的编写过程是这样的:selectdinstinctfromjoinonwheregroup by having order by...

2020-02-22 00:38:20 949

原创 explain命令详解sql优化准备

前提:在Mysql数据库下进行的实践explain:分析SQL的执行计划,可以模拟SQL优化器执行SQL语句,从而让开发人员知道自己编写的SQL状况查询执行计划:explain + SQL语句 例如:explain select * from money;打印结果*************************** 1. ro...

2020-02-19 21:52:50 573

原创 java内部类详解

java内部类分类:1、成员内部类2、局部内部类3、匿名内部类4、静态内部类内部类只是编译时的概念,一旦编译成功,就会变成两个不同的类一、成员内部类位置和外部类的成员一样特点:1、成员内部类拥有public、private、protected、包访问权限。2、成员内部类可以访问外部类的所有成员变量和方法(包括私有变量和方法)3、如果外部类存在和成员内部类重名的...

2020-02-14 01:36:55 96

原创 python3安装Crypto方法

本想爬取一下网易云音乐的评论,结果发现里面的ajax传输是加密的,各方查找发现要安装Crypto这个库,结果搞了一个下午都没弄好,最终功夫不负有心人,我还是弄出来了。pip3 install pycryptodome直接安装这个库就可以用了。from Crypto.Cipher import AES...

2019-01-19 18:20:31 7170 2

原创 JavaScript和DOM操作笔记

JavaScript弱类型; 回调函数; 输出:console.log(“内容”)在控制台打印输出内容          alert(“内容”)弹窗显示内容          document.write(“内容”)在页面书写内容 ==和===的区别:==只比较内容,===既比较内容又比较数据类型; Join和Json区别:join是利用数组生成字符串,数组...

2018-10-27 20:03:39 206

原创 MySQL触发器基本概念和创建(含实例)

触发器的定义:触发器与编程语言的函数类似,都需要声明、执行等。但是触发器的执行并不是由程序执行的,也不是用户调用的,而是在特定的时候触发。三种常见的触发方式:insert、uodate、delete,即在插入数据时触发,在更改数据时触发,在删除数据时触发定义触发器使用trigger关键字触发器的语法:(红色为固定写法)CREATE TRIGGER trigger_name...

2018-10-26 01:22:26 375

原创 mysql存储过程的基本概念和创建

存储过程:SQL中的“脚本”    1.创建存储过程    2.调用存储过程    3.存储过程体    4.语句块标签存储过程的参数    1.in:向过程里传参    2.out:过程向外传参值    3.inout:既实现in又实现out   in and out SQL语句:先编译后执行存储过程:        一组可编程的函数,是为了完成特定功...

2018-10-25 21:35:38 308

转载 javaJDBC自定义数据库连接池

在JDBC连接数据库的时候,一般情况下DiverManager.getConnection获得连接对象,每次都这么做,十分的耗费资源。为了解决这个问题,于是出现连接池。跟线程池的概念差不多。线程池:多个Connection对象被创建了,然后放在池子里面,用的时候直接从池子里面去拿,用完了再放回去。后面的程序如果没有抓到对象,就处于等待状态。我们在不使用dbcp、C3P0等开源的数据...

2018-10-24 23:22:03 566

原创 javaJDBC数据库连接池基本思想

基本思想:•数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。•数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个。•数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连...

2018-10-24 21:26:05 305

原创 javaJDBC链接警告Establishing SSL connection without server's identity verification is not recommended.

错误提示:Thu Oct 18 21:31:24 CST 2018 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connect...

2018-10-18 21:47:36 288

原创 java中基本浮点类型运算丢失精度解决方法

起因:这其实是计算机内部机制导致的问题,具体就是计算机中存储浮点数的机制,导致浮点数如果参与了运算,那么就可能会丧失精度,产生预期之外的结果,当然这里只是可能,也有可能运算确实会恰巧复合预期结果。如果想让基本浮点类型运算十分精确,java中有一个java.math.BigDecimal类,这个大数类可以完成精准的运算,我们可以把需要运算的基本浮点类转换成大数类,然后再调用BigDeci...

2018-10-10 21:13:14 874

原创 爬取免费代理IP代码

以下代码会抓取西刺代理网站的代理ip:1、抓取西刺代理网站的代理ip2、并根据指定的目标url,对抓取到ip的有效性进行验证3、在和此代码同级文件夹下创建ip.txt文件,将有效的IP存入# -*- coding: utf-8 -*-import requests,threading,datetimefrom bs4 import BeautifulSoupimport random""...

2018-07-09 12:17:51 1979

原创 python3爬虫爬取英语单词到MySQL数据库

前言:我的第一篇博客,本人大一菜鸟一枚,第一次写python的项目,需要大量的数据,第一次接触爬虫这个东西,感觉十分有趣,想以后往这方面发展,特写下自己的爬虫学习经历,希望把自己的学习经历分享给初学者们,也希望各位大佬帮助指正。声明:没有使用多线程,没有使用代理IP,没有使用框架,最简单的一个爬虫爬到死python版本:python3.6使用requests库爬取,使用beautifulsoup库...

2018-06-22 02:38:30 3685 4

空空如也

空空如也

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

TA关注的人

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