自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kennyJ的博客

Noob~Noob~

  • 博客(9)
  • 收藏
  • 关注

原创 《Kafka权威指南》——问题1——onParitionsAssigned

四、Kafka消费者——从Kafka读取数据4.8 从特定偏移量处开始处理数据4.7节中说到,在调用subcribe()方法时传进去一个ConsumerRebalanceListener实例,可以在为消费者分配新分区或移除分区时,可以调用执行一些代码。onPartitionsRevoked 方法会在再均衡开始之前和消费者读取消息之后被调用onParitionsAssigned 方法会在重新分配分区之后和消费者开始读取消息之前被调用4.8节中,使用seek()方法,并在消费者启动或分配到新分区时

2022-01-05 15:13:29 1238

转载 【Mysql实战45讲 + 精彩评论】基础篇01-08

Mysql实战 基础篇01 | 基础架构:一条SQL查询语句是如何执行的?连接器查询缓存分析器优化器执行器01 | 基础架构:一条SQL查询语句是如何执行的?大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。而存储引擎层负责数据的存储和提取。其架构模式是插件式

2021-05-21 00:28:10 286

原创 ReentrantLock中的公平锁可能并不是真正意义上的公平

一、情景假设当前有三个线程A、B、C,分别取调用公平锁的lock.lock();假设线程A一马当先,先获取到锁,此时state == 1。然后线程B,也来到了tryAcquire方法protected final boolean tryAcquire(int acquires) { final Thread current = Thread.currentThread(); int c = getState(); if (c == 0) { if

2021-05-11 14:02:46 1019 4

原创 【ZooKeeper】关于ZooKeeper一致性的疑惑

1. Leader进行事务性操作时,有半数Follewer回复ACK,就会发送Commit请求,另外一半Follerwer中如果有因为网络问题,没有执行,之后怎么同步?2. 作为注册中心,其实不需要强一致性,但是作为分布式锁,需要强一致性zk是用顺序一致性,其中原理是由leader生成顺序的zxid来保证事务的顺序,但是依然可以从节点中读取到旧的值,zk的分布式锁需要监听自己的前一个节点,会不会读取不到?...

2021-05-07 11:57:53 163

原创 @EnableAutoConfiguration是如何导入spring.factories的

@EnableAutoConfiguration一、时序图二、流程在refresh() ->invokeBeanFactoryPostProcessors() -> PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(beanFactory, getBeanFactoryPostProcessors())方法中会调用ConfigurationClassPostProcessor的postProcess

2021-04-28 20:22:12 940

原创 LeetCode 1246 删除回文子数组(微软爱考,VIP题记录)

题目给你一个整数数组 arr,每一次操作你都可以选择并删除它的一个回文子数组arr[i], arr[i+1], ..., arr[j]( i <= j)注意,每当你删除掉一个子数组,右侧元素都会自行向前移动填补空位。请你计算并返回从数组中删除所有数字所需的最少操作次数。示例 1:输入:arr = [1,2]输出:2示例 2:输入:arr = [1,3,4,1,5]输出:3解释:先删除 [4],然后删除 [1,3,1],最后再删除 [5]。 提示:1 <= arr.l

2021-04-17 22:31:55 406

原创 简述BIO、NIO、epoll与Netty

简述BIO、NIO、epoll与NettyBIO与NIOBIO为什么慢什么是阻塞NIO的进化epoll 与 select 原理简述select的流程epoll流程Netty 与 NIO原生NIO存在的问题Netty的优点Netty模型BIO与NIOBIO:同步阻塞式IO,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善。NIO:同步非阻塞式IO,服务器实现模式为一个请求一个线程,即客户端

2021-04-14 15:34:01 959 1

原创 LeetCode 142 环形链表 II 快慢指针分析

LeetCode 142 环形链表 II题目思路代码题目给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:ta...

2020-04-01 13:08:18 179

原创 Volatile重排序规则的一些理解

volatile的内存语义volatile的特性可见性 : 对一个volatile变量的读,总是能看到(任意线程)对这个volatile变量最后的写入原子性禁止重排序本文主要想讨论一下volatile的重排序规则volatile的重排序规则表在《JAVA并发编程的艺术》中有这样一张表: 是否能重排序 第二个操作 第一个操作 普...

2020-03-02 15:36:29 2435 3

空空如也

空空如也

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

TA关注的人

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