自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mysql——全局锁,表锁,行锁

Mysql——全局锁,表锁,行锁内容出自丁奇45讲全局锁顾名思义,全局锁就是对整个数据库实例加锁。MySQL提供了一个加全局读锁的方法,命令是 Flush tables with read lock (FTWRL)。当你需要让整个库处于只读状态的时候,可以使用这个命令,之后其他线程的以下语句会被阻塞:数据更新语句(数据的增删改)、数据定义语句(包括建表、修改表结构等)和更新类事务的提交语句。**全局锁的典型使用场景是,做全库逻辑备份。**也就是把整库每个表都select出来存成文本。官方自带的逻辑

2021-12-15 15:04:20 893 1

原创 设计模式——职责模式

设计模式——职责模式职责模式编程要求:为了促进大学教学质量的提升,学校加大了教学经费的投入,各归口职能部门,如教务处、校团委等都通过二次分配划拨了相应经费到学院支持教学改革、学生创新创业等。为了规范财务报销,财务处颁布了相关财务报销制度,其中规定如下表。5万元以下单位(学院)负责人审批5-10万元以下归口职能部门负责人审批10-30万元以下分管校领导审批30万元以上主管财务校领导审批在报销的时候,我们需要找到对应的负责人进行审批

2021-12-14 16:07:55 702

原创 Mysql——索引

Mysql——索引内容出自丁奇45讲索引的出现其实就是为了提高数据查询的效率,就像书的目录一样,你看书没有目录,想找到一个具体的内容就要一页一页翻,做全表查询,如果有目录就可以直接找到想要的那一页。索引常见模型哈希表哈希表,顾名思义和Java中的hashmap的结构是一样的,通过Key—Value去存储数据,只要输入对应的Key就能找到Value,如果存储发生了hash冲突则用一条链表存储起来。假设,你现在维护着一个身份证信息和姓名的表,需要根据身份证号查找对应的名字,这时对应的哈希索引的示意图

2021-12-08 11:13:54 263 2

原创 设计模式——中介模式

设计模式——中介模式举例先举一个栗子,在疫情封校期间,同学们收取快递困难。有人开设了一个代拿快递的站点。它接受同学们的代拿快递的委托(收件地点:中区 or 东区 or 西区;预期收件时间:早上 or 中午 or 晚上);兼职送快递的同学向代拿快递点提交自己能兼职送快递的时间(早上 or 中午 or 晚上)和路线(中区 or 东区 or 西区)。代拿快递点对兼职同学和代取快递需求进行匹配,如果匹配成功就向双方发出通知,需要代拿快递的同学将收到:“您的快递将由XXX(某兼职同学名字)在XX时间送达,请您按时

2021-12-07 11:07:26 475 2

原创 Mysql——事务隔离

Mysql——事务隔离内容出自丁奇45讲提到事物肯定就要提到ACIDA:Atomicity 原子性C:Consistency 一致性 I:IsoLation 隔离性D:Durability 持久性当数据库有多个数据执行的时候,就可能会出现脏读,不可重复读,幻读的问题为了解决这样的问题,就有了“隔离级别”的概念脏读:在执行事务A的时候,读取到了事务B未提交的数据,之后事务B发生了回滚,事务A读到了脏的数据不可重复读:在同一个事务中读同一个字段,内容一不一样,比如说事务A内执行Select a

2021-12-06 17:07:30 93

原创 Mysql——Redo log 和 Bin log

Mysql——Redo log 和 Bin log内容出自丁奇45讲Redo logRedo log是物理日志是InnoDB引擎特有的,记录某个数据页做了什么修改,redo log是循环写的,空间固定会用完;MySQL中,如果每一次的更新操作都需要写进磁盘,然后磁盘也要找到对应的那条记录,然后再更新,整个过程IO成本、查找成本都很高。为了解决这个问题,MySQL的设计者就用了Redo log来提升更新效率。其实就是MySQL里经常说到的WAL技术,WAL的全称是Write-Ahead Loggi

2021-12-05 09:23:21 1920

原创 设计模式——观察者模式

设计模式——观察者模式生活例子:去年由于疫情影响,有一段时间学校封校,同学们周末加餐时外卖大学进不了外卖,假设大熊的朋友叮当猫如惯常一般,及时给寝室送来了一个适用于宿舍的迷你美食产生器,能照顾所有人的口味随机产出各种美食(如广味腊肠饭、湛江鸡饭、美味烤蚝、雪域冰城糖水等),但要即时取出。一到周末,大家都围坐在旁边,一边美美的刷着手机,一边等着一道道美食,好不惬意。但由于大家手机刷的过于投入,食物未能及时取出,经常错过符合自己口味的美食,让人沮丧不已。请大家利用观察者模式,让美食产生器出锅一道美食时,能自动

2021-12-04 10:54:18 542 1

原创 interface接口是否有父类?

interface接口是否有父类?我们都知道所有类的祖先都是Object类,interface接口是否有父类,那么我们可以通过idea插件jclasslib或者在控制台输入 javap -v xxx.class 查看class文件常量首先我们先看一下普通类的class文件常量先随便创建两个空的类和接口public class Person {}public class Stu extends Person{}public interface IA {}public interfa

2021-11-04 18:20:02 1133 1

原创 volatile关键字的作用

volatile关键字的作用多线程下单变量的不可见性在多线程并发执行下,多个线程修改共享的成员变量,会出现一个线程修改了共享变量的值后,另一个线程不能直接看到该线程修改后端变量的最新值public class invisibleDemo01 { public static void main(String[] args) { MyThread myThread = new MyThread(); new Thread(myThread , "mythread01

2021-11-02 13:59:01 174 1

原创 LinkedHashMap的底层原理

LinkedHashMap的底层原理LinkedHashMap是一个继承HashMap实现Map的一个类,那么LinkedHashMap与HashMap相比他们之间又有什么不同?基本属性 /** * The head (eldest) of the doubly linked list. */ //Entry 头节点 transient LinkedHashMap.Entry<K,V> head; /** * The tail (

2021-10-28 22:24:38 598 2

原创 HashMap 的实现原理 jdk1.8

HashMap 的实现原理 jdk1.8在这里我打算挑两个方法来说一下hashmap的数组+链表+红黑树的结构是怎么来,大家应该都听的挺多,那么实际上是怎么实现的捏?在创建hashmap后会生成以下的一些初始值,有些初始值会在下面的方法涉及到,我们先看一下 /** * The default initial capacity - MUST be a power of two. *///默认初始容量 = 16 static final int DEFAULT_INITIA

2021-10-26 22:16:46 181 2

原创 SQL的join大家族

SQL的join大家族本文记录Inner Join,Left Join, Right Join , Full Join有什么区别先创建测试数据库与表CREATE DATABASE family_join;USE family_join;CREATE TABLE people (id INT(2) AUTO_INCREMENT,NAME VARCHAR(10),age INT(3),PRIMARY KEY (id))CREATE TABLE people_profession(p

2021-10-13 22:35:17 147 1

原创 JAVA的静态代理与动态代理

JAVA的静态代理与动态代理代理代理是英文 Proxy 翻译过来的。我们在生活中见到过的代理,大概最常见的就是朋友圈中卖面膜的同学了。她们从厂家拿货,然后在朋友圈中宣传,然后卖给熟人。按理说,顾客可以直接从厂家购买产品,但是现实生活中,很少有这样的销售模式。一般都是厂家委托给代理商进行销售,顾客跟代理商打交道,而不直接与产品实际生产者进行关联。所以,代理就有一种中间人的味道。接下来,我们说说软件中的代理模式。代理模式代理模式是面向对象编程中比较常见的设计模式。这是常见代理模式常见的 U

2021-09-11 12:13:10 235 2

原创 MYSQL的几种插入方式

MYSQL的几种插入方式先创建insert_table表1.普通插入语句insert into insert_table((operation,game_id,date,total_amount) VALUES("强化阿波菲斯魔剑",10086,NOW(),114514))这个就不多说了应该是大家最常用的插入语句2.插入或更新INSERT INTO insert_table(operation,game_id,DATE,total_amount) VALUES("强化阿波菲斯魔剑",1008

2021-09-09 12:55:26 849 1

原创 Java竟能这样帮你找对象?

java如何创建对象java创建对象是怎么回事呢?java相信大家都很熟悉,但是java创建对象是怎么回事呢,下面就让小编带大家一起了解吧。  java创建对象,其实就是如何生成对象,大家可能会很惊讶java怎么会创建对象呢?但事实就是这样,小编也感到非常惊讶。  这就是关于java创建对象的事情了,大家有什么想法呢,欢迎在评论区告诉小编一起讨论哦!Student学生类package domain;/** * Created by yantailor */public class St

2021-08-14 15:26:02 270 1

原创 ElasticSearch有关查询的那些事

ElasticSearch有关查询的那些事上一篇文章介绍了一下ElasticSearch的一些基础的索引,文档的CRUD方法,接下来介绍一些花式查询的操作修改在说查询之前先补充一下之前没讲到的修改功能的内容全量修改现在先重新创建一个新的索引以及下的文档以便观察的更直观一点创建索引laptopPUT http://localhost:9200/laptop在laptop下创建文档 id号为114514,1919,810POST http://localhost:9200/laptop/d

2021-07-24 15:09:02 432 1

原创 ElasticSearch入门知识

ElasticSearch入门知识-postman展示如何安装ElasticSearch网上有很多博客都有很详细的方法,那我就不进行赘述,我们直接进入ElasticSearch的学习。本文章通过postman来展现效果。我安装的是window版本的默认9200端口,如果启动正常的话用浏览器访问本机会出现以下信息一.索引创建索引一开始我们要进行索引的创建才有接下来的操作,我们先进行索引的创建一个school索引,用put方法去请求,点击send发送请求http://localhost:9200/

2021-07-12 10:58:18 141

原创 Docker read: connection reset by peer

Docker read: connection reset by peer在docker pull 拉去镜像时会出现报错 报错的末尾出现了read: connection reset by peer的报错内容可能出现的情况是docker设置的镜像地址失效了,添加一些镜像地址即可。通过vim命令打开daemon.json文件vim /etc/docker/daemon.json[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-96DKwZNS-1626010161152)

2021-07-11 21:31:10 14826 1

原创 一个水藻,经过两天的生长后,从第3天开始每天都会分裂出一个新藻,而分裂出的新藻同样经过两天的生长,也会从第3天开始每天分裂出一个新藻,问经过n天后,共有多少个水藻存在。暂时不考虑藻死亡的情况。

一个水藻,经过两天的生长后,从第3天开始每天都会分裂出一个新藻,而分裂出的新藻同样经过两天的生长,也会从第3天开始每天分裂出一个新藻,问经过n天后,共有多少个水藻存在。暂时不考虑藻死亡的情况。可以利用面向对象的思想去解决问题,先去生产一个水藻类,而每个生成的水藻有自己的days属性,每过三天一个水藻就会生出days=1的新水藻,最后再将新水藻的个数全部增加到总到list当中package com.yan.test;import java.util.ArrayList;import java.uti

2021-05-25 12:53:24 802 1

转载 b+树详解

B树 与 B+树我们今天要介绍的是工作开发中最常接触到的 InnoDB 存储引擎中的 B+ 树索引。要介绍 B+ 树索引,就不得不提二叉查找树,平衡二叉树和 B 树这三种数据结构。B+ 树就是从他们仨演化来的。二叉查找树首先,让我们先看一张图:从图中可以看到,我们为 user 表(用户信息表)建立了一个二叉查找树的索引。图中的圆为二叉查找树的节点,节点中存储了键(key)和数据(data)。键对应 user 表中的 id,数据对应 user 表中的行数据。二叉查找树的特点就是任何节点的左子节点

2021-05-22 21:00:56 52454 35

原创 数据结构与算法:普通队列和环形队列

数据结构与算法(二)队列环形队列[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t3Q4tHr7-1605322137838)()][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tW11ehno-1605322137841)(顺序队列的数组使用一次就不能再次使用,改成环形队列可以增加复用性public class circleArrayQueue { public static void main(String[] args

2020-11-14 10:50:50 323

原创 数据结构与算法:稀疏数组(一)

数据结构与算法(一)稀疏数组原始二维数组占用空间为42使用稀疏数组来存储使用空间为27(value值代表数组中不为0的元素个数)五子棋棋盘存储示例(结构优化)代码演示:public class test { public static void main(String[] args) { int chessArr1[][] = new int[11][11]; chessArr1[1][2] = 1; chessArr1[2][3

2020-11-08 21:14:32 143

原创 @Cacheable关于缓存的个人笔记

Cacheable工作原理1.自动配置类:CacheAutoConfiguration2.缓存的配置类很多,默认生效的配置类为:SimpleCacheConfiguration3.给容器注册了一个CacheManager:ConcurrentMapCacheManager4.可以获取和创建ConcurrentMapCache类型的缓存组件;它的作用讲数据保存再ConcurrentMap中运行流程@Cacheable:1.方法运行之前,先去查询Cache(缓存组件),按照cacheNames指

2020-11-05 13:22:49 1140 2

空空如也

空空如也

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

TA关注的人

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