摘要:
一、递归 0、递归概述 为什么要用递归而不用循环: 以n的阶乘为例,确实使用循环会更方便,但是使用递归的场景,一般是比较难以确认推导路径的,例如一棵树,要获取所有节点值的和,这样就不能使用循环了,就需要使用递归。 递归三要素: 定义需要递归的问题(重叠的子问题) 确定递归边界 保护和 阅读全文
摘要:
1、两数之和(简单) 题目地址:https://leetcode.cn/problems/two-sum/description/ 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只 阅读全文
摘要:
一、数组 1、删除有序数组中的重复项(简单) 题目地址:https://leetcode.cn/problems/remove-duplicates-from-sorted-array/ 给你一个 升序排列 的数组 nums ,请你** 原地** 删除重复出现的元素,使每个元素 只出现一次 ,返回删 阅读全文
摘要:
一、API Server 的概念 kube-apiserver是Kubernetes最重要的核心组件之一,主要提供以下的功能: 提供集群管理的REST API接口,包括认证授权、数据校验以及集群状态变更等; 提供其他模块之间的数据交互和通信的枢纽(其他模块通过API Server查询或修改数据,只有 阅读全文
摘要:
一、etcd概述 1、简介与特点 etcd是CoreOS基于Raft开发的分布式key-value存储,可用于服务发现、共享配置以及一致性保障(如数据库选主、分布式锁等)。 在分布式系统中,如何管理节点间的状态一直是一个难题,etcd像是专门为集群环境的服务发现和注册而设计,它提供了数据TTL失效、 阅读全文
摘要:
一、Google Borg (一)什么是云计算 什么是云计算 过去对于云管理或者叫作业管理主要有两条路,一个是以Openstack为典型的虚拟化平台,一个是以谷歌 borg 为典型的基于进程的作业调度平台。 以Openstack为典型的虚拟化平台,是吧很多物理机装上Hypervisor,在上面启动一 阅读全文
摘要:
一、单机搭建 1、安装与启动 # 1.下载社区版 MongoDB 4.1.3 # 下载地址:https://www.mongodb.com/download-center#community wget https://fastdl.mongodb.org/linux/mongodb-linux-x8 阅读全文
摘要:
一、Docker概述 1、Docker概述 基于Linux内核的Cgroup,Namespace,以及Union FS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术,由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。 最初实现是基于LXC,从0.7以后开始去除LXC,转而使用自 阅读全文
摘要:
一、对象创建流程与内存分配 1、创建对象 2、堆的内存分配方式 堆的内存分配方式有指针碰撞和空闲列表两种方式: 指针碰撞:内存是连续的,年轻代使用,使用该种分配方式的垃圾回收器:Serial和ParNew收集器 空闲列表:内存地址不连续,老年代使用,使用该种分配方式的垃圾回收器:CMS和Mark-S 阅读全文
摘要:
一、线程加锁 Go 语言不仅仅提供基于 CSP 的通讯模型,也支持基于共享内存的多线程数据访问,其提供了Sync包来支持。 Sync 包提供了锁的基本原语 sync.Mutex 互斥锁:Lock()加锁,Unlock()解锁 sync.RWMutex 读写分离锁:不限制并发读,只限制并发写和并发读写 阅读全文