Golang入门指南


  • 首页

  • todo

  • 思考

  • life

  • food

  • OS

  • lua

  • redis

  • Golang

  • C

  • TCP/IP

  • ebpf

  • p4

  • OpenVPN

  • IPSec

  • L2TP

  • DNS

  • distributed

  • web

  • OpenWRT

  • 运维

  • Git

  • 鸟哥的私房菜

  • IT杂谈

  • 投资

  • About Me

  • 友情链接

  • FTP

  • 搜索
close

探索Lua5.2内部实现:虚拟机指令(2) MOVE & LOAD

时间: 2021-04-05   |   分类: lua     |   阅读: 1521 字 ~4分钟

原文链接 | name | args | desc | | OP_MOVE | A B | R(A) := R(B) | OP_MOVE用来将寄存器B中的值拷贝到寄存器A中。由于Lua是register based vm,大部分的指令都是直接对寄存器进行操作,而不需要对数据进行压栈和弹栈,所以需要OP_MOVE指令的地方并不多。最直接的使用之处就是将一个local变量复制给另一个local变量时:

阅读全文 »

探索Lua52内部实现-虚拟机指令1概述

时间: 2021-04-05   |   分类: lua     |   阅读: 1825 字 ~4分钟

原文链接 Lua一直把虚拟机执行代码的效率作为一个非常重要的设计目标。而采用什么样的指令系统的对于虚拟机的执行效率来说至关重要。

Stack based vs Register based VM 根据指令获取操作数方式的不同,我们可以把虚拟机的实现分为stack based和register based。

阅读全文 »

lua的历史与演进

时间: 2021-04-05   |   分类: lua     |   阅读: 35908 字 ~72分钟

lua的优点:

可移植性 容易嵌入 体积小 高效率 这些优点都来自于lua的设计目标:简洁。从Scheme获得了很多灵感,包括匿名函数,合理的语义域概念

3 lua前身


巴西被商贸限制,引入计算机软件和硬件受限,巴西人有强烈的民族情绪去创造自己的软件。三名作者都是同一个实验室Tecgraf的,这个实验室与很多工业实体有合作关系。成立的头十年,重点是创造交互性的图形软件,帮助合作伙伴进行设计。巴西石油公司是其中一个重要伙伴。有大量的遗留数据需要处理。于是诞生了DEL,一个领域专用语言,主要用来描述数据流图的数据的。后来人们对DEL需求越来越多,不止是一门简单的数据描述语言可以解决的了。

阅读全文 »

go单例模式

时间: 2021-04-05   |   分类: go     |   阅读: 2196 字 ~5分钟

原文链接

Go语言中的单例模式 在过去的几年中,Go语言的发展是惊人的,并且吸引了很多由其他语言(Python、PHP、Ruby)转向Go语言的跨语言学习者。

阅读全文 »

Golang 切片与函数参数陷阱

时间: 2021-04-05   |   分类: go     |   阅读: 5382 字 ~11分钟

原文链接

线性结构是计算机最常用的数据结构之一。无论是数组(arrary)还是链表(list),在编程中不可或缺。golang也有数组,不同于别的语言,golang还提供了切片(slice)。切片比数组有更好的灵活性,具有某些动态特性。然而切片又不像动态语言的列表(Python list)。不明白切片的基本实现,写程序的时候容易掉“坑”里。 slice参数 本来写一个堆排序,使用了golang的slice来做堆,可是发现在pop数据的时候,切片不改变。进而引发了golang函数切片的参数,是传值还是传引用呢?我们知道slice相比array是引用类型。那么直觉上告诉我们如果函数修改了参数的切片,那么外层的切片变量也会变啦。

阅读全文 »

go 汇编入门 如何学习Golang?万字详文教你Go语言入门

时间: 2021-04-04   |   分类: go     |   阅读: 9205 字 ~19分钟

作者:ivansli,腾讯开发工程师

在深入学习 Golang 的 runtime 和标准库实现的时候发现,如果对 Golang 汇编没有一定了解的话,很难深入了解其底层实现机制。在这里整理总结了一份基础的 Golang 汇编入门知识,通过学习之后能够对其底层实现有一定的认识。

阅读全文 »

深入浅出Go Runtime

时间: 2021-04-04   |   分类: go     |   阅读: 8271 字 ~17分钟

以下内容转载自 yifhao

介绍

基于2019.02发布的go 1.12 linux amd64版本, 主要介绍了Runtime一些原理和实现的一些细节, 对大家容易不容易理解或者网络上很多错误的地方做一些梳理:

阅读全文 »

Goroutine 的切换过程涉及了什么

时间: 2021-04-04   |   分类: go     |   阅读: 1737 字 ~4分钟

GCTT:anxk Go语言中文网

点击上方蓝色“Go语言中文网”关注,每天一起学 Go

Illustration created for “A Journey With Go”, made from the original Go Gopher, created by Renee French.

本文基于 Go 1.13 版本。

Goroutine 很轻,它只需要 2Kb 的内存堆栈即可运行。另外,它们运行起来也很廉价,将一个 Goroutine 切换到另一个的过程不牵涉到很多的操作。在深入 Goroutine 切换过程之前,让我们回顾一下 Goroutine 的切换在更高的层次上是如何进行的。

阅读全文 »
77 78 79 80 81 82 83 84 85

日志
分类
标签
RSS 订阅
GitHub
© 2009 - 2025
粤ICP备2021068940号-1 粤公网安备44011302003059
0%