什么是运行时(runtime)

runtime 运行时 什么是 runtime 在计算机领域中,经常会接触到 runtime 这个概念,那么 runtime 究竟是什么东西? runtime 描述了程序运行时候执行的软件/指令, 在每种语言有着不同的实现。可大可小,在 C 中,runtime 是库代码, 等同于 C runtime library,一系列 C 程序运行所需的函数,在 Java 中,runtime 还提供了 Java 程序运行所需的虚拟机等。 总而言之,runtime 是一个通用抽象的术语,指的是计算机程序运行的...阅读全文

Segmentfault 2020-05-28 13:32:36 陆铭恒

揭秘!containerd 镜像文件丢失问题,竟是镜像生成惹得祸

导语 作者李志宇,腾讯云后台开发工程师,日常负责集群节点和运行时相关的工作,熟悉 containerd、docker、runc 等运行时组件。近期在为某位客户提供技术支持过程中,遇到了 containerd 镜像丢失文件问题,经过一系列分析、推断、复现、排查,最终成功找到根因并给出解决方案。现将整个详细处理过程整理成文分享出来,希望能够为大家提供一个有价值的问题处理思路以及帮助大家更好地理解相关原理。 containerd 镜像丢失文件问题说明 近期有客户反映某些容器镜像出现了文件丢失的奇怪现象...阅读全文

掘金 2020年05月22日 腾讯云原生

Golang——数组array

数组是同一种数据类型元素的集合。 数组声明时需要确定数组大小,一旦定义,不可修改。 数组的长度必须是常量,并且长度是数据类型的一部分。[5]int和[3]int是不同的类型。 数组索引从0开始。 数组是值类型。 var 变量名 [数量]T 声明和初始化 func main() { //数组声明 var a [5]int var b [3]int //数组赋值 a = [5]int{1,2,3,4,5} b = [3]int{1} fmt.Println(a) //[1 2 3 4 5] fmt....阅读全文

简书 2020-05-22 11:33:59 Cici冬雪

面试都在问的微服务,一文带你彻底搞懂!

来自公众号:后端技术学堂 作者LemonCoder 单体式应用程序 与微服务相对的另一个概念是传统的「单体式应用程序」( Monolithic application ),单体式应用内部包含了所有需要的服务。而且各个服务功能模块有很强的耦合性,也就是相互依赖彼此,很难拆分和扩容。 在座的各位都写过单体程序,给大家举个栗子,刚开始写代码你写helloworld 程序就是单体程序,一个程序包含所有功能,虽然helloworld 功能很简单。 单体应用程序的优点 开发简洁,功能都在单个程序内部,便于软...阅读全文

简书 2020-05-22 11:33:46 码农小光

goland guide

概述 本文主要记录goland的使用,常见的tool及操作等 1、配置go环境 首先打开Settings(Ctrl+Alt+S),配置GOROOT,一般自动会联想出来,选择即可,GOPATH设置如下图,GOPATH最好每个project单独一个,不要默认使用系统环境的GOPATH作为GOPATH,如图中红色框不要勾选。同时GOPATH的设定是src目录的上级目录。 2、设置Git 用于go get拉取第三方代码库 3、SSH连接 goland自带ssh连接,不用再单独安装SecureCRT,pu...阅读全文

Segmentfault 2020-05-28 11:32:38 laughbug

腾讯云 Serverless HTTP 服务指南

Serverless 是全球流行的应用架构,Serverless 实现了自动伸缩扩容,稳定性好;不需要运维,按运行时间付费,降低了开发成本;门槛降低,让前端工程师有望成为全栈工程师。诸多优点,吸引了云厂商相继布局。 云函数 SCF 是腾讯云 serverless 团队为企业和开发者们提供的无服务器执行环境,目前支持 Java、node.js、PHP、Python、Golang 等多种语言,同时 Serverless 团队也在不断的丰富其组件库,目前已经支持 Node.js 的 Express、K...阅读全文

简书 2020-05-21 23:32:54 腾讯云Serverless

Golang——切片slice

切片是一个拥有相同类型元素的可变长度的序列,底层基于数组类型进行封装。 切片是一个引用类型,内部结构包括地址(切片中第一元素的指向的内存空间)、大小(切片中目前元素的个数)和容量(底层数组最大能存放的元素个数),必须初始化才能使用。 值类型,整型、浮点型、布尔型、字符串、数组,声明时就有初始值。 引用类型,声明时候的初始值是nil。nil在内存中是没有位置。 var 变量名 []变量类型 切片使用 func main() { // 直接声明使用 var a = []int{1, 2, 3} fm...阅读全文

简书 2020-05-21 23:32:46 Cici冬雪

Golang——map

Map是无序的、基于key-value的数据结构,内部使用散列表hash实现。 Map是引用类型,声明时是nil,必须初始化才能使用。 map[keytype]valuetype map类型变量默认初始值是nil,需要使用make()函数进行初始化 make(map[keytype]valuetype, [cap]) map声明和初始化 func main() { //声明 var a map[string]int fmt.Println(a == nil) //true //初始化,容量可以写...阅读全文

简书 2020-05-21 23:32:46 Cici冬雪

Golang——函数func

函数是执行特定公开、可复用的代码块,包括函数、匿名函数、闭包。可作为变量、返回值、参数等。 func 函数名(参数)(返回值){ 函数体 } 函数名:字母、数字、下划线组成,第一个字母不能是数字;同一个包内,函数名也不能重名; 返回值:可返回多个返回值,必须用()包裹,并用,分隔 函数定义与使用 func testOne(){ fmt.Println("Hello") } func testTwo(x int){ fmt.Println(x) } //多个同类型的参数,可省略前面的类型 func...阅读全文

简书 2020-05-21 23:32:46 Cici冬雪

Go 1.12中出现的top命令RES参数异常增高的问题

问题的发现 偶然在生产上部署了一个版本之后发现,机器不断重启报警,后经过查询linux日志发现,原来是因为服务占用内存过高被内核给kill掉了。接下来就是查问题,本来以为是内存泄漏,上了pprof工具之后发现,内存占用稳定在2.6g,而top命令则很快看到RES参数暴涨到12g+(机器内存16g)后被内核杀掉。百思不得其解。后来在翻阅Go1.12发布说明时看到一段话: On Linux, the runtime now uses MADV_FREE to release unused memor...阅读全文

简书 2020-05-21 23:32:45 天地一小儒

Golang笔记-基准测试

上一篇写了些简单的单元测试,这一篇来看看go中的基准测试。在go中基准测试也是开箱即用的。使用testing.B结构对象。 需要测试的代码 我们依然用上一篇的代码结构 │ main.go │ main_test.go main.go func JoinStrUseSprint(a,b string) string { return fmt.Sprintf("%s%s",a,b) } func JoinStrUseNor(a,b string) string { return a+b } 创建一个...阅读全文

Segmentfault 2020-05-28 10:32:35 旧梦发癫

Golang笔记-基准测试

上一篇写了些简单的单元测试,这一篇来看看`go`中的基准测试。在`go`中基准测试也是开箱即用的。使用`testing.B`结构对象。 #### 需要测试的代码 > 我们依然用上一篇的代码结构 ``` │ main.go │ main_test.go main.go func JoinStrUseSprint(a,b string) string { return fmt.Sprintf("%s%s",a,b) } func JoinStrUseNor...阅读全文

Go语言中文网 2020-05-21 21:48:39 rundaisc

【go】context

context: 主要的用处如果用一句话来说,是在于简化在多个go routine传递上下文数据,并将多个groutine之间关联起来。控制goroutine的生命周期。 应用场景:1.官方http包使用context传递请求的上下文数据2.gRpc使用context来终止某个请求产生的routine树3.关联任务的取消....... A Context carries a deadline, a cancellation signal, and other values across 基本操作...阅读全文

Segmentfault 2020-05-27 20:32:32 阿阿阿黄

带你学够浪:Go语言基础系列-环境配置和 Hello world

前面几周陆陆续续写了一些后端技术的文章,包括数据库、微服务、内存管理等等,我比较倾向于成体系的学习,所以数据库和微服务还有后续系列文章补充。 最近工作上比较多的 Golang 编程,现在很多互联网公司都在转向 Golang 开发,所以打算写一写有关 Go 语言学习的系列文章,目标是从 Go 基础到进阶输出一系列文章,沉淀下这些知识同时也给大家做参考,力求做到通俗易懂,即使你是 Golang 小白也能看懂,如果你是老手也能温故知新。 本文将要和你分享 linux 下安装 Golang 环境,并且讲...阅读全文

简书 2020-05-21 19:33:21 柠檬橙1024

Golang正则表达式

语法规则 字符类匹配表达式 语法 说明 示例 匹配结果 一般 匹配本身 abc abc . 匹配任意除换行符"\n"外的字符 a.c abc \ 转义字符,使后一个字符改变原来的意思 a\.c a.c [...] 字符集(字符类),对应的位置可以是字符集中任意字符[abc]。也可以给出范围[a-c],第一个字符如果是 ^ 则表示取反,如 [^abc] 表示除了abc之外的其他字符。 a[bcd]e abe,ace,ade \d 数字:[0-9] a\dc a1c \D 非数字:[^\d] a\D...阅读全文

简书 2020-05-21 19:33:20 也疯狂

工作流一目了然,看小姐姐用动图展示 10 大 Git 命令

转自机器之心 https://dev.to/lydiahallie/cs-visualized-useful-git-commands-37p1 git merge、git rebase、git reset、git revert、git fetch、git pull、git reflog…… 你知道这些 git 命令执行的究竟是什么任务吗?如果你还有些分不清楚,那千万不能错过这篇文章。在本文中,熟知 JavaScript、TypeScript、GraphQL、Serverless、AWS、Doc...阅读全文

简书 2020-05-21 19:33:20 迷失的帆板

水壶问题—字节跳动Android岗面试题

有钱的字节跳动面试题就是这么枯燥无味! 原题:给你一个装满水的 8 升满壶和两个分别是 5 升、3 升的空壶,请想个优雅的办法,使得其中一个水壶恰好装 4 升水,每一步的操作只能是倒空或倒满。 理解了这个题目的意思之后,我们的第一个方法肯定就是使用强大的脑力来进行暴力破解法,瓶子里的水在我们的脑子里颠三倒四,但是脑子有可能没那么清晰,想了几步之后就开始出现记忆错乱,然后就不得不开始慢慢重播。 甚至到最后好不容易搞定了,但是怎么走过来的步骤又给忘记的一干二净 —— 智商好像受到了点小小的侮辱! 这...阅读全文

简书 2020-05-21 19:33:18 Android专栏

Golang GC

内存分区 代码经过预处理、编译、汇编、链接4步后⽣成⼀个可执⾏程序。 在 Windows 下,程序是⼀个普通的可执⾏⽂件,以下列出⼀个⼆进制可执⾏⽂件的基本情况: PS D:\Soft\GoCode\src> size .\01.exe text data bss dec hex filename 1440107 81844 0 1521951 17391f .\01.exe 由上可以得知,在没有运⾏程序前,也就是说程序没有加载到内存前,可执⾏程序内部已经 分好三段信息,分别为代码区(text)...阅读全文

简书 2020-05-21 19:33:17 强某某