自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Prometheus入门

一、什么是TSDB?TSDB(Time Series Database)时序列数据库,我们可以简单的理解为一个优化后用来处理时间序列数据的软件,并且数据中的数组是由时间进行索引的。1、时间序列数据库的特点大部分时间都是写入操作。写入操作几乎是顺序添加,大多数时候数据到达后都以时间排序。写操作很少写入很久之前的数据,也很少更新数据。大多数情况在数据被采集到数秒或者数分钟后就会被写入数据库。删除操作一...

2018-06-06 14:38:34 737

转载 Go并发编程基础

原文出处: nada.kth.se   译文出处:youngsterxyf(@夏永锋_SJTU)   本文是一篇并发编程方面的入门文章,以Go语言编写示例代码,内容涵盖:运行期并发线程(goroutines)基本的同步技术(管道和锁)Go语言中基本的并发模式死锁和数据竞争并行计算在开始阅读本文之前,你应该知道如何编写简单的Go程序。如果你熟悉的是C/C++、Java或Python之类的语言,那么 ...

2018-06-06 11:32:43 253

转载 fasthttp 的 goroutine pool 实现探究

引言fasthttp是一个非常优秀的web server框架,号称比官方的net/http快10倍以上。fasthttp用了很多黑魔法。俗话说,源码面前,了无秘密,我们今天通过源码来看一看她的goroutine pool的实现。热身fasthttp写server和原生的net/http写法上基本没有区别,这里就不举例子。直接找到入口函数,在根目录下的server.go文件中,我们从函数Listen...

2018-06-06 11:28:03 304

转载 S.O.L.I.D 原则在 Go 中的应用

前言由于自己最近灵感枯竭,所以我决定翻译一篇别人的文章 O(∩_∩)O~。作为一个一直想学 Go,但想了好久还没入门的人,我挑了篇写 Go 的文章,顺便帮自己熟悉一下 Go。原文是 Dave Cheney 根据自己 GolangUK 的演讲所整理的,全文以 SOLID 原则为线路,讲述了什么样的 Go 代码才算是好代码,当然 SOLID 原则也适用于其他语言。英文原文比较长,由我和 Kevin 合...

2018-06-06 11:27:15 265

转载 Go 中的锁源码实现:Mutex

上一篇文章《当我们谈论锁,我们谈什么》 中我提到了锁,准确地说是信号量(semaphore, mutext是semaphore的一种)的实现方式有两种:wait的时候忙等待或者阻塞自己。1234567891011121314//忙等待wait(S) {    while(S<=0)        ;   //no-op    S--}//阻塞wait(semaphore *S) {    S...

2018-06-06 11:25:00 589

转载 Golang的方法集继承规则示例

本篇通过具体示例来展现 Golang 机制中 methods set 的继承规则。0x00 简单method的规则首先,我们声明示例的基本操作结构体。Go1234type Cat struct{    Name string    Color string}我们声明了一个 Cat 的 type,在它的基础上我们声明一个Meow的method:Go123func (c Cat) Meow() {  ...

2018-06-06 11:23:56 2548

转载 Go 反射实践及剖析

Go struct拷贝在用Go做orm相关操作的时候,经常会有struct之间的拷贝。比如下面两个struct之间要拷贝共同成员B,C。这个在struct不是很大的时候从来都不是问题,直接成员拷贝即可。但是当struct的大小达到三四十个成员的时候,就要另辟蹊径了。12345678910111213type A struct {    A int    B int    C string    E...

2018-06-06 11:21:18 303

转载 golang的goroutine调度机制

调度器主要基于三个基本对象上,G,M,P(定义在源码的src/runtime/runtime.h文件中)1.     G代表一个goroutine对象,每次go调用的时候,都会创建一个G对象2.     M代表一个线程,每次创建一个M的时候,都会有一个底层线程创建;所有的G任务,最终还是在M上执行3.     P代表一个处理器,每一个运行的M都必须绑定一个P,就像线程必须在么一个CPU核上执行一样...

2018-06-06 11:18:39 504

转载 在调试器里看Windows 10的Linux子系统

Windows 10是微软第三代NT团队的力挽狂澜之作,大刀阔斧地改造革新,目标是重塑Windows(Reinvent Windows)!在众多新特征中,Linux环境子系统(WSL)无疑是最具开创性和最拉风的一个。启用WSL在2016年3月30日开幕的Build大会上,微软向广大开发者宣布Windows 10将支持Linux应用。在2016年4月7号推送的 Windows 10 build 14...

2018-06-06 10:59:57 687

转载 BufferedInputStream与BufferedOutputStream用法简介

BufferedInputStream是带缓冲区的输入流,默认缓冲区大小是8M,能够减少访问磁盘的次数,提高文件读取性能;BufferedOutputStream是带缓冲区的输出流,能够提高文件的写入效率。BufferedInputStream与BufferedOutputStream分别是FilterInputStream类和FilterOutputStream类的子类,实现了装饰设计模式。...

2018-04-11 13:56:01 755

原创 GO 语言简介

Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。Go是谷歌2009发布的第二款编程语言。2009年7月份,谷歌曾发布了Simple语言,它是用来开发Android应用的一种BASIC语言.北京时间2010年1月10日,Go语

2017-12-25 15:33:23 255

转载 JAVA简介

背景Java是一门计算机编程语言。它的前身是由Sun公司开发的Oak语言,1995年更名为Java面世。2009年,甲骨文收购Sun,现属于甲骨文公司。编程环境JDK(Java Development Kit):称为Java开发包或Java开发工具,是一个编写Java的Applet小程序和应用程序的程序开发环境。JDK是整个Java的核心,包括了Java运行环境JRE,一些Java

2017-12-25 15:30:25 317

空空如也

空空如也

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

TA关注的人

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