自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL索引

空间换时间MySQL每次读取都是16KB的数据若加了索引若主键是int(4个字节)(指针占6个字节)第一层 16KB/(4+6)==1638第二层 1638*1638=2683044第三次 2683044*16=42928704这里的16 是假设每一条数据占1KB索引只是一种数据结构全表扫描 :从叶子节点从左往右一直扫描走索引: 从B+树从上往下一直扫描InnoDB 里面 的回表:建立联合索引时,查到最后末子节点,是主键,然后回表在主键索引里面查范围.

2022-03-10 23:00:49 1009 1

原创 分布式锁的理解

redis分布式锁

2022-03-08 15:51:17 870

原创 【leetcode 刷题 第七天】搜索与回溯算法

leetcode刷题第七天第一道开始我使用了递归的方法去写,结果leetcode一直报很奇怪的错,我就使用了队列来解//一直报错 不知道为什么class Solution { public static List list= new ArrayList<Integer>(); public static int[] levelOrder(TreeNode root) { if(root!=null){ recur(root); .

2022-02-26 15:12:56 482

原创 对binlog、redo log、undo log的理解

日志是mysql数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志,查询日志,慢查询日志,事务日志,二进制日志几大类。作为开发重点需要关注:二进制日志(binlog)事务日志(redo log 、undo log)binlogbinlog 用于记录数据库执行的写入性操作(不包括查询)信息,以二进制的形式保存在磁盘中。binlog 是mysql的逻辑日志,并且由server层进行记录,使用任何存储引擎的mysql数据库都会记录binlog日志。逻辑日志:可以

2022-02-26 12:04:09 675

原创 查找算法----->二分法

二分法主要是针对 有序数组使用列如步骤:首先,找到数组的中间点,从数组中间元素开始搜索,如果是该元素则结束搜索,不是则执行下一步。如果目标元素大于该中间元素,则在数组大于中间元素的那一半区域查找,然后重复步骤(1)的操作。如果目标元素小于该中间元素,则在数组小于中间元素的那一半区域查找,然后重复步骤(1)的操作。重复步骤(2)(3)(1)直到找到元素或者left >right 推出循环没有找到。时间复杂度为O(logn) public int binarySearch(in

2022-02-25 11:17:12 403 1

原创 git 提交代码到仓库

先不勾选这个clone 下来之后 在修改远程仓库连接在提交代码

2022-02-17 18:06:05 141

原创 @JsonFormat(pattern=“yyyy-MM-dd HH:mm:ss“)与北京时间多了8小时

将yml文件的数据库连接修改 url: jdbc:mysql://127.0.0.1:3306/seckill?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true时区改为Asia/Shanghai

2022-01-15 20:57:23 745

原创 java虚拟机家族种类

JVM虚拟机的种类

2021-12-10 22:43:08 2810

原创 【vue】props里的值赋值给data

props赋值data

2021-12-03 12:32:06 3195

原创 java基础【2021-10-28】

变量、常量、作用域类变量:static实例变量:在类里的变量局部变量:方法里的变量变量命名规范

2021-10-28 11:16:04 88

原创 【MySQL学习 索引详解】

索引MySQL官方对索引(index)的定义为 “帮助MySQL高效获取数据的数据结构”。提取句子主干,就可以得到索引的本质:‘索引是数据结构’MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引索引的分类在一个表中,主键索引只能有一个,唯一索引有多个主键索引(PRIMARY KEY)唯一的标识,不可重复

2021-09-15 20:47:44 94

原创 SpringMVC解决乱码问题

自定义过滤器解决java类package com.kuang.filter;import javax.servlet.*;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequestWrapper;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.U

2021-09-15 20:28:39 78

原创 【Mybatis 一对多 多对一 多对多的处理】

暑假学习组织实训想着来复习多对一、一对多的两种实现方式。多对一和一对多是比较难以理解的,所以想多理解理解理解概念和环境搭建1.多对一多个学生对应一个老师对于学生这把而言,关联老师,多个学生关联一个老师【多对一】2.一对多对于老师而言,集合,一个老师有很多学生【一对逗】3.实现1.环境搭建CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY K.

2021-09-15 19:36:27 100

原创 org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML doc

这个错误一般都是你的包导入混乱了 spring包导多了可以用maven删除包之后尝试

2021-08-10 20:03:10 887

原创 【设计模式FoF23】OOP原则

1.开闭原则:对扩展开发,对修改关闭2.里氏替换原则继承必须确保超类所拥有的性质在子类中仍然成立3.依赖倒置原则面向接口编程,不要面向实现编程4.单一职责原则控制类的粒度大小、将对象解耦、提高其内聚性5.接口隔离原则要为各个类建立它们需要的专用接口6.迪米特法则降低耦合度只与你的直接朋友交谈,不跟‘陌生人’说话假设A要给C 一个东西 但他们是陌生人所以就要先给b朋友,b在给c朋友7.合成复用原则尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系‘is a’ 和

2021-08-06 16:39:41 111

原创 【springboot 任务 异步 定时 邮件】

异步任务1.两个注解//开启异步注解功能@EnableAsync//告诉spring这是一个异步的方法@Async@EnableAsync 需要在主类中使用2.测试代码服务类//告诉spring这是一个异步的方法@Async@Servicepublic class AsynService { public void hello() { try { Thread.sleep(3000); } catch (Int

2021-08-06 14:34:10 146

原创 【mybatis】动态sql的复习

简介:动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。动态sql主要有:ifchoose (when, otherwise)trim (where, set)foreach接下来我们会详细介绍环境搭建1.sql数据库搭建CREATE TABLE `employee` ( `id

2021-08-05 20:04:55 120

原创 【springboot】静态资源过滤问题处理

思考:静态资源过滤这个问题 在maven规定的是 约定大于配置 ,所以src目录下的配置文件扫描不到,需要在pom.xml中添加过滤,那么springboot 需要不呢?静态资源在 SpringBoot项目中,默认是没有webapp文件夹 webapp文件夹的如果你在创建项目时有添加 web的依赖,那它本身就是一个 web项目。那问题也就接踵而至,没有web文件夹 我们的静态资源应该放哪里呢。我们将项目结构展开,扫一眼 猜测的话应该是放到这两个文件夹中。 思考:我们在ssm项目中要配置pom

2021-08-05 16:14:33 898 1

原创 SpringAOP理解

什么是AOPAOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。AOP在Spring中的作用提供声明式事务;允许用户自定义切面以下名词需要了解下:横切关注点:跨越应用

2021-08-05 12:22:36 112

转载 动态代理 理解

静态代理的理解动态代理的角色和静态代理的一样 .动态代理的代理类是动态生成的 . 静态代理的代理类是我们提前写好的动态代理分为两类 : 一类是基于接口动态代理 , 一类是基于类的动态代理 - 基于接口的动态代理----**JDK动态代理** - 基于类的动态代理--cglib - 现在用的比较多的是 javasist 来生成动态代理 . 百度一下javasist - 我们这里使用JDK的原生代码来实现,其余的道理都是一样的!JDK的动态代理需要了解两个类核心 :

2021-08-05 11:00:04 101

转载 代理模式 再理解

为什么要学习代理模式为什么要学习代理模式,因为AOP的底层机制就是动态代理!思维结构图:静态代理角色分析抽象角色:一般会使用接口或者抽象类来解决 租客真实角色:被代理的角色 房东代理角色:代理真实的角色,一般会附属一些操作 中介客户:访问代理对象的人代码逻辑实现:Rent 租客//抽象角色:租房public interface Rent { public void rent();}Host 房东//真实角色: 房东,房东要出租房子public class H

2021-08-05 10:11:09 67

原创 thymeleaf语法

基本语法th:utext可以转义消息 成html语言 <h1 th:text="${msg}"></h1><h1 th:utext="${msg}"></h1>th:each 遍历数组先返回前端一个集合 model.addAttribute("users", Arrays.asList("qinjiang","lyj"));//将一个数组变成list集合前端遍历<div th:each="user:${users}" t

2021-08-04 15:50:46 53

转载 com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。

添加链接描述一.错误描述Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 1 字节的 UTF-8 序列的字节 1 无效。二.解决方案将所有配置信息中的UTF-8改为UTF8三.结果四.其他1、还有可能出现以

2021-08-04 12:22:22 1256

原创 Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource **/*.xml

好久没有学习mybatis了,今天复习了下发现了一些错误。1.错误提示Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/kuang/dao/StaffMapper.xml2.项目目录由于使用的maven 约定大于配置,maven由于他的约定大于配置,我们之后可以能遇到我们写的配置文件,无法被导出或者生效的问题,3.解决方案在maven的pom.xml里加

2021-08-04 12:18:32 1289 1

原创 SpringSecurity

安全简介在 Web 开发中,安全一直是非常重要的一个方面。安全虽然属于应用的非功能性需求,但是应该在应用开发的初期就考虑进来。如果在应用开发的后期才考虑安全的问题,就可能陷入一个两难的境地:一方面,应用存在严重的安全漏洞,无法满足用户的要求,并可能造成用户的隐私数据被攻击者窃取;另一方面,应用的基本架构已经确定,要修复安全漏洞,可能需要对系统的架构做出比较重大的调整,因而需要更多的开发时间,影响应用的发布进程。因此,从应用开发的第一天就应该把安全相关的因素考虑进来,并在整个应用的开发过程中。市面上存在比

2021-08-03 22:07:58 55

原创 如何快速开发一个网站

1.前端:前端搞定 页面什么样子 数据http://www.bootstrapmb.com/muban/houtaihttp://www.cssmoban.com/模板:别人写好的,我们拿来改成自己需要的框架:组件:自己手动组合拼接 BootStrap2.设计数据库(数据库设计难点)3.前端让他能够自动运行,独立化工程4.数据接口如何对接 : json 对象 all in one5.前后端联调调试!1.有一天自己的后台模板 : 工作必要http://x.xuebingsi.com/

2021-08-03 11:26:31 886

原创 提取公共页面(springboot)

提取公共页面1.th:fragment = “sidebar”2.th:replace = “~{commons/commons::topbar}”3.如果要传递参数,可以直接使用()传参,接受判断即可!

2021-08-02 17:35:02 149 1

原创 多环境切换&配置文件加载位置

多环境切换profile是Spring对不同环境提供不同配置功能的支持,可以通过激活不同的环境版本,实现快速切换环境;多配置文件我们在主配置文件编写的时候,文件名可以是 application-{profile}.properties/yml , 用来指定多个环境版本;例如:application-test.properties 代表测试环境配置application-dev.properties 代表开发环境配置但是Springboot并不会直接启动这些配置文件,它默认使用applicati

2021-08-01 18:05:27 97

原创 JSR303数据校验

前言:Springboot中可以用**@validated**来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。我们这里来写个注解让我们的name只能支持Email格式;@Component //注册bean@ConfigurationProperties(prefix = "person")@Validated //数据校验public class Person { @Email(message="邮箱格式错误") //name必须是邮箱格式 private S

2021-08-01 18:02:17 66

转载 提示错误:Could not autowire. No beans of ‘Person‘ type found.

1.忽视继续运行也会提示错误2.原来是SpringBoot的启动类要放到根目录下,刚开始建项目的时候,IDEA自动把启动类放到了main/java/com.xxx.项目名这个包下,SpringBoot2.0好像识别不出来?于是,移动启动类到根目录下,如图:...

2021-08-01 17:39:25 487

原创 yaml配置注入

配置文件SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的application.properties语法结构 :key=valueapplication.yml语法结构 :key:空格 value配置文件的作用 :修改SpringBoot自动配置的默认值,因为SpringBoot在底层都给我们自动配置好了;yaml概述YAML是 “YAML Ain’t a Markup Language” (YAML不是一种标记语言)的递归缩写。在开发的这种语言时,YAML

2021-08-01 17:02:53 400

原创 springboot 原理探究

自动配置:pom.xmlspring-boot-dependencies :核心依赖在父工程中我们在写或者引入一些springboot依赖的时候,不需要指定版本,就因为有这些版本仓库启动器启动器:说白了就是springboot的启动场景比如说spring-boot-starter-web,他就会帮我们自动导入web环境所有的依赖!spring-boot会将所有的功能场景,变成一个个的启动器如果我们要使用什么功能,只需要找到一个个的启动器就行了主程序@Spri

2021-08-01 14:55:38 124

原创 JS代码报错Uncaught SyntaxError: Unexpected token ‘if‘及解决

浏览器报错:Uncaught SyntaxError: Unexpected token ‘if’,可能是上一个语句没用;结尾!

2021-07-21 12:36:17 3013

原创 CSS学习记录

基本入门<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> 语法: 选择器{ 声明1: 声明2: 声明3: } <!--<style>可以编写css的代码--> <style> h1{ color:red } </style&g

2021-07-20 11:37:07 76

原创 CSS后端学习路线

2021-07-19 15:05:36 118

原创 如何移动一个表单到中心 margin

通过margin可以移动元素如:此时表单元素在顶部加入<style> .container{ margin: 210px auto; } </style>后

2021-07-19 14:58:39 118

原创 bootstrap学习路线

一、布局容器和栅格网格系统导入bootstrap <link rel="stylesheet" type="text/css" href="bootstrap-3.4.1-dist/css/bootstrap.min.css" />1.布局容器1.container类用于固定宽度并支持响应式布局的容器。 <div class="container" style="background-color: #419641; height: 200px;" > &lt.

2021-07-19 13:48:23 277

原创 Vue指令

一、v-bindv-bind用于绑定数据和元素属性例如:绑定a标签的href属性若不用v-bind 就只有用{{ }}形式<div class="app"> <a v-bind:href="url">click me</a></div> var app = new Vue({ el:'.app', data:{ url:"https://www.baidu.com", }});二、判断循环

2021-07-17 15:09:23 138

原创 VUE 初步认识

1.使用VUE一、引入VueCDN:开发环境<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.js"></script>生产环境<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.min.js"></script>二、安装插件三、第一个VUE程序在写第一个Vue程序前,我们首先要了解几个概念插

2021-07-17 14:20:57 92

原创 SSM框架学习思维导图

红色为重点

2021-07-17 11:38:39 169

空空如也

空空如也

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

TA关注的人

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