04 2017 档案
《Kubernetes权威指南》——组件原理
摘要:1 API Server 1.1 提供集群管理的API接口 API Server在kubernetes中的进程名为apiserver,运行在Master节点上 apiserver开放两个端口 本地端口,默认8080 安全端口,默认6443,接受Https,用于基于Token以及策略的授权 Kubec 阅读全文
posted @ 2017-04-26 23:36 suolu 阅读(1780) 评论(0) 推荐(0) 编辑
《Kubernetes权威指南》——入门
摘要:1 Hello World 1.1 概述 搭建一个Web留言板应用,采用PHP+Redis。 Redis由一个master提供写和两个slave提供读。 PHP构成的前端Web层由三个实例构成集群,访问时进行负载均衡。 提供三个docker镜像 redis master:写的redis redis 阅读全文
posted @ 2017-04-19 17:21 suolu 阅读(9133) 评论(0) 推荐(0) 编辑
Golang标准库——io-接口
摘要:接口 Read相关 Reader Reader接口用于包装基本的读取方法。 type Reader interface { //将数据读入到p中,直到读满p或者读取的过程中遇到错误,此时返回的n 阅读全文
posted @ 2017-04-18 23:37 suolu 阅读(598) 评论(0) 推荐(0) 编辑
Golang标准库——io-结构
摘要:结构 LimitedReader 定义 限制从Reader中读取的字节数。 方法 SectionReader 定义 实现了对底层满足ReadAt接口的输入流某个片段的Read、ReadAt、Seek方法. 方法 teeReader 定义 私有结构,需要通过TeeReader函数创建一个teeRead 阅读全文
posted @ 2017-04-18 23:37 suolu 阅读(921) 评论(0) 推荐(0) 编辑
GO入门——7. 并发
摘要:1 并发 1.1 goroutine Goroutine 奉行通过通信来共享内存,而不是共享内存来通信 goroutine 只是由官方实现的超级“线程池”而已。 每个实例 4 5KB 的栈内存占用和由于实现机制而大幅 减少的创建和销毁开销,是制造 Go 号称的高并发的根本原因。 goroutine 阅读全文
posted @ 2017-04-16 15:01 suolu 阅读(213) 评论(0) 推荐(0) 编辑
GO入门——6. struct与方法
摘要:1 struct Go 中的struct与C中的struct非常相似,并且Go没有class 使用 type struct{} 定义结构,名称遵循可见性规则 支持指向自身的指针类型成员 支持匿名结构,可用作成员或定义成员变量 匿名结构也可以用于map的值 可以使用字面值对结构进行初始化 允许直接通过 阅读全文
posted @ 2017-04-15 21:08 suolu 阅读(2904) 评论(0) 推荐(0) 编辑
GO入门——5. 函数
摘要:1 函数 Go 函数 不支持 嵌套、重载和默认参数 定义函数使用关键字 func,且左大括号不能另起一行 函数也可以作为一种类型使用 无需声明原型 不定长度变参 多返回值 命名返回值参数 匿名函数 闭包 2 defer 执行方式类似其它语言中的析构函数,在函数体执行结束后 按照调用顺序的相反顺序逐个 阅读全文
posted @ 2017-04-15 17:11 suolu 阅读(238) 评论(0) 推荐(0) 编辑
GO入门——4. 数组、切片与map
摘要:1. 数组 定义数组的格式:var [n],n =0 数组长度也是类型的一部分,因此具有不同长度的数组为不同类型 注意区分指向数组的指针和指针数组 数组在Go中为值类型 数组之间可以使用==或!=进行比较,但不可以使用 可以使用new来创建数组,此方法返回一个指向数组的指针 Go支持多维数组 2. 阅读全文
posted @ 2017-04-15 14:56 suolu 阅读(246) 评论(0) 推荐(0) 编辑
GO入门——3. 控制语句
摘要:1 if 条件表达式没有括号 支持一个初始化表达式(可以是并行方式) 左大括号必须和条件语句或else在同一行 支持单行模式 初始化语句中的变量为block级别,同时隐藏外部同名变量 2 for Go只有for一个循环语句关键字,但支持3种形式 初始化和步进表达式可以是多个值 条件语句每次循环都会被 阅读全文
posted @ 2017-04-15 13:25 suolu 阅读(164) 评论(0) 推荐(0) 编辑
GO入门——2. 变量
摘要:1 基本类型 零值并不等于空值,而是当变量被声明为某种类型后的默认值, 通常情况下值类型的默认值为0,bool为false,string为空字符串,引用为nil。 1.1 布尔类型 关键字:bool 长度:1字节 取值范围:true, false 注意事项:不可以用数字代表true或false 默认 阅读全文
posted @ 2017-04-14 16:08 suolu 阅读(206) 评论(0) 推荐(0) 编辑
GO入门——1.基础
摘要:1 安装配置与命令 GOROOT:Go根目录 GOPATH:GO工作目录,其目录下需要建立一下三个子目录 bin :存放编译后生成的可执行文件 pkg :存放编译后生成的包文件 src :存放项目源码 常用GO命令 go get:获取远程包(需 提前安装 git或hg) go run:直接运行程序 阅读全文
posted @ 2017-04-14 13:35 suolu 阅读(236) 评论(0) 推荐(0) 编辑
《第一本Docker书》
摘要:Docker简介 Docker依赖写时复制(copy on write),使修改应用程序非常迅速。 Docker推荐单个容器只运行一个应用或进程,鼓励面向服务的架构和微服务架构。 Docker的核心组件包括: Docker客户端与服务器:Docker是一个C/S架构,客户端连接到服务端(Docker 阅读全文
posted @ 2017-04-13 15:58 suolu 阅读(1997) 评论(0) 推荐(0) 编辑
Nginx配置文件
摘要:``` //全局区 #user nobody; //设置worker进程数,一般为CPU*核数 worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; ... 阅读全文
posted @ 2017-04-11 13:11 suolu 阅读(199) 评论(0) 推荐(0) 编辑
Nginx入门
摘要:基础 控制命令 信号量 Nginx启动后会产生一个master进程和多个worker进程,可以通过对master进行发送信号量实现对nginx进行控制与管理。 kill 信号量 pid kill 信号量 //日志目录下的nginx.pid记录了nginx master进程的pid nginx //启 阅读全文
posted @ 2017-04-11 13:06 suolu 阅读(208) 评论(0) 推荐(0) 编辑
《Java多线程编程核心技术》——多线程与同步
摘要:Java多线程 线程可以理解为是在进程中独立运行的子任务。 Java多线程 使用方法 Java中实现多线程主要有以下两种方法: 继承Thread,而后实例化该对象调用start()即启动了新线程; 实现Runnable,通过 实例化该线程,而后调用start(); 常用方法 静态方法,获取当前线程对 阅读全文
posted @ 2017-04-05 21:40 suolu 阅读(4144) 评论(0) 推荐(0) 编辑
《垃圾回收的算法与实现》——Python垃圾回收
摘要:Python垃圾回收 python采用引用计数法进行垃圾回收 Python内存分配 python在分配内存空间时,在malloc之上堆放了3个独立的分层。 python内存分配时主要由arena、pool和block三个构成。 第0层 该层指glibc的malloc()这样的分配器,是对OS申请内存 阅读全文
posted @ 2017-04-04 01:22 suolu 阅读(499) 评论(0) 推荐(0) 编辑
《垃圾回收的算法与实现》——增量式垃圾回收与RC Immix算法
摘要:增量式垃圾回收 为了控制最大暂停时间,通过逐渐推进垃圾回收即垃圾回收与mutator交替执行。 三色标记算法 以标记 清除算法为例使用三色标记算法。 利用降低吞吐量来缩短最大停顿时间。 基础 将GC中对象分成三种颜色: 白色:还未搜索过 灰色:正在搜索 黑色:搜索完成 增量式的GC标记 清除算法分成 阅读全文
posted @ 2017-04-03 00:33 suolu 阅读(1380) 评论(0) 推荐(0) 编辑
《垃圾回收的算法与实现》——分代垃圾回收
摘要:分代垃圾回收 理论支持:经验得出——"大部分的对象在生成后马上就变成了垃圾,很少有对象能活得很久"。 分代垃圾回收将刚生成的对象称为新生代,达到一定年龄(进过一次GC即一岁)的对象称为老年代,不同代的对象使用不同回收算法。 新生代对象执行GC称为新生代GC(minor GC)。 新生代对象存活一定次 阅读全文
posted @ 2017-04-02 23:00 suolu 阅读(1757) 评论(0) 推荐(0) 编辑
《垃圾回收的算法与实现》——保守式GC
摘要:保守式GC 保守式GC指“不能识别指针和非指针的GC”。 1. 不明确的根,寄存器、调用栈。全局变量空间等属于GC root,这些GC均不能识别出是指针还是非指针。 2. 指针的识别,在不明确的根的条件下可以已某种程度的精度来识别指针。 1. 是否被正确对其 2. 是否指向堆 3. 是否指向对象的头 阅读全文
posted @ 2017-04-02 21:17 suolu 阅读(2799) 评论(0) 推荐(0) 编辑
《垃圾回收的算法与实现》——GC标记-压缩算法
摘要:基本算法 Mark Compact与Mark Sweep的第一阶段均为标记活跃对象,第二阶段则不同,压缩算法则是将活跃对象逻辑上移到一起。 Lisp2算法 对象头中增加forwarding指针,其用法与复制算法一样。 Lisp2的标记阶段与其他算法一样,其压缩算法则包括以下三个步骤: 设定forwa 阅读全文
posted @ 2017-04-02 00:17 suolu 阅读(1354) 评论(0) 推荐(0) 编辑
《垃圾回收的算法与实现》——GC复制算法
摘要:基本概念 GC复制算法将堆分成From和To两个内存块,当From被占满时GC将From中的存活对象复制到To中,同时将From和To交换。 通过递归遍历GC root(即采用深度优先)复制存活对象,对于已经复制过的标记其COPIED字段。 复制过的对象将在From的对象的forwarding记录T 阅读全文
posted @ 2017-04-01 00:30 suolu 阅读(4478) 评论(0) 推荐(1) 编辑