Loading

摘要: ### 目录 *1:什么是AQS?* *2:AQS都有那些用途?* *3:我们如何使用AQS* *4:AQS的实现原理* *5:对AQS的设计与实现的一些思考* ### 1:什么是AQS ​ 随着计算机的算力越来越强大,各种各样的并行编程模型也随即踊跃而来,但当我们要在并行计算中使用共享资源的时候, 阅读全文
posted @ 2023-07-08 21:39 Philosophy 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 简介 java.lang.reflect.Proxy是整个jdk中实现动态代理的核心 类,本文主要介绍Proxy类的实现,关于Proxy类的使用请自行查阅其他资料。 Field constructorParams:构造函数的参数,用于代理类的核心的逻辑实现,关于InvocationHandler这个 阅读全文
posted @ 2023-01-06 14:51 Philosophy 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 滑动窗口分位数 分位数计算公式 分位数的计算公式有PERCETILE.INC和PERCENTILE.EXC两种,两个公式的计算逻辑是完全一样的,仅仅取数的范围大小不一样,这里我们使用PERTILE.INC来完成分位数的计算,具体的分位数计算逻辑不是本文的重点,这里就不赘述了。 分位数的题目要求 给你 阅读全文
posted @ 2022-11-19 09:20 Philosophy 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 目录 1:什么是短链接 2:为什么需要短链接 3:系统的设计与目标 4:系统API的设计 5:数据库设计 6:系统的实现 7:结语 1:什么是短链接 短链接顾名思义,就是一个比较短的链接,我们平时看到的链接可能由于一些其他的问题导致我们的链接比较长,可能长这样: https://www.baidu. 阅读全文
posted @ 2022-06-16 21:04 Philosophy 阅读(1009) 评论(1) 推荐(1) 编辑
摘要: 应用场景 在了解一致性Hash之前,我们先了解一下一致性Hash适用于什么场景,能解决什么问题?这里先放一下我自己认为适用的场景。一致性Hash适用于服务器动态扩展且需要负载均衡的场景 试想以下场景,某一天,公司的业务不断发展壮大,现有的数据库服务器无法支撑那么大的数据量,我们该怎么办呢?我们会想到 阅读全文
posted @ 2022-04-10 17:44 Philosophy 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 最小生成树MST(Minimum Spanning Tree) (1)概念 一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边,所谓一个 带权图 的最小生成树,就是原图中边的权值最小的生成树 ,所谓最小是指边的权值之和小于或者等于其它生 阅读全文
posted @ 2022-03-20 11:51 Philosophy 阅读(881) 评论(0) 推荐(0) 编辑
摘要: 前言 Nacos是一个Alibaba出品的高性能微服务时代产出的组件,集注册和配置中心为一体。那么Nacos为什么这么高性能呢?总结以下几点; 1:基于阿里自研的distro协议进行Nacos把不同节点的数据同步 2:大量使用线程池和异步的方式提高API的响应速度 3:2.X使用grpc长连接的方式 阅读全文
posted @ 2022-03-01 18:31 Philosophy 阅读(2720) 评论(0) 推荐(2) 编辑
摘要: 1:单调队列的概述 ​ 前面我们了解了单调栈的的概念和单调栈的用途以及我们可以用单调栈解决什么样的问题,下面呢,我们就对比单调栈来解释一下单调队列的概念、用途,以及我们在解决什么问题的时候会用到单调队列。 ​ 我们都知道队列是很简单的一种数据结构,先进先出的逻辑顺序,符合某些问题的特点。单调队列顾名 阅读全文
posted @ 2022-02-19 11:58 Philosophy 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 1:单调栈的概述 首先先了解一下什么是单调栈(Monotonic stack),他有什么用途,我们在解决什么问题的时候可以用到单调栈? ​ 我们都知道栈(stack)是很简单的一种数据结构,先进后出的逻辑顺序,符合某些问题的特点,比如说函数调用栈。单调栈顾名思义就是栈,只是利用了一些巧妙的逻辑,使得 阅读全文
posted @ 2022-02-17 16:28 Philosophy 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 通过上篇文章,我们知道MySQL是采用两段提交策略来保证事务的原子性的,redo log刷盘的时机是在事务提交的commit阶段采取刷盘的,在此之前,redo log都存在于redo log buffer这块指定的内存区域中。 1:write和fsync区别 这里我们首先要明确两个概念和两个参数: 阅读全文
posted @ 2022-01-29 14:52 Philosophy 阅读(2059) 评论(0) 推荐(0) 编辑