5 深山猿

尚未进行身份认证

我要认证

不断进化的深山猿

等级
TA的排名 3k+

mysql索引分享

查询,是数据库所提供的一个重要功能,快速获取到目标数据很重要。sql查询很慢怎么处理?建索引!!!!那索引是如何加快查询?从数据结构的角度来看,大量数据中,快速查询数据的方式有哪些?1 )数组下标定位 2)hash实现的散列表 3)树 4)跳表 .....而mysql中主要采用了B+和hash两种方式,其中以树的方式最常用。btree索引的底层数据结构 -----B+树经典B+树示意图如下:一般在数据库系统或文件系统中使用的B+Tree结构都在经典...

2020-08-03 09:52:08

git基础

git本质上是一个版本控制系统。包括内容提交,历史记录,基于历史记录的回滚操作等,同时通过远程仓库实现协同开发。两种版本控制系统中央式:只有一个远程仓库,必须不断提交或拉取远程仓库代码。典型的如svn分布式:除了远程仓库外,团队成员的机器山都有一份本地仓库,可以再本机器山提交代码,查看版本,切换分支等。典型的如Git。Git的4区1堆和5态参考:http://www.mamicode.com/info-detail-2428030.html四个区:工作区 :开发人员开发时直接操作的

2020-07-30 14:59:39

springboot+log4j.yml配置日志文件

https://blog.csdn.net/qq_38986609/article/details/86472700

2020-07-16 17:30:17

ngixn异常 net::ERR_HTTP2_PROTOCOL_ERROR 200

先看页面报错页面报错实例:再描述下现象:不是一个接口报上面的错误,多个接口多次调用都会偶现上面的问题:net::ERR_HTTP2_PROTOCOL_ERROR 200所以基本断定不是单个接口 或 数据库的问题,因为我们用了四台nginx做负载均衡和转发,所以基本断定是nginx出了问题,但是是nginx中的哪台机器的什么原因导致的呢?下面给出2中定位策略:1)在每次页面有错误的时候,观察http中的header信息,统计每次header中via标签对应的nginx信息。此方法可以得出出

2020-07-16 14:01:50

新的时间处理工具joda

时间处理是在项目中经常用到的,时间处理一共三个,new Date().getYear(); 该方式已经弃用,第二种:calendar,用的最多,但实际用起来并不方便,现在推荐的是第三种:使用joda包里面的时间处理工具。使用方式如下:1 引入maven包 <dependency> <groupId>joda-time</groupId> <artifactId>joda-ti.

2020-05-19 21:05:12

JetCache入门

今天我们来介绍一下由Alibaba开源的一款缓存框架JetCache。其号称比Spring Cache用起来更加好用,笔者用了之后发现确实比较好用。JetCache支持本地TTL、两级缓存和分布式缓存自动刷新,开发者也可以手动的去操作缓存实例(类似于Redis/Map操作)。到目前为止共有4个组件可以使用:RedisCache、TairCache(未在github开源)、CaffeineCache(内存)和简单的LinkedHashMapCache(内存)。JetCache特点通过一致的Cach

2020-05-18 20:29:35

mac idea常用快捷键

编辑:⌘D 复制当前行或选定的块^+n getter/setter⌃⌥I 自动缩进线⌘ ⇧ / 注释/**/⌘ + ⌥ + V 自动导入变量定义 例如:new String();⌥ + Enter 自动导入包,快速修复⌥ + ⇧ + Up/Down 向上/下移一行⌘ + ⇧ + Up/Down 向上/下移动一段,如一个方法⌘ + ⌥ + T ...

2020-04-13 16:28:10

idea导入maven项目

https://blog.csdn.net/lizhensen/article/details/809429991、打开一个现有的IntelliJ IDEA工程,点击菜单的“File”->“new”->“Module from Existing Sources”。2、在打开的弹框中,选择你的项目的所在路径。注意:一定要选中pom.xml文件才可以。然后点击OK。...

2020-04-13 13:43:29

mac 终端与文件夹互转

文件夹上打开终端:右键文件夹,新建位于文件夹位置的终端窗口https://www.jianshu.com/p/2db84e7e38ff终端上打开文件夹:# open 指定文件(文件夹) 注释:a、open 后面接文件,表示默认用文本编辑器打开;    b、open 后面接文件夹,则表示用访达打开;    c、open .  表示打开当前文件夹...

2020-04-13 13:14:14

clickhous原理解析与使用

clickhouse简要介绍ClickHouse是一个超高性能的海量数据快速查询的分布式实时处理平台,在数据汇总查询方面(如GROUP BY),ClickHouse的查询更快,因此通常情况下在MySQL上进行聚合。刚好现在有如下场景:每日千万条记录,,需要按条件筛选和聚合,对记录进行数据分析,只有写入和查询,没有数据更新很明显的MySQL无法支持,所以选用了clickhouse,并且比Ve...

2019-01-09 09:43:58

mysql乐观锁与悲观锁

悲观锁悲观锁(Pessimistic Lock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。Java synchronized 就属于悲观锁的一种实现,每次线程要修改数据时都先获得锁,保证同一时刻只有一个线程能操作数据,其他线程则...

2020-03-14 18:26:01

wait notify notifyAll

wait该方法用来将当前线程释放锁,并且进入wait pool,此时没有资格争抢锁。notify():唤醒在等待该对象同步锁的线程(只唤醒一个,如果有多个在等待),注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。调用任意对象的notify()方法则导致因调用该对象的 wait()方法而阻塞的线程中随机选择的一个解除阻塞(...

2020-03-14 16:27:51

mysql 从主动复制 主从延迟 到分库分表

为甚分库分表?先集群:主从,且读写分离。分表:数据量过大 查询慢 锁事物冲突。一般先垂直分,再考虑水平分分库:机器的写压力大,并发量数千级别,读压力大,太多slave 分库分表后:降低磁盘使用率 单表数据量少 并发冲突低主从复制延迟解决:show status查看 Seconds_Behind_Master,可以看到从库复制主库的数据落后了几 ms打开MySQL的并行复制:多个库并...

2020-03-11 10:17:23

spring监听功能的使用

以创建订单为例,需要增加短信通知和事物通知,每次写一个service也可以,最好的方式可以使用spring的事件监听。spring监听器的使用:定义事件实现applicationEvent 定义监听器是实现smartApplicationListener<> 发布事件:applicationContext.publishEvent(orderCreateEvent)http...

2020-03-07 16:06:08

mq面试文章链接

面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题? --https://blog.csdn.net/qq_35190492/article/details/103153444消息队列:分布式事务、重复消费、顺序消费 --https://blog.csdn.net/qq_35190492/article/details/103232854看完保送阿里的Rocke...

2020-02-29 11:07:20

redis经典面试问题链接

Redis基础知识,数据结构,分布式锁,keys作用与问题,异步队列,延时队列,持久化,pipeline。同步机制https://blog.csdn.net/qq_35190492/article/details/102841400 -面了BAT,我总结了他们会问的Redis基础知识Redis最常问的三个问题:缓存雪崩、击穿、穿透(带答案)-https://blog.csdn....

2020-02-29 10:04:15

Mybatis工作原理与流程

引言在mybatis的基础知识中我们已经可以对mybatis的工作方式窥斑见豹(参考:《MyBatis————基础知识》)。本片博客针对Mybatis内部工作原理进行阐述。一、Mybatis工作原理图mybatis 原理图如下所示:二、工作原理解析mybatis应用程序通过SqlSessionFactoryBuilder从mybatis-config.xml配置文件(也可以用...

2020-02-25 21:41:29

MySQL主从复制的线程描述

复制线程概述:MySQL完成主从复制,需要三个线程的参与:一个在(Master)主节点上,另外两个在(Slave)从节点上1、(Master)Binlog Dump线程:当有从节点连接到主节点时,主节点就创建一个线程将该主节点的bin-log内容发送到主动连接的从节点上。创建的这个线程可以使用下面的命令在主节点的标准输出上以“Binlog Dump”名字显示。SHOW PROCES...

2020-02-25 20:21:51

redis数据结构与精准限流

Redieskey -valuevalue存在如下类型:setSortedsetmapstringlistlist-列表:ziplist:压缩列表:类似数组,但不同于数组,1)单一压缩列表中支持存储不同大小的数据,所以更加节省空间,这也是压缩的含义。2) 因为上面的特性,压缩列表不可以通过下标直接定位元素为什么要使用压缩散列表:没有多余的指针等,节省空间使用条件...

2020-01-16 13:40:25

CPU飙升问题的解决实例

项目使用现象:web项目,页面打开特别慢,反正就是慢。平常打开页面需要0.5s,现在需要3-5秒进入服务器(4核8G内存)查看原因:top发现:但是cpu波动过大,使用平常在 10%左右,会突然飙升到100%、200%甚至300%jmap -heap pid jvm内存已使用99.9%。jstat 发现发生了大量的fullgc.所以即使存在OOM,也是响应很慢,不会停止提供服务...

2020-01-10 14:07:01

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。