Kai`s memo

《Java Concurrency In Practice》阅读笔记

目前的观感 东西是好的,整体叙事结构也合理,但是每章内部的叙事逻辑有点混乱,加上形式化描述的使用,读起来不好读,心智负担比较大。需要通读全书之后,仔细梳理一番。 更新:这章节内部的叙事怎么能这么乱,同一个事情拆到几个小节分散着讲,车轱辘话来回说。 更新:第 8 章开始比较轻松了,都是熟悉的内容,不过书里面也讲到了以前没考虑的事情,也有新的收获。 更新:应该不会再往下写了,以自己的背景...

分布式理论学习笔记

部署在多节点上的应用就是分布式应用 部署在多个节点(物理机、虚拟机或者容器)上的应用就是分布式应用或者分布式系统,DNS 系统就是典型的分布式系统。 微服务应用几乎总是分布式应用,因为每个微服务部署在不同的节点中。 例外的情况是,虽然应用被拆分成了多个微服务,但是所有的微服务都部署在了同一个节点上。 分布式解决了单点故障和单机性能瓶颈问题 ...

计算机网络悟记

本文记录了我对计算机网络的理解,随着自己理解的变化会不断更新 我让 Gemini 帮我起了 悟记 这个名字来表达此意 文章结构 本文先抛出了一个常见的面试题:从键入网址到页面显示,这中间发生了什么? 通过回答这个问题来理解现代计算机网络的运行方式。 在描述时,会有意将数据在网络中的处理过程拆分为不同的阶段,同时深入过程中涉及的各个协议的细节,藉此来引入计算机网络的分层模型:...

Smoker problem

抽烟者问题 问题描述: 有一个供应者和三个抽烟者。每个抽烟者不停地卷烟并抽掉它,但要卷起并抽掉一支烟,抽烟者需要有三种材料:烟草、纸和胶水。三个抽烟者中第一个拥有烟草,第二个拥有纸,第三个拥有胶水。供应者进程无限地供应三种材料,供应者每次将两种材料放到桌子上,拥有剩下那种材料的的抽烟者卷起一根烟并抽掉它,并给供应者一个信号告诉已完成,此时供应者就会将另外两种材料放到桌上,如此重复(...

Sleeping barber problem

睡眠理发师问题 经典睡眠理发师问题 问题描述: 理发店有一位理发师、一把理发椅和 \(n\) 把供等候理发的顾客休憩的椅子;如果没有顾客,理发师便在理发椅上睡觉,当有顾客到来时,他唤醒理发师;如果理发师正在理发时又有新顾客来到,那么,如果还有空椅子,顾客就坐下来等待,否则就离开理发店。 经典问题,固定解法。如下: semaphore barber = 0; semaph...