自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 计算机网络汇总

计算机网络汇总计算机网络汇总应用层(应用,表示,会话)httphttpsDNS传输层TCPUDP网络层ARPRARP链路层以太网协议MAC地址物理层计算机网络汇总应用层(应用,表示,会话)httphttps工作原理HTTPS工作原理一、首先HTTP请求服务端生成证书,客户端对证书的有效期、合法性、域名是否与请求的域名一致、证书的公钥(RSA加密)等进行校验;二、客户端如果校验通过后,就根据证书的公钥的有效, 生成随机数,随机数使用公钥进行加密(RSA加密);三、消息体产生的后,对它的摘要进

2021-05-06 11:51:56 171

原创 kube-apiserver源码

kube-apiserver源码kube-apiserver源码1 入口函数Command创建过程server的创建CreateKubeAPIServer() apiserver的创建GenericConfig.New() 设置的初始化Apiserver的创建kube-apiserver源码1 入口函数cmd/kube-apiserver/apiserver.gofunc main() { rand.Seed(time.Now().UnixNano()) command := app

2021-05-06 11:04:59 1139

原创 kubectl源码解读

kubectl源码解读kubectl源码解读kubectl 入口函数NewDefaultKubectlCommand() -主函数的执行流程NewKubectlCommand() - 命令command对象的创建NewCmdCreate() - create命令详解RunCreate() -create的执行kubectl源码解读kubectl 入口函数cmd/kubectl/kubectl.gofunc main() { // 如果不调用rand.Seed,每次重新运行这个main函数,rand

2021-05-03 23:14:55 1070

原创 k8s 中Service、DNS与服务发现

k8s 中Service、DNS与服务发现k8s 中Service、DNS与服务发现Service创建过程IPVS模式k8s 中Service、DNS与服务发现Service创建过程apiVersion: v1kind: Servicemetadata: name: hostnamesspec: selector: app: hostnames ports: - name: default protocol: TCP port: 80 target

2021-04-27 17:01:06 699 1

原创 Flannel UDP模式

Flannel UDP模式Flannel UDP模式流程缺点Flannel UDP模式流程在今天这篇文章中,我会先从 UDP 模式开始,来为你讲解容器“跨主网络”的实现原理。在这个例子中,我有两台宿主机。宿主机 Node 1 上有一个容器 container-1,它的 IP 地址是 100.96.1.2,对应的 docker0 网桥的地址是:100.96.1.1/24。宿主机 Node 2 上有一个容器 container-2,它的 IP 地址是 100.96.2.3,对应的 docker0

2021-04-27 16:40:43 317

原创 Docker网络流程

Docker网络流程Docker网络流程网络栈容器与容器交互原理如何连接容器到网桥容器与容器之间互通原理宿主机访问容器ip过程Docker网络流程网络栈“网络栈”,就包括了:网卡、回环设备、路由表和 iptables 规则。对于一个进程来说,这些要素,其实就构成了它发起和响应网络请求的基本环境。在大多数情况下,我们都希望容器进程能使用自己 Network Namespace 里的网络栈,即:拥有属于自己的 IP 地址和端口。容器与容器交互原理如果你想要实现两台主机之间的通信,最直接的办法,就是把

2021-04-27 13:16:44 213

原创 kubernetes APIServer工作原理

kubernetes APIServer工作原理kubernetes APIServer工作原理APIserver设计APIserver如何找到对象定义apiserver 创建 CronJob 过程kubernetes APIServer工作原理APIserver设计在 Kubernetes 项目中,一个 API 对象在 Etcd 里的完整资源路径,是由:Group(API 组)、Version(API 版本)和 Resource(API 资源类型)三个部分组成的。通过这样的结构,整个 Kub

2021-04-27 10:04:24 286

原创 docker中rootfs,UnionFS ,layer关系

docker中rootfs,UnionFS ,layer关系rootfsUnion File Systemlayerrootfs为了能够让容器的这个根目录看起来更“真实”,我们一般会在这个容器的根目录下挂载一个完整操作系统的文件系统,比如 Ubuntu16.04 的 ISO。这样,在容器启动之后,我们在容器里通过执行 “ls /” 查看根目录下的内容,就是 Ubuntu 16.04 的所有目录和文件。而这个挂载在容器根目录上、用来为容器进程提供隔离后执行环境的文件系统,就是所谓的“容器镜像”。它还有一

2021-04-26 21:26:21 1029 1

原创 docker原理

docker原理docker原理Namespace 技术Cgroups 技术UnionFSdocker原理Namespace 技术Namespace 技术则是用来修改进程视图的主要方法。本来,每当我们在宿主机上运行了一个 /bin/sh 程序,操作系统都会给它分配一个进程编号,比如 PID=100。这个编号是进程的唯一标识,就像员工的工牌一样。所以 PID=100,可以粗略地理解为这个 /bin/sh 是我们公司里的第 100 号员工,而第 1 号员工就自然是比尔 · 盖茨这样统领全局的人物。而现

2021-04-26 21:11:52 64

原创 操作系统-进程通信

操作系统进程通信管道如果你学过 Linux 命令,那你肯定很熟悉「|」这个竖线。$ ps auxf | grep mysql1上面命令行里的「|」竖线就是一个管道,它的功能是将前一个命令(ps auxf)的输出,作为后一个命令(grep mysql)的输入,从这功能描述,可以看出管道传输数据是单向的,如果想相互通信,我们需要创建两个管道才行。同时,我们得知上面这种管道是没有名字,所以「|」表示的管道称为匿名管道,用完了就销毁。管道还有另外一个类型是命名管道,也被叫做 FIFO,因为数据是先进

2021-04-26 19:40:21 131

原创 go-堆内存-gc模型-栈内存

这里写自定义目录标题go原理相关一 堆内存模型基于 TCMalloc多级缓存堆区的线性结构 v1.10前堆的稀疏内存 v1.11内存管理组件线程缓存中心缓存页堆内存分配微对象小对象大对象二 gc 模型三色标记屏障机制强三色不变式弱三色不变式插入屏障(只对堆有效)删除屏障(只对堆有效)混合写屏障三 栈内存模型设计原理寄存器线程栈逃逸分析栈内存空间分段栈连续栈go原理相关一 堆内存模型基于 TCMalloc多级缓存内存分配器不仅会区别对待大小不同的对象,还会将内存分成不同的级别分别管理,TCMallo

2021-04-26 19:36:51 787

原创 移动开发第三次作业---添加音乐播放的上一首和下一首

开发目的本次移动开发实验的目的是在音乐播放器原先有的播放暂停功能基础上再添加切换上一首下一首歌曲的功能总体思想音乐播放器主要是运行了android中的BroadcastReceiver进行广播传递信息发送广播的核心点在于传入和使用sendBroadtcast,通过intent将数据发送给receiver,由receiver进行操作广播的基本使用方法Intent intent = new Intent();intent.setAction(Constant.WAIT_BROADCAST_ACT

2020-12-26 15:45:41 288

原创 用RecyclerView实现滚动页面显示

RecyclerView:在安卓开发者网站上,对于RecyclerView的使用说明是:如果您的应用需要根据大型数据集(或频繁更改的数据)显示元素的滚动列表,您应使用本页所述的 RecyclerView。从表面上看,RecyclerView的作用和ListView类似,都是用来显示大量元素的,将元素以滚动的形式显示,但是RecyclerView 比 ListView 更高级且更具灵活性。它是一个用于显示庞大数据集的容器,可通过保持有限数量的视图进行非常有效的滚动操作。 如果您有数据集合,其中的元素

2020-12-26 15:41:33 414

原创 安卓开发微信页面设计

功能要求1.页面具有标题2.具有四个页面,页面具有底部选择框,同时具有选择事件,当点击选择事件的时候进行页面切换3.页面内容不超出边界且清晰思路分析该微信界面由三部分组成页面顶部标题栏(top.xml)中间内容页面底部导航栏(bottom.xml)所以我们需要编写上述几个xml布局页面,分别分析每部分的布局内容及要求: 顶部标题栏:此栏需有app的标题,标题大小颜色自定义且居中显示,背景色自选 中间内容页面:由于本app是仿微信界面,所以设置了四个页面,分别显示不同的内容 底部导航

2020-12-26 15:22:16 1163

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除