随笔分类 -  Golang

摘要:介绍一下降级和熔断的概念 什么是降级呢? 降级意味着多种方案,当系统出现问题的时候,你有一个备选方案可以马上切换,比如有一个接口的功能是实时预测未来一个月某个商品的采购数量,突然间依赖的上游系统出现问题了,那么我们的接口就完全不可用了吗?显然这是不应该的,这时我接口就可以降级,返回昨天实时计算出来的 阅读全文
posted @ 2020-04-10 18:59 阿伟~ 阅读(9324) 评论(0) 推荐(1) 编辑
摘要:那些负载均衡的面试题 简单说一下什么是负载均衡?很多人最怕这种概念性问题 你们公司负载均衡用的什么? 为什么用这种? 它的优缺点 有更好的选择吗? 你说这5联问,谁受得了啊,丛浅到深,一环扣一环,简直不要了,别怕,仔细阅读本文,这些问题都会迎刃而解。 什么是负载均衡? 俗话解释一下负载均衡 :你要在 阅读全文
posted @ 2020-03-27 13:57 阿伟~ 阅读(3097) 评论(0) 推荐(1) 编辑
摘要:什么是限流?为什么要限流 通俗的来讲,一根管子往池塘注水,池塘底部有一个口子往外出水,当注水的速度过快时,池塘的水会溢出,此时,我们的做法换根小管子注水或者把注水管子的口堵住一半,这就是限流,限流的目的就是为了防止池塘的水溢出,放在软件开发中,一台硬件的CPU和内存总归是有限的,能处理的请求量是有一 阅读全文
posted @ 2020-03-16 14:02 阿伟~ 阅读(6706) 评论(16) 推荐(20) 编辑
摘要:这是什么 想要进行性能优化,Go本身自带的工具链就包含了性能分析工具,而且也非常棒,pprof就是Go性能分析的利器,它是Go语言自带的包,有如下两种: 1. runtime/pprof:采集程序(非 Server)的运行数据进行分析 2. net/http/pprof:采集 HTTP Server 阅读全文
posted @ 2020-03-09 18:08 阿伟~ 阅读(12763) 评论(0) 推荐(0) 编辑
摘要:本文是Tony Bai在2017年第三届GopherChina大会上所作,来源如下 一、序 今天我要分享的题目是“Go coding in go way”,中文含义就是用“Go语言编程思维去写Go代码”。看到这个题目大家不禁要问:究竟什么是Go语言编程思维呢?关于什么是Go语言变成思维其实并没有官方 阅读全文
posted @ 2020-03-08 17:34 阿伟~ 阅读(821) 评论(0) 推荐(0) 编辑
摘要:如期而至,Go1.14发布了,和往常一样,该版本保留了Go 1兼容性的承若,这个版本的大部分更新在工具链 、运行时库的性能提升方面,总的来说,还是在已有的基础上不断优化提成,大家期待的泛型还没有到来,下面一块看看新的变化吧,以下变化我本地测试过。 Go 1.14 test 优化 go test v现 阅读全文
posted @ 2020-02-28 12:11 阿伟~ 阅读(3000) 评论(0) 推荐(1) 编辑
摘要:测试是每一个开发人员都需要掌握的技能,尽管你不需要像测试人员那么专业,但你也应该尽可能的做到那么专业,据我了解到我身边的一些Go开发人员,他们对Go的测试仅仅局限于写一个_test.go 测试文件,对执行方法进行测试,然后在goland的Ide中右键run方法运行,观测结果是否为绿色,仅此而已,我想 阅读全文
posted @ 2020-01-19 19:49 阿伟~ 阅读(1912) 评论(1) 推荐(1) 编辑
摘要:uintptr 和 unsafe普及 uintptr 在Go的源码中uintptr的定义如下: 位模式 :内存由字节组成.每个字节由8位bit组成,每个bit状态只能是0或1.所谓位模式,就是变量所占用内存的所有bit的状态的序列 指针大小 :一个指针的大小是多少呢?在32位操作系统上,指针大小是4 阅读全文
posted @ 2020-01-17 13:52 阿伟~ 阅读(873) 评论(0) 推荐(0) 编辑
摘要:前两天我看到了一篇文章,测试Java和Go和Python的性能,其测试内容是一个排序,排序一亿次,然后看那个语言耗时最短,我先贴一下这个文章的测试结果,Java竟然比Go快了一倍不止,Go不是号称接近C的性能吗,难道?结尾我会把我看的这篇文章链接共享出来,接下来听我分析, 准备测试代码 Java测试 阅读全文
posted @ 2020-01-14 13:14 阿伟~ 阅读(41752) 评论(68) 推荐(9) 编辑
摘要:什么是锁,为什么使用锁 用俗语来说,锁意味着一种保护,对资源的一种保护,在程序员眼中,这个资源可以是一个变量,一个代码片段,一条记录,一张数据库表等等。 就跟小孩需要保护一样,不保护的话小孩会收到伤害,同样的使用锁的原因是资源不保护的话,可能会受到污染,在并发情况下,多个人对同一资源进行操作,有可能 阅读全文
posted @ 2020-01-13 09:22 阿伟~ 阅读(1647) 评论(0) 推荐(0) 编辑
摘要:试着答一答这些问题 s[i]和(for _,v range)的v的区别是什么 a.(),和 a(b) 的区别是什么? Go的类型系统了解 Go的类型 Go语言是一门静态编译型语言,是一门强类型语言,Go语言中类型分为两种: 命名类型(已定义类型)和未命名类型(组合类型) ,我举例说一下 1. 命名类 阅读全文
posted @ 2020-01-09 13:36 阿伟~ 阅读(1381) 评论(0) 推荐(0) 编辑
摘要:开篇词 程序运行过程中不可避免的发生各种错误,要想让自己的程序保持较高的健壮性,那么异常,错误处理是需要考虑周全的,每个编程语言提供了一套自己的异常错误处理机制,在Go中,你知道了吗?接下来我们一起看看Go的异常错误机制。 Go错误处理,函数多返回值是前提 首先我们得明确一点,Go是支持多返回值的, 阅读全文
posted @ 2019-09-11 21:09 阿伟~ 阅读(3622) 评论(1) 推荐(1) 编辑
摘要:开篇语 数组和切片是两种不同的数据结构,比较常见,在Go语言中同时存在,今天我们就一起来看看他们在使用方式上,原理上的一些区别? 数组 在Go语言中,数组是一种具有相同类型固定大小的一种数据结构。 我们先来看看数组的使用,数组类型声明时的方式是 []T ,前面的[]指定数组的大小,T指定数组的类型, 阅读全文
posted @ 2019-08-21 14:02 阿伟~ 阅读(3526) 评论(3) 推荐(1) 编辑
摘要:Package 所谓package(包)其实就是代码的一种组织管理方式,代码多了就需要放入文件,文件多了就需要归类放入文件夹,就好比我们在给电脑装软件时会进行归类安装,其实也是有意无意对电脑软件安装的一种管理方式。那么不同的go文件交给不同的package管理时,如果A package需要引用 B 阅读全文
posted @ 2019-08-21 13:51 阿伟~ 阅读(2440) 评论(0) 推荐(2) 编辑
摘要:开篇语 依稀记得大学必修课,C语言中的指针,简直是噩梦,指来指去,有没有晕乎乎的感觉,我在想是不是也因为如此,所以Java语言的开发者C才比C语言的多,Java正因为解决了C的痛点,所以今天才能变成语言排行榜占其首,Go作为后起之秀,又引入这么复杂难懂的概念,可见指针我们还是需要学习的,下面我们一起 阅读全文
posted @ 2019-08-21 13:44 阿伟~ 阅读(223) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示