自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ZooKeeper3.6.1选举过程,详细流程图,源码

选举中的角色和状态LOOKING:投票状态FOLLOWING: 跟随主的状态LEADING: 主的状态OBSERVING: 观察状态。observer没有权利竞选和投票,只能观察投票过程中的概念外部投票: Notification,其他服务器发过来的投票内部投票: Proposal,每台服务器自己当前的投票PK: totalOrderPredicate()方法,对内部投票和外部投票进行比对,比对逻辑是:首先比较投票轮次,也就是epoch,选择大的如果epoch相同,则比较事务i

2020-09-01 22:44:43 443

原创 MyISAM和InnoDB区别

MyISAM和InnoDB的区别:InnoDB支持事务,MyISAM不支持。InnoDB支持外键,MyISAM不支持。InnoDB使用聚簇索引,索引文件和数据文件是放在一起的;MyISAM使用非聚簇索引,数据文件和索引文件分开存放,并且MyISAM的索引是可以压缩的。InnoDB每个表只能有一个聚簇索引,二级索引的叶子节点存的是主键值;MyISAM叶子节点存的是数据的地址。InnoDB支持表锁和行锁;MyISAM支持表锁。...

2020-07-28 23:22:46 159

原创 MySQL锁

MySQL锁概述不同存储引擎的锁机制:MyISAM采用的是表级锁。InnoDB既支持行级锁,也支持表级锁。InnoDB行锁是通过给索引项加锁来实现的,只有通过索引条件检索数据才会加行锁,在没有索引的情况下使用表锁。表锁行锁特点:表锁:开销小,加锁快,不会出现死锁,锁粒度大,发生锁冲突的概率大,并发度低,适合查询场景。行锁:开销大,加锁慢,会出现死锁,发生锁冲突几率低,并发度高,适合大部分应用场景。MyISAM表共享读锁(Table Read Lock):不会阻塞其他事务对同一表的

2020-07-28 23:21:40 142

原创 MySQL执行计划

MySQL执行计划ColumnMeaningidThe SELECT identifierselect_typeThe SELECT typetableThe table for the output rowpartitionsThe matching partitionstypeThe join typepossible_keysThe possible indexes to choosekeyThe index actually

2020-07-27 03:40:18 218

原创 binlog redolog undolog

bin logbin log是位于MySQL服务层,记录所有数据库表结构和表数据修改的二进制日志。redo loginnodb事务日志包括的redo log 和 undo log。redo log是物理日志,记录的是数据页的物理修改,它保证了事务的持久性。redo log分为两部分:一个是内存中的日志缓冲(redo log buffer),该部分日志是容易丢失的。二是磁盘上的重做日志文件(redo log file),该部分是持久的。事务在提交时,必须先将该事物的所有事务日志写入到磁盘上的redo

2020-07-25 23:44:18 252

原创 MySQL索引相关概念

1.什么是索引?2.索引为什么可以加快查询?3.什么是聚簇索引,什么是非聚簇索引?4.b树和b+树的区别5.索引的分类6.为什么主键要设置成自增?7.回表8.索引覆盖9.最左匹配原则10.索引下推

2020-07-25 21:30:11 153

原创 volatile作用及实现原理

volatile作用保证不同线程之间对共享变量操作时的可见性在多线程的环境下,如果某个线程首次读取共享变量,则首先到主内存中获取该变量,然后存入工作内存中,以后只需要在工作内存中读取该变量即可。同样如果对该变量执行了修改操作,则先将新值写入工作内存中,然后再刷新至主内存中。但是什么时候最新的至会被刷新至主内存是不确定的,所以会导致线程间的共享变量不可见。当一个变量被volatile关键字修饰时,对于共享资源的读操作会直接在主内存中进行,当然也会缓存到工作内存中,当其他线程对该共享资源进行了修改,则会导

2020-07-21 05:30:24 103

原创 java对象创建过程

简单来说,类加载检查–>分配内存–>初始化零值–>设置对象头–>执行init方法详细来说,当Java虚拟机遇到一条字节码new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、解析和初始化过。如果没有,那么必须先去执行相应的类加载过程。类加载过程为加载、验证、准备、解析、初始化这五个阶段。加载阶段,需要完成三件事:通过一个类的全限定名来获取定义此类的二进制字节流。将这个字节流所代表的静态存储结构转化为

2020-07-17 18:47:56 118

原创 将一个已经存在的项目添加到一个git仓库

1.在项目根目录执行git init2.添加远程仓库地址git remote add origin git@github.com:xxx/xxx.git3.将本地所有文件添加到暂存区git add . 4.将暂存区提交git commit -m '提交说明'5.提交到远程仓库git push -u origin master ...

2020-06-24 03:31:28 1665

转载 自定义注解

1 注解的概念1.1 注解的官方定义首先看看官方对注解的描述:An annotation is a form of metadata, that can be added to Java source code. Classes, methods, variables, parameters and packages may be annotated. Annotations have no direct effect on the operation of the code they annota

2020-06-21 16:09:45 191

转载 Spring-bean的循环依赖以及解决方式

本文主要是分析Spring bean的循环依赖,以及Spring的解决方式。 通过这种解决方式,我们可以应用在我们实际开发项目中。 什么是循环依赖? 怎么检测循环依赖 Spring怎么解决循环依赖 Spring对于循环依赖无法解决的场景 Spring解决循环依赖的方式我们能够学到什么? 1. 什么是循环依赖?循环依赖其实就是循环引用,也就是两个或则两个以上的bean互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图:注意,这里不是函数的循..

2020-05-11 21:03:53 219

原创 索引

什么是索引?索引(在MySQL中也叫做“键”)是存储引擎用于快速找到记录的一种数据结构。索引存储在文件系统中。索引的文件存储形式与存储引擎有关。为什么索引可以加快查询速度?1.索引大大减少了服务器需要扫描的数据量。2.索引可以帮助服务器避免排序和临时表3.索引可以将随机I/O变为顺序I/O哪些数据结构可以提高查询速度,MySQL为什么使用B+树?1.hash表 ...

2020-01-20 03:53:29 290

原创 golang面试题,go面试题

能力模型级别模型初级 primary熟悉基本语法,能够看懂代码的意图;在他人指导下能够完成用户故事的开发,编写的代码符合CleanCode规范;中级 intermediate能够独立完成用户故事的开发和测试;能够嗅出代码的坏味道,并知道如何重构达成目标;高级 senior能够开发出高质量高性能的代码;能够熟练使用高级特性,开发编程框架或测试框架;选择题...

2019-11-26 01:59:23 1446

原创 golang sync.Pool

package mainimport ( "fmt" "sync")func main() { var numCalcsCreate int calcPool := &sync.Pool { New: func() interface{} { numCalcsCreate += 1 mem := make([]byte, 1024) return &...

2019-11-02 02:57:10 168

原创 数据库事务相关概念

事务的基本特征:ACID原子性(atomicity)一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性。一致性(consistency)数据库总是从一个一致性的状态转换到另外一个一致性的状态。隔离性(isolation)通常来说,一个事务所做的修改在最终提交以前,对其他...

2019-06-24 19:52:30 241

原创 《高性能MySQL》第四章到第六章笔记

第四章 Schema与数据类型优化 选择优化的数据类型  1. 尽量使用可以正确存储数据的最小数据类型:占用更小磁盘、内存和cpu  2. 更简单的数据类型:需要更少的cpu周期  3. 避免包含null的列:使索引更复杂 mysql三大范式  第一范式:无重复的列  第二范式:一个表中不能有两个主键  第三范式:属性不依赖于其他属性 范式优点:  ·更新操作更快  ·当...

2019-06-21 00:21:22 212

原创 安装python3.7

安装 python3.71.去python官网https://www.python.org/找到你想下载的源码包2. wget下载源码包,如我下载python3.7.0的linux版:    wget www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz3.解压  tar -xvzf Python-3.7.0.tgz4.进入目录 添加配置 c...

2018-09-22 15:16:52 2837

转载 Python操作RabbitMQ

来源:http://www.cnblogs.com/phennry/p/5713274.html本篇博客主要介绍如何通过Python来操作管理RabbitMQ消息队列,大家在工作中可能遇到很多类似RabbitMQ这种消息队列的中间件,如:ZeroMQ...

2018-08-30 03:10:33 296

转载 RabbitMQ基础概念

From:http://blog.csdn.net/whycold/article/details/41119807From: http://blog.csdn.net/cugb1004101218/article/...

2018-08-30 03:05:15 149

转载 mysql分区功能

一,什么是数据库分区前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表...

2018-08-25 08:49:34 184

原创 二叉查找树python版

二叉查找树(Binary Search Tree),又称为二叉搜索树、二叉排序树。其或者是一棵空树;或者是具有以下性质的二叉树:若左子树不空,则左子树上所有结点的值均小于或等于它的根结点的值 若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值 左、右子树也分别为二叉排序树 #!/usr/bin/python# -*- coding: utf-8 -*-class No...

2018-08-20 22:58:42 1066 1

原创 python闭包,自由变量

1.变量作用域     先看一个例子      >>> def func(a):     ... print(a)     ... print(b)     ...     >>> func('hello')     hello     Traceback (most recent call last):     File "<std...

2018-08-18 04:30:06 2585

原创 centos7安装ipython,并设置快速启动

ipython是一个非常好用的工具,下面说一下在centos7下安装它1. pip3 install ipython2.  这时候ipython已经安装好,我是安装在了 /usr/local/python3/bin/ipython     不知道安装在哪里了的同学可以使用命令查看   find / -name 'ipython'      找到ipython后就可以用  pytho...

2018-08-18 03:11:38 1796

原创 scrapy splash在ubuntu环境下的简单使用

做爬虫的朋友经常会遇到一些动态加载的网站,比较常见的做法是使用selenium调用一个浏览器来加载,但是这种方法感觉大材小用,比较浪费资源,且效率低 。这个时候我们可以使用Splash。Splash可以执行用Lua 编程语言编写的自定义渲染脚本。这允许我们使用Splash作为类似于PhantomJS的浏览器自动化工具。 1.安装splash。                     手动安...

2018-08-11 04:06:56 1276

空空如也

空空如也

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

TA关注的人

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