- 博客(24)
- 收藏
- 关注
原创 为什么表数据删掉一般,表文件大小不变?
文章目录13| 为什么表数据删掉一般,表文件大小不变?1. 参数innodb_file_per_table2. 数据删除流程3. 插入数据造成的“空洞”4. 重建表5 Online和inplace13| 为什么表数据删掉一般,表文件大小不变?InnoDB表包含两个部分:表结构定义和数据。在8.0之前,表结构是以.frm为后缀的文件中。MySQL8.0版本,则允许把表结构定义放在数据表中了,因为表结构定义占用的空间很小,所以主要针对的是表数据。1. 参数innodb_file_per_table
2022-01-31 20:08:24
1516
原创 kafka2.8单机的安装以及配置
文章目录kafka2.8单机的安装以及配置1. 下载2. 安装3. 配置server.properties配置参数zookeeper.properties配置参数4. 遇到的问题1. Kafka: 找不到或无法加载主类 kafka.Kafka2. java.net.UnknownHostException: bogon: bogon: 系统错误3. doesn't match stored clusterId Some(PSukxbtYScqbBlpCUn6xnQ) in meta.properties.
2021-07-23 17:34:12
1586
原创 between导致索引失效
between导致索引失效发生情景在一个表里会有一个score记录分录,值在1-100之间,这个表查询比较频繁,score会是默认查询条件,所以加了索引,但是score加了索引后还是会走全量查询。发生事件会查询到30多万的量。在创建score索引之后,使用explain发现还是走的全表查询。在添加limit的条件之后,会发现索引成功发生原因表的数据量太大,会让数据库中的优化器进行处理。优化器是在表里面有多个索引的时候,决定使用哪个索引,查询的量太大,导致优化器认为走全表查询
2021-06-07 16:44:40
3490
原创 02|MySQL的日志系统
文章目录02|MySQL的日志系统。日志模块redo logbinlog两种日志的不同:执行器和InnoDB引擎在执行简单的update语句时的内部流程.两阶段提交小结02|MySQL的日志系统。日志模块redo logMySQL中的WAL技术,Write-Ahead Logging,它的关键点就是先写日志,再写磁盘。当一条记录需要更新的时候。InnoDB先把记录写道redo log里面。并更新内存。InnoDB引擎会在适当的时候,将这个操作记录更新到磁盘里面,这个更新是在系统空闲的时候
2021-04-28 14:41:07
245
1
转载 MySQL为null会导致的5个问题
文章原文链接: 原文:来源Java中文社群.准备正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信息,如下图所示:插入基础数据-- 如果存在 person 表先删除DROP TABLE IF EXISTS person; -- 创建 person 表,其中 username 字段可为空,并为其设置普通索引CREATE TABLE person ( id INT PRIMARY KEY auto_increment, name VARCHAR(20), mobile VAR
2021-03-01 08:54:17
461
转载 J.U.C---AQS(一)---简介
原文地址AQS简介AQS(AbstractQueueSynchronizer),队列同步器,它是构建锁或者其他同步组件的基础框架(ReentrantLock,ReentrantReadWriteLock,Semaphore)等。AQS解决了在实现同步器时涉及到的大量细节问题,例如获取同步状态,FIFO同步队列。AQS优势它不仅极大的减少实现工作,还不用处理在多个位置上发生的竞争问题,在基于AQS构建的同步器中,只能在一个时刻发生阻塞,从而降低上下文切换的开销,提高了吞吐量。AQS实现方式AQS的
2021-01-15 16:46:43
261
原创 工厂模式
3.工厂模式按照业务场景划分:一、简单工厂模式,二、工厂方法模式,三、抽象工厂模式。3.1 简单工厂模式即静态工厂方法模式,有一个具体工厂,创建多个不同的产品。3.1.1 应用场景对于产品种类较少的。3.2 工程方法模式多态性工程模式,指创建一个对象的接口,但由实现这个接口的类来定义实例化哪个类,工厂方法把类的实例化推迟到子类种进行。在工厂模式种,不在由单一的工厂里生产产品,而是由工厂类的子类实现具体产品的创建,因此,增加一个产品时,只需增加一个对应的工厂的子类。3.2.1 工厂方法模
2021-01-06 22:56:08
289
原创 代理模式
2.代理模式代理模式(Proxy pattern) 指为其他对象提供一种代理,以控制对这个对象的访问,属于结构设计模式。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端与目标对象之间起到中介的作用。2.1 代理模式介绍2.1.1 代理模式的应用场景婚姻中介,事务代理,日志坚挺。当不想直接引用某个对象或某个对象存在访问困难时,可以通过代理对象来间接访问。使用代理模式主要有两个目的:一、保护目标对象。二、增强目标对象。2.1.2 代理模式的UML图代理模式
2021-01-06 22:55:25
380
原创 单例模式
#单例模式1.1.1 单例模式概述单例模式(Singleton Pattern)指确保任何时候都绝对只有一个实例,并提供一个全局访问点,属于创建性设计模式。1.1.2 应用场景J2EE标准中的ServletContextServletContextConfigSpring框架中的ApplicationContext数据库中的连接池单例模式主要应用作用于:需要频繁创建的一些类,减少系统的内存压力,减少GC某些类创建实例占用资源很多,或实例化耗时长,且经常使用频繁访问数据库或文件
2021-01-06 22:54:46
235
原创 Divisor_Game_1025
LeetCode 1025爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作:选出任一 x,满足 0 < x < N 且 N % x == 0 。用 N - x 替换黑板上的数字 N 。如果玩家无法执行这些操作,就会输掉游戏。只有在爱丽丝在游戏中取得胜利时才返回 True,否则返回 false。假设两个玩家都以最佳状态参与游戏。示例 1:输入:2输出:true解释:爱丽丝选择 1,鲍勃无法进行操作。示例
2020-06-18 21:36:17
204
原创 96_不同的二叉搜索树(中等)
题目给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?示例:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树:思路二叉搜索树以I为根,左边的小于i,右边的大于i,同时有N个数,则一共可以有N个根,即f(n) = t(1) + t(2) + t(3) + t(4) + ..+t(i)...+ t(n)以i为根时,左边有i-1个数,右边有N-i个数,则,他的右边有f(i-1)个二叉搜索树数,右边有f(N-i)个二叉搜索树数,左右二叉树
2020-06-13 23:25:08
201
转载 刘汝佳-算法竞赛入门-排列(2-6)
用1,2,3.~9组成3个三位数abc,def,ghi,每个数字恰好使用一次,要求abc:def:ghi = 1:2:3。按照"abc def ghi"的格式输出所有解,每行一个解。解答:1.用bool Flag[10]数组来标记数字是否出现。 2.三个数中abc最小为 123,同时1000/3最大的组成为329,所以需要枚举123~329的所有数 ...
2018-09-24 22:41:35
715
1
原创 刘汝佳-算法竞赛入门-分数化小数
输入正整数a,b,c,输出a/b的小数形式,精确到小数点后c位。a,b《10^6,c《100。输入包含多组数据,结束标记为a=b=c=0样例输入:1 6 40 0 0样例输出:Case 1:0.1667---------------------------------------------------------------------------------------...
2018-09-24 20:39:26
1072
3
原创 刘汝佳-算法竞赛入门-子序列的和
输入两个正整数n<m<10^6,输出1/n^2+1/(n+1)^2....+1/m^2,保留5位小数,输入包含多组数据,结束标记为n=m=0.例:输入:2 465536 6553600 0 输出:Case 1:0.42361Case 2:0.00001解答:float输入输出格式为:%f,double输入输出格式为%lf#include&l...
2018-09-24 19:46:40
989
1
原创 刘汝佳-算法竞赛入门-倒三角形
输入正整数n<=20,输出一个N层的倒三角型,同时增加输入为0是退出程序,输入大于20时输出“Error”。#include<stdio.h>int main(){ int n; while(scanf("%d",&n)==1 && n){ //输入单个的整数 for(int i=n;i>0;i--...
2018-09-24 19:00:16
733
原创 刘汝佳-算法竞赛入门-水仙花数
输出100-999中的所有水仙花数,若3位数ABC满足ABC=A^3+B^3+C^3,则称其为水仙花数。#include<stdio.h>int main(){ int a,b,c; for(int i=100;i<1000;i++){ a=i/100;//分解百分位 b=i/10%10;//分解十分位; c=i%10;//分解个位数 if(i=...
2018-09-23 22:55:48
731
原创 刘汝佳-算法竞赛入门经典-韩信点兵
中国剩余定理,分别模五,模三,模七,总人数不小于10,不超过100。 #include<stdio.h>int main(){ int a,b,c,sum,n=0; while(scanf("%d%d%d",&a,&b,&c)){//分别输入模三,模五,模七的余数 int i; for(i=10;i<=100;i++){ ...
2018-09-23 22:34:11
776
原创 算法分析设计与分析-蛮力法(3)--顺序查找
package Force_Method;public class Sequentialsort { public static void main(String[] args) { // TODO Auto-generated method stub int a[] = {87,45,68,90,29,34,17,123,12456,1}; int k=1; Syste
2017-11-16 18:28:37
977
原创 算法分析设计与分析-蛮力法(2)--冒泡排序
冒泡排序是比较表中的响铃元素,如果是逆序则交换顺序,重复多次即可将最大元素排到最后,然后将第二大元素排到倒数第二位,依次进行排序。package Force_Method;public class BublieSort { public static void main(String[] args) { // TODO Auto-generated method stub in
2017-11-16 18:12:18
945
原创 算法分析设计与分析-蛮力法(1)--选择排序
选择排序开始的时候,先找出最小元素,然后和第一个元素交换,然后找出剩下n-1个元素中的最小元素再与剩下中的第一个元素进行交换,直到不能再交换为止public class Select_sort { public static void main(String[] args) { // TODO Auto-generated method stub int a[]
2017-11-16 18:01:13
1289
原创 java--多线程--线程的操作
要操作线程就要知道线程的七种状态:线程的生命周期包含七种状态:出生状态,就绪状态,运行状态,等待状态,休眠状态,阻塞状态和死亡状态。使线程处于就绪状态有以下几种方法:1.调用sleep()方法。2.调用wait()方法。3.等待输入/输出完成。当线程处于就绪状态后。有一下几种方法进行运行:1.线程调用notity()方法。2.线程调用notity
2017-09-08 10:33:53
365
原创 java--多线程-实现线程
JAVA提供了并发机制,程序员在程序中可以执行多个线程,每个线程完成一个功能,并与其他线程并发执行。Windows是个多任务操作系统,它以进程为单位,一个进程是一个包含自身地址的程序,每个独立执行的程序都称为进程。也就是正在执行的程序。系统可以分配给每个进程一段有限的使用CPU的时间(也可以称为CPU时间片),CPU在这段时间中执行某个进程然后下一个时间片又调到另一个进程中执行
2017-09-08 10:29:07
342
原创 Java面向对象--异常(二)
在编写方法时不必将所有可能的异常抛出,在以下四种情况时则应抛出异常。 1.调用一个抛出已经检查异常的方法,如IO流中的输入输出方法,后缀为Stream方法。 2.程序运行过程中发现的错误,并且利用throw语句抛出一个已检查的异常。 3.程序出现错误,例如 a[-1]=0会抛出一个ArrayIndexOutofBoundsException。 4.Java虚拟机和运行时库出现的异常
2017-08-27 17:18:41
571
原创 JAVA面向对象-异常
异常:在运行期间发生的不正常状况。在java中对这些不正常状况进行了描述和封装,这些类就是异常类。============================异常体系:1..在java中所有的异常对象都是由Throwable继承而来。2.异常体系总共分为两大类。 2-1,Error:一般不可以处理 特点:是有jvm抛出的严重性问题,这种问题一
2017-08-27 11:50:35
481
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人