使用Golang实现自己的Docker(二) 五、构建镜像 5.1 使用busybox创建容器 5.1.1 busybox 在之前,容器的挂载点继承自父进程的所有挂载点,因为缺少了镜像。 busybox 是一个集合了非常多UNIX工具的箱子,它可以提供非常多在UNIX环境下经常使用的命令,可以说 busybox 提供了一个非常完整而且小巧的系统。 获得 busybox 文件系统的 rootfs 很简单,可以使用 docker export 将 2022-10-26 docker go
使用Golang实现自己的Docker(一) 一、Linux Namespace介绍 1.1 概念 Linux Namespace 是 Kernel 的一个功能,它可以隔离一系列的系统资源,比如 PIO ( ProcessID )、 User ID 、 Network 等。 我们常购买的云服务器等资源,也就是使用了资源隔离。使用 Namespace,就可以做到 UID 级别的隔离,也就是说,可以以 UID 为 n 的用户,虚拟化出来一个 Na 2022-10-25 docker go
Redis五大基本数据类型底层数据结构详解 Redis底层数据结构分享 一、Redis6、Redis7新特性 1.1 Redis6 Redis6.0于2020 年 5 月 2 日发布,已经经过了两年,也是目前使用人数最多的版本。 支持多线程处理网络数据的读写和协议解析。(IO处理多线程,执行命令仍单线程) 推出RESP3协议,提供更多的语义化响应,以开发使用旧协议难以实现的功能,实现 Client-side-caching(客户端缓存)功 2022-09-28 学习笔记 源码分析
基于RISC-V架构和Rust编写自己的操作系统(一) 本文来自rCoreOs和自己实践的笔记。本部分内容包括搭建开发环境、编写简单内核、实现打印HelloWorld和错误处理。 RISC-V 一、ISA介绍 image-20220815193007698 image-20220815193700975 二、RISC-V RISC-V念作“risk-five”,代表着Berkeley 所研发的第五代精简指令集。 X86:太复杂,IP问题 2022-09-20 操作系统 Rust
面经收集总结(来自网络) 面经 分布式及微服务 了解过分布式吗? 分布式结构就是将一个完整的系统,按照业务功能,拆分成一个个独立的子系统,在分布式结构中,每个子系统就被称为“服务”。这些子系统能够独立运行在web容器中,它们之间通过RPC方式通信。 好处:系统之间的耦合度大大降低,可以独立开发、独立部署、独立测试,系统与系统之间的边界非常明确,排错也变得相当容易,开发效率大大提升。 系统之间的耦合度降低,从而系统更易于扩展 2022-07-13 BUG解决
LeetCode中等算法题记录 1.打家劫舍3(动态规划)* image-20210715223605747 解法一 12345678910111213141516171819202122232425262728293031323334/** * Definition for a binary tree node. * public class TreeNode { * int val; * Tr 2022-06-19 数据结构 算法
ArrayList、LinkedList源码解读 源码解读 List系列 LinkedList源码解读 结构认识 首先看LinkedList的类图 image-20210610153819284 实现了List接口和Deque双端队列接口,实现了所有可选的列表操作 其他抽象类与接口的解析: AbstractSequentialList:继承AbstractList抽象类,AbstractList继承AbstractCollection 2022-06-19 学习笔记 源码分析
回溯法示例 回溯法 解决一个回溯问题,实际上就是一个决策树的遍历过程 模板: 12345678910result = []def backtrack(路径, 选择列表): if 满足结束条件: result.add(路径) return for 选择 in 选择列表: 做选择 backtrack(路径, 选择列表) 撤销选择 其 2022-06-19 算法
深入理解JVM(内存、GC、类加载器) 深入理解JVM 第一章 走进java 1.5.2新一代即时编译器 自JDK10起,HotSpot中加入了一个全新的即时编译器:Graal编译器 第二章 Java内存区域与内存溢出异常 2.2.1 程序计数器PC Java多线程是通过线程轮流切换、分配处理器执行时间的方式来实现的。 “线程私有的内存”:每条线程都有一个PC,各条线程PC互不影响,独立存储。 执行java方法:PC记录虚拟机字节码 2022-06-19 学习笔记 JVM
安卓开发音乐盒设计 音乐盒设计 1.1 环境配置 Android Studio 4.1.2 Gradle 6.5 JDK 12 Android 7.0 1.2 需求描述 1、掌握BroadCast广播机制的使用 2、使用广播进行歌曲的播放暂停、上一首、下一首功能。 1.3 演示效果 效果 二、操作步骤 2.1 设计界面 image-20210506105245470 然后准备歌曲,放置在assets文 2022-06-19 学习笔记 安卓开发