Forrest Hu's Blogs
技术、架构与生活随笔 · 共 449 篇文章
-
为什么要有堆栈
简介 应用程序的内存划分 为什么需要栈 为什么需要堆? 其它电影胶卷的一个胶片叫做一帧,电影的播放就是代码执行一个个函数一样,一帧一帧过去。应用程序的内存划分操作系统把磁盘上的可执行文件加载到内存运行之前,会做很多工作,其中很重要的一件事情就是把可执行文件中的代码,...
-
汇编语言
简介 与机器对话——汇编语言基础 过程调用和栈帧在计算机中,并不支持直接将数据在不同的内存之间传送,更不支持将数据从内存 直接传送到外部设备,例如磁盘或网络端口。cpu 唯一支持不同部件之间的直接数据传送只有寄存器到寄存器了。由于高级编程语言并不能直接操作寄存器,所有的...
-
计算机组成原理
简介 入门 电报是现代计算机的一个最简单的原型 cpu 四大基本电路 基本电路的基本电路 画电路图 其它本文主要来自极客时间《深入浅出计算机组成原理》,相关书籍《编码:隐匿在计算机软硬件背后的语言》从电路开始讲计算机底层实现原理 有几个gif非常贴切。 门电路...
-
生命周期管理
(未完成)由云原生平台管理的容器化应用对其生命周期没有控制权,要想成为优秀的云原生化 ,它们必须监听管理平台发出的事件,并相应地调整其生命周期。 k8s 可以通过probe 获取应用信息 k8s 可以通过postStart/preStop 与应用或外界交互 外界可以通...
-
运行时和库
前言运行时每种语言都有一个特定的执行模型(Execution Model)。而这个执行模型就需要运行时系统(Runtime System)的支持。我们把这种可以支撑程序运行的运行时系统,简称为运行时。包括三方面的功能:程序运行机制、内存管理机制和并发机制。jvm JVM ...
-
Prometheus client
前言 前言 metric object 数据写入 数据读取 k8s使用实践如何在自己的应用程序中暴露监控指标metric objectpackage metricvar studentCounterVec = prometheus.NewCounterVec( ...
-
mysql 事务
前言 前言 几个特性的实现原理 事务的原子性和持久性——redo/undo log redolog undo log 一致性 日志落盘《软件架构设计》通俗的讲,事务就是一个“代码块”,这个代码块要么不执行,要么全部执行。事务...
-
mysql 事务的隔离级别
前言 前言 为什么要有事务隔离级别? 并发控制 基于 B+Tree 和 Lock 方式的并发控制 调度器 锁 工作原理 具体细节 MVCC 为数据提供多个副本 工作原...
-
mysql 索引
前言 前言 索引 索引 为什么是B+树——B+树的逻辑结构 B+树的物理结构——按页批量读写索引数据 B+树的物理结构——如何映射逻辑结构 B+树的物理结构——页的写入与读取 为什么SELECT * 效率低 ...
-
2021年终小结
简介 沟通 比较不错的几篇文章 其它沟通如何做好技术 Team Leader? 要多读。 招聘:宁缺毋滥;长期和候选人保持沟通 目标:定义团队目标;把团队目标分解为每个人的目标 沟通:立即响应;1-on-1;倾听 工程文化:就是要鼓励大家做 Code Revi...