随笔 - 171  文章 - 0  评论 - 0  阅读 - 62142
06 2024 档案
主从复制
摘要:MySQL 主从复制(Master-Slave Replication)是一种数据复制技术,用于在多个数据库服务器之间的数据同步。在主从复制架构中,一个服务器被设置为主服务器(Master),充当数据源,其他服务器被设置为从服务器(Slave),用来复制主服务器的数据。 MySQL 的主从复制工作过 阅读全文
posted @ 2024-06-30 18:03 zhengbiyu 阅读(15) 评论(0) 推荐(0) 编辑
分布式事务
摘要:2PC 强一致性。 数据库层实现,参与的数据库需要实现XA协议。事务协调器、资源管理器。 资源锁定阶段。 资源提交阶段。 缺点:容易死锁,吞吐量低。 消息中间表 最终一致性。 A通过MQ通知B,同时把消息持久化为已发送状态,如果B消费了,回调A更新状态为完成。 避免消息丢失的场景,A定时抓取时间间隔 阅读全文
posted @ 2024-06-29 19:23 zhengbiyu 阅读(6) 评论(0) 推荐(0) 编辑
共识算法
摘要:要求数据强一致性的共识算法。 共识算法 阅读全文
posted @ 2024-06-29 18:24 zhengbiyu 阅读(9) 评论(0) 推荐(0) 编辑
架构设计
摘要:解决方案是术。 解决方案的底层逻辑思维是道。 复杂度评估 解决方案选择 阅读全文
posted @ 2024-06-29 13:05 zhengbiyu 阅读(9) 评论(0) 推荐(0) 编辑
反射优化
摘要:要优化首先得知道瓶颈点,如下代码进行测试。 import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class ReflectTest { public static vo 阅读全文
posted @ 2024-06-25 17:06 zhengbiyu 阅读(6) 评论(0) 推荐(0) 编辑
计算器II
摘要:给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。 整数除法仅保留整数部分。 你可以假设给定的表达式总是有效的。所有中间结果将在 [-231, 231 - 1] 的范围内。 注意:不允许使用任何将字符串作为数学表达式计算的内置函数,比如 eval() 。 示例 1: 输入:s = 阅读全文
posted @ 2024-06-25 16:47 zhengbiyu 阅读(5) 评论(0) 推荐(0) 编辑
排序
摘要:“排序”这个动作,可能在内存中完成,也可能需要使用外部排序,这取决于排序所需的内存和参数 sort_buffer_size。sort_buffer_size,就是 MySQL 为排序开辟的内存(sort_buffer)的大小。如果要排序的数据量小于 sort_buffer_size,排序就在内存中完 阅读全文
posted @ 2024-06-24 22:19 zhengbiyu 阅读(8) 评论(0) 推荐(0) 编辑
给定一字符串,从中提取最大的数字。
摘要:给定一字符串,包含数字、小写字母、正负号、小数点,从中提取最大的数字。 /** * 给定一字符串,包含数字、小写字母、正负号、小数点,从中提取最大的数字 * abc56dfg+78ddd-89aa89.3ggg */ public class Main { public static void ma 阅读全文
posted @ 2024-06-23 18:39 zhengbiyu 阅读(61) 评论(0) 推荐(0) 编辑
归并排序
摘要:归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 归并排序算法稳定 阅读全文
posted @ 2024-06-23 18:29 zhengbiyu 阅读(4) 评论(0) 推荐(0) 编辑
救生艇
摘要:给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。 每艘船最多可同时载两人,但条件是这些人的重量之和最多为 limit。 返回 承载所有人所需的最小船数 。 示例 1: 输入:people = [1,2], limit = 3 阅读全文
posted @ 2024-06-23 17:56 zhengbiyu 阅读(9) 评论(0) 推荐(0) 编辑
线程池异常统一处理
摘要:①直接catch 第一种思路很简单,就是把业务逻辑都trycatch起来。 ②自定义线程池 自定义线程池,继承ThreadPoolExecutor并复写其afterExecute(Runnable r, Throwable t)方法。 //java.util.concurrent.ThreadPoo 阅读全文
posted @ 2024-06-19 11:23 zhengbiyu 阅读(30) 评论(0) 推荐(0) 编辑
浅析Mybatis拦截器
摘要:一、背景 最近针对项目中出现的慢sql,我们使用自定义Mybatis拦截器,结合配置中心动态配置慢sql阈值,来监控慢sql并报警,提前发现风险点。借着这个契机,浅析下Mybatis拦截器原理,个人理解,不足之处请指正。 二、Mybatis拦截器 Mybatis使用plugin来拦截方法调用,所以M 阅读全文
posted @ 2024-06-17 17:13 zhengbiyu 阅读(1034) 评论(0) 推荐(0) 编辑
CPU利用率和负载
摘要:CPU利用率显示的是程序在运行期间实时占用的CPU百分比;cpu使用率反映的是当前cpu的繁忙程度,忽高忽低的原因在于占用cpu处理时间的进程可能处于io等待状态但却还未释放进入wait。 CPU负载是指某段时间内占用cpu时间的进程和等待cpu时间的进程数,这里等待cpu时间的进程是指等待被唤醒的 阅读全文
posted @ 2024-06-16 16:39 zhengbiyu 阅读(68) 评论(0) 推荐(0) 编辑
二叉搜索树(待补充)
摘要:二叉搜索树,是指一棵空树或者具有下列性质的二叉树: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值; 任意节点的左,右子树也分别为二叉搜索树; 没有键值相等的节点。 用Java来表示二叉树 public cla 阅读全文
posted @ 2024-06-13 13:57 zhengbiyu 阅读(3) 评论(0) 推荐(0) 编辑
二分查找
摘要:二分查找 非递归 int bsearchWithoutRecursion(int a[], int key) { int low = 0; int high = a.length - 1; while (low <= high) { int mid = low + (high - low) / 2; 阅读全文
posted @ 2024-06-13 13:53 zhengbiyu 阅读(4) 评论(0) 推荐(0) 编辑
根据ip获取城市
摘要:给你一批ip段,对应某个城市,给你一个ip,快速返回城市名。 [202.102.133.0, 202.102.133.255] 山东东营市 [202.102.135.0, 202.102.136.255] 山东烟台 [202.102.156.34, 202.102.157.255] 山东青岛 [20 阅读全文
posted @ 2024-06-13 13:50 zhengbiyu 阅读(63) 评论(0) 推荐(0) 编辑
事务
摘要:事务 在Redis中,事务是通过MULTI、EXEC、DISCARD和WATCH四个命令来实现的,它们构成了一个队列,通过EXEC命令来一次性、顺序、无中断地执行队列中所有命令。在执行EXEC之前,如果有任何错误(比如命令的语法错误或命令用错),Redis将立即停止并返回错误。但是,如果EXEC命令 阅读全文
posted @ 2024-06-13 11:23 zhengbiyu 阅读(2) 评论(0) 推荐(0) 编辑
零拷贝
摘要:普通流程 网络IO读写流程应用进程的每一次写操作,都会把数据写到用户空间的缓冲区中,再由 CPU 将数据拷贝到系统内核的缓冲区中,之后再由 DMA 将这份数据拷贝到网卡中,最后由网卡发送出去。这里我们可以看到,一次写操作数据要拷贝两次才能通过网卡发送出去,而用户进程的读操作则是将整个流程反过来,数据 阅读全文
posted @ 2024-06-11 14:58 zhengbiyu 阅读(26) 评论(0) 推荐(0) 编辑
Pipeline
摘要:当您有批量操作、提高命令执行性能等需求时,您可以使用Redis管道传输(Pipeline,后面称为Pipeline)机制。Pipeline可以将多个命令同时发给Redis服务端,减少网络延迟,并提高性能。 Pipeline简介 通常情况下,客户端与Redis通信时采用的是Ping-pong网络交互模 阅读全文
posted @ 2024-06-09 14:14 zhengbiyu 阅读(75) 评论(0) 推荐(0) 编辑
BigDecimal为什么能保证精度不丢失?
摘要:先说说为什么会丢精度。 public static void main(String[] args) { //正常 3.3 System.out.println("加法结果:"+(1.1+2.2)); //正常 -7.9 System.out.println("减法结果:"+(2.2-10.1)); 阅读全文
posted @ 2024-06-08 18:31 zhengbiyu 阅读(381) 评论(0) 推荐(1) 编辑
泛型擦除的原理
摘要:以下程序的输出是什么: List<String> stringList = new ArrayList<>(); List<Integer> intList = new ArrayList<>();//输出true System.out.println(stringList.class == int 阅读全文
posted @ 2024-06-08 16:39 zhengbiyu 阅读(27) 评论(0) 推荐(0) 编辑
ArrayList、LinkedList
摘要:区别 ArrayList是实现了基于数组的数据结构,内存连续;LinkedList是基于链表结构。 对于随机访问的get和set方法查询元素,ArrayList要优于LinkedList,因为LinkedList循环链表寻找元素。 对于新增和删除操作add和remove,LinkedList比较高效 阅读全文
posted @ 2024-06-08 16:15 zhengbiyu 阅读(8) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示