自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 以太坊源码分析(4)——初始化创世区块

一、前言通过前面章节学习了以太坊的基本架构之后,我们通过自己搭建一个单节点,并覆盖以太坊主要流程来讲解代码。在这一节,你将学会:如何初始化创世区块二、准备工作以太坊源码 V 1.8.0golang 1.9+windows 系统下 goland 2018+因为本系列文章主要是研究以太坊源码,所以以太坊的编译工作不详细展开,有需要的可以参考这篇文章。三、genesis.j...

2019-08-21 22:01:36 1478 1

原创 以太坊源码分析(3)——基本框架

一、 以太坊基本框架在 App 一章我们说到,以太坊的程序从 main 函数进入,并执行全局 app 对象的 Run 方法,最终调用 app.Action 也就是 geth 主函数。这一章我们就进入正题,一起来看看以太坊的基本框架是怎样的。1.1 app.Action(geth)找到 geth 函数定义的地方// geth is the main entry point into the ...

2019-08-19 22:58:34 520 1

原创 以太坊源码分析(2)——以太坊APP对象

从这一节开始,我将开始以太坊代码全覆盖讲解,讲解的流程是:以太坊程序入口——基本框架——以太坊协议——挖矿——发送一笔交易后发生了什么——以太坊共识。另外本系列文章是分享类的,默认读者具备一定的程序基础,对 Go 语言有一定的了解。如有不便,请自行翻阅 Go 语言相关文档。

2019-03-24 21:56:18 455

原创 以太坊源码分析(1)——代码结构

一、说在最前本系列文章【以太坊源码分析】将边学习边更新,如未特殊说明,将默认为【go-ethereum-1.8.0】。本系列文章的目的为深入学习以太坊,文章中会加入博主对区块链的理解,任何组织或个人不得在不经作者同意的情况下,用于商业用途。如经发现,本博主将保留法律追究的权利。除此之外,欢迎转载,多多分享。最后,本系列文章是学习类和分享类文章,如有错误欢迎指正。二、首先从目录结构入手....

2019-02-25 20:43:47 585

原创 【入门篇】虚函数、纯虚函数、抽象类

一、基本概念1、虚函数在类的成员函数前冠以 virtual 关键字的函数叫做虚函数。虚函数是实现运行时多态的基础,可以像普通函数一样被重载,也可以在派生类中被重写。2、纯虚函数纯虚函数是指只有函数体,没有定义函数体的成员函数。纯虚函数作为接口而存在,并不具备具体函数功能。从基类继承来的纯虚函数,在派生类中仍是纯虚函数。3、抽象类如果一个类中至少有一个纯虚函数,那么这个类...

2019-11-02 14:33:21 745

原创 【数据结构】总论

一、常用数据结构数组 —— 连续存储单元存储链表 —— 连续指针节点队列 —— 先进先出栈 —— 先进后出堆 —— 通常是一个可以被看做一棵树的数组对象树 ——非线性层级数据结构图 —— 很少用到hashmap ——一种数组和链表组合的数据结构hashtable——一种数组和链表组合的数据结构二...

2019-08-19 18:26:35 146

转载 【设计模式二】Singleton单例模式

前言单例模式的实现方法很多,但是其中的门门道道很值得研究。单例模式的意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。这让我们想到类的静态函数只能由类来调用,这个方法就跟类的实例没有关系了。这个方法的作用是获取类的私有静态类的指针。这个类的指针在类被声明的时候就被初始化,并且是静态的,跟实例无关,因此,每次调用静态成员方法的时候,都会获取同一个指针。...

2019-03-24 22:57:38 139

原创 【设计模式一】工厂模式

工厂模式分为:简单工厂模式、工厂方法模式、抽象工厂模式简单工厂模式核心思想:用一个工厂类根据不同的输入条件new出不同的派生类指针,然后利用多态的特性调用不同派生类中virtual函数,得到不同的结果结语:他真的很简单,以上所有的判断处理都在工厂类中完成,通过CreateFactory函数,根据不同的类型new 出派生类指针,返回基类指针。这个设计的好处是足够简单,你给...

2019-03-24 22:51:50 214

原创 【设计模式】总览

一、设计模式分类总体来说设计模式分为三大类:1)创建型模式工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。2)结构型模式适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。3)行为型模式策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。二、设计模式的...

2019-03-24 22:47:37 201

原创 static成员变量 & static成员函数

一、static成员变量1.静态成员变量的定义,与静态类型变量的定义方式一样,要在成员变量之前加关键字static。2.不同于未初始化的静态全局变量会被赋予默认值,静态成员变量必须手动初始化,并且,由于它存储在内存的静态存储区,故而在C++语法中静态成员变量只能在类体外初始化。此时,前面不需要加关键字static。3. 静态成员变量属于类而不是对象,因而它不含有隐含的*this指针参数...

2019-02-24 14:35:15 1200

转载 __stdcall、__cdecl和__fastcall

前言__stdcall、__cdecl和__fastcall是三种函数调用协议,函数调用协议会影响函数参数的入栈方式、栈内数据的清除方式、编译器函数名的修饰规则等。1、调用场合__stdcall:Windows API默认的函数调用协议。__cdecl:C/C++默认的函数调用协议。__fastcall:适用于对性能要求较高的场合。2、函数参数入栈方式__stdcall:函数参数由右...

2019-02-23 20:45:39 247

原创 mysql的锁总结

文章参照整理:http://www.cnblogs.com/qq78292959/archive/2013/01/30/2883109.html一、锁的概述1.1、为什么要引入锁锁是计算机协调多个进程或线程并发访问某一资源的机制。丢失更新 两个用户读同一数据并进行修改,其中一个用户的修改结果破坏/覆盖了另一个修改的结果脏读 用户A修改了数...

2017-11-11 09:05:14 445 2

原创 快速排序

一、前言之前一直对快速排序算法感觉很有兴趣,但是一直懒癌发作,对中间数的阀值问题懒得思考,今天静下心,不到半个钟也做好了。果然人啊,不是做不到,就怕懒得动。以后还要多写多练。二、算法思想算法每次循环时取某个数为“基准”值,网上有称之为哨兵,我觉得蛮形象的。每次遍历时从前往后,从后往前,将比哨兵小的数放在左边,大于等于哨兵的数放在右边。一次排序后,以哨兵当前位置为分界线将数组切分为两个子...

2017-08-12 14:29:46 128

原创 编码格式 & 字符集 & 中文乱码问题

一、编码格式和字符集编码,意思是指将数据通过一定方式表达或储存,这个方式就叫编码。在计算机中,使用相应的标准存储自然语言的方式就叫做编码格式。字符集,在计算机内部,规定一组字符的集合对应自然语言,这个统一的标准叫编码,而与自然语言对应的这组字符的集合就叫做字符集。计算机发展史中已经存在很多的字符集,如GB2312字符集,GBK字符集等等。二、编码格式发展史在计算机设计之初,人们使用...

2016-07-16 14:48:24 558

原创 shell 学习心得之awk篇

1、awk以 -F 指定分隔符,以单引号('')括起命令部分。2、命令行以BEGIN和END为模式部分,以花括号{}做动作部分,逐行读取输入的文件3、当awk的输入文件为空时,awk将等待,此种方法可用于大量的打印稿4、awk 命令中的字符串匹配模式包括:匹配、不匹配和精确匹配匹配:~/匹配的值/不匹配:!~/不想匹配的值/精确匹配: == "匹配的值"5、在匹配的域里...

2016-07-08 14:35:24 342

原创 程序在内存中的分配

程序的内存分配一个由C/C++编译的程序占用的内存分为以下几个部分:1、栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) :一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事。3、全局区(static):又叫静态区,全局变量和静态变量的存储是放在一块的,初...

2014-03-08 16:03:55 353

原创 const & static 关键字

一、const 修饰符1. const 修饰符在C++中除了表现出和C语言相同的特性外,还表现出一些与类相关的特性。2. 在C语言中用 const 修饰符修饰的变量通常也被称为常量类型,但其实称为只读类型更准确,表明该变量不应该被修改。 用 const 修饰符修饰的变量必须在定义时初始化,且仅能初始化一次。 const 常量可以被其他文件引用,但在被引用时常量不可被再次赋值。 与...

2014-03-08 15:55:31 396

空空如也

空空如也

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

TA关注的人

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