- 博客(74)
- 资源 (1)
- 收藏
- 关注
原创 MySQL实战45讲学习笔记-事务隔离级别-MVCC-当前读
事务隔离级别读未提交是指,一个事务还没提交时,它做的变更就能被别的事务看到。读提交是指,一个事务提交之后,它做的变更才会被其他事务看到。可重复读是指,一个事务执行过程中看到的数据,总是跟这个事务在启动时看到的数据是一致的。当然在可重复读隔离级别下,未提交变更对其他事务也是不可见的。串行化,顾名思义是对于同一行记录,“写”会加“写锁”,“读”会加“读锁”。当出现读写锁冲突的时候,后访问的事务必须等前一个事务执行完成,才能继续执行。查询隔离级别:show variables like 'tran
2020-11-08 10:42:58
319
原创 Leetcode初级算法卡片中的动态规划
爬楼梯70假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?**注意:**给定 n 是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶解法:class Solution { int
2020-06-02 22:11:47
252
原创 Java中的String类源码阅读(下)
接着上一篇:https://blog.csdn.net/dzydzy7/article/details/106104050替换字符(串)Returns a string resulting from replacing all occurrences(出现) of oldChar in this string with newChar.把旧字符替换为新字符。先判断是否需要替换,如果需要替换,建立新字符串。public String replace(char oldChar, char newChar
2020-05-15 16:04:17
308
原创 Java中的String类源码阅读(中)
接着上一篇:https://blog.csdn.net/dzydzy7/article/details/106085754判等equals方法首先判断是不是同一个对象,然后判断长度是否相等,最后逐个判断字符。public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String
2020-05-13 18:25:29
309
原创 Java中的String类源码阅读(上)
概述jdk8中的String类。主要源自源码和官方文档。关键的地方有高亮或中文解释或举例。/* * Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package java.lang;import java.io.ObjectStreamField
2020-05-12 21:42:56
506
原创 MySQL数据库中的索引
普通索引 index建表时创建CREATE TABLE mytable ( `name` VARCHAR(32) , INDEX index_mytable_name (`name`));建表后,直接创建索引CREATE INDEX index_mytable_name ON mytable(name);修改表结构ALTER TABLE mytable ADD INDEX i...
2020-04-22 18:12:39
158
原创 数据库理论之数据库引擎
InnoDB 是MySQL5.7和8.0的默认引擎InnoDB特性:采用MVCC(多版本并发控制)支持高并发InnoDB表是基于聚集索引建立的,对主键查询具有较高的性能,但非主键索引必须包含主键列,所以主键列很大的话其他索引都会很大InnoBD内部做了很多优化:可预测性读,在内存中创建hash索引以加速读操作自适应的哈希索引,加速插入操作的插入缓冲区等。支持真正的热备份MYISAM...
2020-04-22 18:09:44
168
原创 数据库理论之并发下的错误和隔离级别
可能出现的问题丢失更新:两个事务同时修改一个数据,一个覆盖另一个。比如事务T1:10 - 1 和 T2:10 - 2 并发执行,T2的结果覆盖T1,得到8,或者T1覆盖T2,得到9。污读:事务T1更新了数据R,T2读了R,T1回滚,T2得到的数据和数据库不一致了不可重读:事务T1读取了数据R,T2读取并更新了数据R,T1再次读取R发现两次读取不一致。幻读:事务T1在读取某个范围的记录...
2020-04-22 18:09:14
292
原创 数据库理论之范式
完全函数依赖:Y完全函数依赖X,就是Y依赖X的所有属性,即X中少一项都推不出Y部分函数依赖:Y部分函数依赖X,就是Y依赖X的一部分属性,即X的真子集也可能推出Y第一范式:每个属性都不可再分第二范式:第一范式 + 每个非主属性都完全函数依赖主码第三范式:第二范式 + 消除传递依赖候选码:能唯一标识一行(一个关系元组)的属性的集合BC范式:第一范式 + 所有的函数依赖 Y -> X ...
2020-04-22 18:08:04
248
原创 springboot整合editormd并完成完整的crud
写在前面:本篇博客较长,主要解决的editormd的编辑,填充初始内容,文中图片居中,讲的是完整的crud。这次的任务是展示人员。首先集成editormd,官网文档https://pandao.github.io/editor.md/examples/index.html下载源码并放到项目的static文件夹下首先完成增:前端页面speople.html如下:<!DOCTYPE...
2020-04-20 22:30:43
601
原创 CentOS7安装MySQL8.0踩坑记录
写这篇博客的是因为现在很多都是基于5.7版本的,而且对一些细节讲得不清楚。很多文章说要先删除mariadb,其实不用的,现在安装了MySQL就会自动被覆盖。首先就是下载:wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpmyum -y install mysql80-community-relea...
2020-04-12 21:58:49
833
原创 SpringBoot整合Spring Security
网站后台需要一个登录验证的部分,我在shiro和Spring Security中选择了后者。首先在pom.xml中导入Spring Security的stater:<!-- Spring Security --> <dependency> <groupId>org.springframework.boot</gr...
2020-04-07 10:40:16
144
原创 web页面同时适配移动端和桌面端
我在写一个页面的时候,写一个header,其中的每个元素都是固定宽度的,所以在宽度较窄的手机端会出现导航栏换行的现象,为了解决这个问题,我学习了一个新的前端技巧:使用link的media属性。电脑端页面:每个元素都是150px然后我们编写公用的header模板(使用了thymeleaf模板引擎):<!DOCTYPE html><html lang="en" xmlns:...
2020-04-05 23:29:43
3234
原创 springboot+tyhmeleaf显示图片的三种方法
方法一:直接使用本地文件这种方法的原理是把本地文件夹映射为服务器地址,我们可以使用配置类来实现:package com.dzy.config;import com.dzy.utils.RootFolderUtils;import org.springframework.beans.factory.annotation.Autowired;import org.springframew...
2020-04-04 17:55:02
2457
1
原创 springboot给自定义的bean注入属性
首先创建一个bean类,其中@Configuration注解和@ComponentScan注解是必须的,如果你写了前缀,那么就需要@ConfigurationProperties注解package com.dzy.utils;import lombok.Data;import org.springframework.boot.context.properties.Configuration...
2020-04-04 17:53:33
1593
原创 Vue学习笔记6、自定义事件
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document&l...
2020-03-31 00:25:24
177
1
原创 Vue学习笔记5、插槽Slot
插槽可以使程序的大框架不变,为局部的改变提供插槽,可以把组件插入插槽,完成局部的变化,比如本例中的title和items组件插入对应的插槽。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" conten...
2020-03-31 00:22:57
166
原创 Vue学习笔记4、计算属性
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document&...
2020-03-31 00:18:35
110
原创 Vue学习笔记3、axios异步通信
类似于ajax的获取数据,并且渲染到前端页面上数据:{ "stringVar": "a String variable", "intVar": 233, "url": "https://www.baidu.com", "booleanVar": true, "list": ["item1", "item2", "item3"], "obje...
2020-03-28 12:08:32
230
原创 Vue学习笔记2、组件
Vue可以通过组件自定义标签<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <tit...
2020-03-28 12:03:12
99
原创 Vue学习笔记1、基础
下面的例子包含了基本语法,绑定事件和双向绑定<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> ...
2020-03-28 10:45:49
148
转载 MyBatis学习笔记12、缓存(完结)
12、缓存12.1、简介查询 : 连接数据库,耗资源! 一次查询的结果,给他暂存在一个可以直接取到的地方!--->内存 : 缓存 我们再次查询相同数据的时候,直接走缓存,就不用走数据库了什么是缓存[Cache]?存在内存中的临时数据。将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查...
2020-03-23 10:36:55
139
转载 MyBatis学习笔记11、动态 SQL
动态 SQL 就是根据不同的条件生成不同的 SQL 语句。和 JSTL 差不多,也是用各种标签11.1、准备工作建数据表create table `blog` ( `id` int(11) auto_increment comment '博客id', `title` varchar(100) not null comment '博客标题', `author` var...
2020-03-23 10:33:38
187
转载 MyBatis学习笔记10、Lombok
10、Lombok在IDEA中添加 Lombok 插件在 pom.xml 中配置 maven 依赖<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --><dependency> <groupId>org.projectlombok</groupId> &l...
2020-03-23 10:31:19
95
转载 Mybatis学习笔记9、使用注解开发
9、使用注解开发9.1、面向接口编程解耦合定义和实现分离针对复用技术,体现整体架构9.2、使用注解写sql在接口上加注解就不需要 mapper.xml 了public interface UserMapper { @Select("select * from mybatis.user") List<User> getUsers();}测试类不变@T...
2020-03-23 10:29:50
100
转载 MyBatis学习笔记8、分页
8、分页为什么要分页?减少数据的处理量,提高效率8.1、使用limit分页使用 limit 分页的语法select * from user limit startIndex, pageSize比如查询第三个和第四个元素,从三开始,一共两个(下标从0开始数):select * from mybatis.user limit 3, 2如果是从0开始,就只需要写pageSize一...
2020-03-21 21:50:05
110
转载 MyBatis学习笔记7、日志
7、日志7.1、日志工厂如果一个数据库操作出现了异常,日志是很好的排错工具。不使用sout和debug,使用日志工厂排错Mybatis 通过使用内置的日志工厂提供日志功能。内置日志工厂将会把日志工作委托给下面的实现之一:SLF4JApache Commons LoggingLog4j 2Log4j 【重要】JDK loggingSTDOUT_LOGGING...
2020-03-21 21:49:12
144
转载 MyBatis学习笔记6、结果集映射ResultMap
6、结果集映射ResultMap6.1、如果类变量名和字段名不一样会发生什么如果我们把 pojo 类里的 pwd 改成 passwd。就会导致属性名和字段名不一致(字段名是pwd)。private int id;private String name;private String passwd;如果我们执行测试代码,结果是:User{id=1, name='dzy', pwd='n...
2020-03-21 21:47:35
231
转载 MyBatis学习笔记5、理论知识
5、理论知识5.1、生命周期和作用域生命周期类别是至关重要的,因为错误的使用会导致非常严重的并发问题。SqlSessionFactoryBuilder一旦创建了 SqlSessionFactory,就不再需要它了。 因此 SqlSessionFactoryBuilder 实例的最佳作用域是方法作用域(也就是局部方法变量)。SqlSessionFactorySqlSessionFacto...
2020-03-19 09:13:01
111
转载 MyBatis学习笔记4、配置解析
4、配置解析4.1、核心配置文件mybatis-config.xml最外面是configuration标签,里面的标签的顺序必须是propertiesettingstypeAliasestypeHandlersobjectFactoryobjectWrapperFactoryreflectorFactorypluginsenvironmentsdatabaseIdPro...
2020-03-19 09:11:33
151
转载 MyBatis学习笔记3、CRUD
3、CRUD3.1、namespacemapper.xml 中的 namespace 就是 DaoMapper 接口的全路径,必须一致。3.2、selectid 属性就是对应的 namespace 中的方法名。paramterType属性是 namespace 中的对应方法的接受参数类型。resultType属性是 namespace 中的对应方法的返回类型。例如:<!-- ...
2020-03-18 19:07:19
145
转载 MyBatis学习笔记2、MyBaits程序
2、mybaits程序搭建环境->导入框架->编写代码->测试2.1、创建数据库和数据表创建数据库:create database mybatis创建数据表:use mybatis;create table `user`( `id` int(11) auto_increment, `name` varchar(30) default null, -- ...
2020-03-18 19:04:47
169
转载 Mybatis学习笔记1、简介
中文文档:https://mybatis.org/mybatis-3/zh/index.html官方文档:https://mybatis.org/mybatis-3/源码:https://github.com/mybatis/mybatis-3Maven仓库:<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --&...
2020-03-18 18:59:46
113
原创 java中的余数
public static void main(String[] args) { // 负数 % 正数 = 负数 System.out.println((-5) % 3); System.out.println((-3) % 3); // 正数 % 负数 = 正数 System.out.println(5%(-3)); System.out.pri...
2020-02-05 11:07:28
4347
原创 github合作操作
GitHub简单操作:https://blog.csdn.net/dzydzy7/article/details/88759187是单人使用GitHub的方法,在多人共用一个库时需要:1. 新建一个分支:$ git branch dzy 查看分支:$ git branch2. 切换到自己的分支$ git checkout dzy3. 提交自己创建的分支$...
2019-11-11 13:12:01
225
原创 80x86指令
pdf文件版:https://download.csdn.net/download/dzydzy7/11964407 指令 DST SRC 用途 注意 对标志位影响 数据传送指令 MOV reg/mem imm 立即数送寄存器或主存 DST和SRC类型匹配(即8位对8位,16位对16位),DST不能是CS 无 ...
2019-11-07 16:06:03
305
原创 JDBC连接SQL server
1. 使用Windows身份验证连接2. 安全性 -> 登陆名 (右键点) 在弹出的窗口中:常规:用户映射:状态:3. 数据库 -> SCW(数据库名称) -> 安全性 -> 用户 -> dzy(刚才的用户名,右键点) -> 属性下面两个勾选都选owner4. 至此就可以使用SQL server验证登陆了...
2019-10-29 17:08:46
234
原创 数据库查询语句
单关系表和多关系表数据查询where和having子句的根本区别在于,where子句作用于基本表或视图,从中选择满足条件的原组,having子句作用于组(group后的组),必须用在group by子句之后,但group by子句可以没有having子句。这里的查询语句用到的数据来自:https://blog.csdn.net/dzydzy7/article/details/1026324...
2019-10-18 23:53:58
6061
原创 数据库数据表的创建和插入
一、创建数据库和数据表create database和 create table分别对应创建数据库和数据表not null 为非空约束,primary key是主键约束(可以出现null,但只能出现一次),check约束用来检查字段允许范围(判断相等用单等号)定义foreign key约束的语法:constraint <约束名> foreign key refere...
2019-10-18 22:10:23
3868
原创 数据结构之二叉搜索树删除节点分析
分两种情况一. 要删除的节点不同时有左右子树1.叶节点,直接删除2.只有左枝或只有右枝,可以直接用左子树或右子树代替节点二. 要删除的节点同时有左右子树化繁为简1.先找出该节点的直接后继,因为该节点同时有左右两枝,所以直接后继一定是它的右子树的最小(最左)节点。并且因为直接后继是一个子树中的最小节点,所以直接后继没有左子树。2.将该节点的值和直接后继的值交换 (1)如果交...
2019-08-20 19:33:40
1290
80x86指令合集.pdf
2019-11-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人