摘要: 前言 论文(Paper)通常是新技术、算法、编程方法或软件工具的首次公布。通过阅读论文,我们可以了解最新的技术进展,保持自己的技能和知识是最新的。 同时,论文提供了对特定主题深入理解的机会。它们通常包含详细的理论分析和实验结果,这有助于深入理解某个概念或技术。但是,如何高效地阅读论文是一项关键但很少 阅读全文
posted @ 2024-05-04 20:14 mghio 阅读(1756) 评论(1) 推荐(8) 编辑
摘要: 什么是流言协议? 在分布式系统中,以下两个是典型的问题: 维护系统状态(节点的活跃性) 节点间的通信 解决这些问题的解决方案之一如下: 集中式状态管理服务 对等状态管理服务 集中式状态管理服务 像 Apache Zookeeper 这样的集中式状态管理服务可以被配置为服务发现,以跟踪系统中每个节点的 阅读全文
posted @ 2024-04-27 21:43 mghio 阅读(99) 评论(0) 推荐(0) 编辑
摘要: [《UNIX 传奇:历史与回忆》](https://book.douban.com/subject/35292726) 是 bwk([Brian W. Kernighan](https://en.wikipedia.org/wiki/Brian_Kernighan))2019 年的新作,回忆了 UN 阅读全文
posted @ 2023-08-05 16:05 mghio 阅读(271) 评论(0) 推荐(1) 编辑
摘要: ## 前言 Goroutines 是 [Go](https://go.dev) 语言主要的并发原语。它看起来非常像线程,但是相比于线程它的**创建和管理成本很低**。Go 在运行时将 goroutine 有效地调度到真实的线程上,以避免浪费资源,因此您可以轻松地创建大量的 goroutine(例如每 阅读全文
posted @ 2023-07-09 16:24 mghio 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 前言 大部分人在日常的业务开发中,其实很少去关注数据库的事务相关问题,基本上都是 CURD 一把梭。正好最近在看 MySQL 的相关基础知识,其中对于幻读问题之前一直没有理解深刻,今天就来聊聊「InnoDB 是如何解决幻读的」,话不多说,下面进入主题。 事务隔离级别 事务隔离是数据库处理的基础之一, 阅读全文
posted @ 2023-04-05 17:14 mghio 阅读(265) 评论(0) 推荐(1) 编辑
摘要: 前言 首先需要明确的是 TCP 是一个可靠传输协议,它的所有特点最终都是为了这个可靠传输服务。在网上看到过很多文章讲 TCP 连接的三次握手和断开连接的四次挥手,但是都太过于理论,看完感觉总是似懂非懂。反复思考过后,觉得我自己还是偏工程型的人,要学习这些理论性的知识,最好的方式还是要通过实际案例来理 阅读全文
posted @ 2022-11-06 16:28 mghio 阅读(536) 评论(0) 推荐(3) 编辑
摘要: 前言 在 Spring 框架中有很多实用的功能,不需要写大量的配置代码,只需添加几个注解即可开启。 其中一个重要原因是那些 @EnableXXX 注解,它可以让你通过在配置类加上简单的注解来快速地开启诸如事务管理(@EnableTransactionManagement)、Spring MVC(@E 阅读全文
posted @ 2022-05-22 12:53 mghio 阅读(360) 评论(0) 推荐(1) 编辑
摘要: 一维码(条形码) 在介绍二维码之前,先来看看它的“大哥”一维码,一维码也叫条形码(好像在日常生活中都是叫这个),它是由不同宽度的黑条和白条按照一定的顺序排列组成的平行线图案,它的宽度记录着数据信息,长度没有记录信息,条形码常用于标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点 阅读全文
posted @ 2022-01-09 16:03 mghio 阅读(977) 评论(0) 推荐(0) 编辑
摘要: 前言 在并发编程中,当多个线程同时访问同一个共享的可变变量时,会产生不确定的结果,所以要编写线程安全的代码,其本质上是对这些可变的共享变量的访问操作进行管理。导致这种不确定结果的原因就是可见性、有序性和原子性问题,Java 为解决可见性和有序性问题引入了 Java 内存模型,使用互斥方案(其核心实现 阅读全文
posted @ 2021-08-22 15:13 mghio 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 前言 在我们日常开发的分层结构的应用程序中,为了各层之间互相解耦,一般都会定义不同的对象用来在不同层之间传递数据,因此,就有了各种 XXXDTO、XXXVO、XXXBO 等基于数据库对象派生出来的对象,当在不同层之间传输数据时,不可避免地经常需要将这些对象进行相互转换。 此时一般处理两种处理方式:① 阅读全文
posted @ 2021-08-09 09:21 mghio 阅读(1163) 评论(0) 推荐(2) 编辑