自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 天天写order by,你知道Mysql底层执行原理吗?

前言在实际的开发中一定会碰到根据某个字段进行排序后来显示结果的需求,但是你真的理解order by在 Mysql 底层是如何执行的吗?假设你要查询城市是苏州的所有人名字,并且按照姓名进行排序返回前 1000 个人的姓名、年龄,这条 sql 语句应该如何写?首先创建一张用户表,sql 语句如下:CREATE TABLE user ( id int(11) NOT NU...

2020-04-17 17:27:04 162

原创 最详细的MySQL事务解析:ACID的原理及实现

提到MySQL的事务,我相信对MySQL有了解的同学都能聊上几句,无论是面试求职,还是日常开发,MySQL的事务都跟我们息息相关。而事务的ACID(即原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durability)可以说涵盖了事务的全部知识点,所以,我们不仅要知道ACID是什么,还要了解ACID背后的实现,只有这样,无论在日常开发还是...

2020-04-14 21:24:30 235

原创 什么是缓存一致性问题?如何解决呢?

当程序在运行过程中,会将运算需要的数据从主存复制一份到CPU高速缓存中,那么CPU进行计算时就可以从它的高速缓存读取数据和向其中写入数据,当运算结束后,再将高速缓存中的数据刷新到主存当中。举个简单的例子,比如下面的这段代码:当线程执行这个语句时,会先从主存当中读取i的值,然后复制一份到高速缓存当中,然后CPU执行指令对i指令进行加1操作,然后将数据写入高速缓存,最后将高速缓存中i...

2020-04-13 17:29:54 464

原创 什么情况下JVM内存中的一个对象会被垃圾回收?

新生代满了会触发 Young GC,老年代满了会触发 Old GC。GC时会回收对象,那么具体是什么样的对象会被垃圾回收器回收呢?可达性分析算法,判断是否被 GC Roots 引用判断引用类型:强引用、软引用、弱引用、虚引用是否调用finialize()方法自救首先,JVM 会通过可达性分析算法来判断哪些对象会被回收,哪些不会被回收。可达性分析算法会从一个对象触发,一层...

2020-04-12 22:29:49 181

原创 kafka消费者组与重平衡机制,了解一下?

消费组组(Consumer group)可以说是kafka很有亮点的一个设计。传统的消息引擎处理模型主要有两种,队列模型,和发布-订阅模型。队列模型:早期消息处理引擎就是按照队列模型设计的,所谓队列模型,跟队列数据结构类似,生产者产生消息,就是入队,消费者接收消息就是出队,并删除队列中数据,消息只能被消费一次。但这种模型有一个问题,那就是只能由一个消费者消费,无法直接让多个消费...

2020-04-11 20:32:56 210

原创 一文带你精通Java I/O流,分分钟吊打面试官!

Java IO概述IO就是输入/输出。Java IO类库基于抽象基础类InputStream和OutputStream构建了一套I/O体系,主要解决从数据源读入数据和将数据写入到目的地问题。我们把数据源和目的地可以理解为IO流的两端。当然,通常情况下,这两端可能是文件或者网络连接。我们用下面的图描述下,加深理解:从一种数据源中通过InputStream流对象读入数据到程序内...

2020-04-10 17:22:03 341

原创 消息队列的灵魂拷问,你能过几关?

1. 引子消息队列分布式系统中重要的组件,一种存放消息的容器,主要作用有解耦、异步、削锋,是大型分布式系统不可缺少的中间件。常见的消息队列有 ActiveMQ,RabbitMQ,RocketMQ,Kafka。简历中涉及到了消息队列,面试官先问了这样几个问题:你们系统里为什么要使用消息队列?既然使用了消息队列,说说他还有什么使用场景?消息队列的优缺点是什么?2. 为...

2020-04-09 17:27:45 126

原创 牛逼哄哄的 Git 命令动画演示,一看就懂!

原文:CS Visualized: Useful Git Commands翻译:李中凯虽然 Git 是一个强大的工具,但是我觉得大部分人都会同意我说的:它也可以是一个……噩梦!我一直觉得,使用 Git 的时候把操作过程在脑海里视觉化会非常有用:当我执行某个命令的时候,分支之间是如何交互的?又是如何影响提交历史的?当我在master分支执行hard reset、...

2020-04-08 16:48:30 353

原创 Mysql中的三类锁,你知道吗?

导读正所谓有人(锁)的地方就有江湖(事务),人在江湖飘,怎能一无所知?今天来细说一下Mysql中的三类锁,分别是全局锁、表级锁、行级锁。全局锁全局锁简单的说就是锁住整个数据库实例,命令是Flush tables with read lock。当你需要为整个数据库处于只读的状态的时候,可以使用这个命令。一旦使用全局锁,之后其他线程的以下语句会被阻塞:数据更新语句(数据...

2020-04-06 20:35:12 117

原创 大数据、分布式都用到了的Netty,这几大核心知识你一定要看看!

1. Netty 基础Netty 是一个高性能、异步事件驱动的 NIO 框架,它提供了对 TCP、UDP 和文件传输的支持,作为一个异步 NIO 框架,Netty 的所有 IO 操作都是异步非阻塞的,通过 Future-Listener 机制,用户可以方便的主动获取或者通过通知机制获得 IO 操作结果。它是一个网路应用框架。2. Netty 高性能之道2.1. ...

2020-04-03 14:59:14 355

原创 JVM虚拟机:三分钟带你玩转“对象访问定位”

前言在「对象内存布局」一节中,我们了解到对象头中包含了一个叫做类型指针的东西,即对象指向它的类元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例。但是,并不是所有的虚拟机都是这么去做的。不同的虚拟机关于这点有不同的实现,目前主流的方式可以分为句柄和直接指针句柄由图中我们可以看到,在我们的堆中被划分出了一块单独的部分,叫做句柄池,句柄池的作用就像一个中转...

2020-04-01 14:42:26 135

空空如也

空空如也

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

TA关注的人

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