深入理解区块链技术,从比特币、以太坊到最新公链

深入理解区块链技术,从比特币、以太坊到最新公链 原创: Andy.Chen    阅读大概需要5分钟 背景 自2008年中本聪提出比特币概念,到2009年比特币的诞生,这代表着首个基于区块链技术去中心化交易模式的加密货币实现,同时吸引了无数人的目光聚焦在区块链技术上。在这里我们来先理解几个概念,什么是加密货币、数字货币、电子货币、虚拟货币? 数字货币:广泛理解是基于数字技术,通...
分类: 其他 发布时间: 10-08 22:57 阅读次数: 0

区块链共识机制

  阅读大概需要6分钟 前言 在前两篇文章中已经大概谈了一下区块链的行业动态、基本概念和架构,以及不同区块链版本的区别,相信大家对整个区块链技术已经有了整体认识。接下来的文章中我将跟大家谈一下共识机制,什么是共识机制?共识机制在区块链技术中起到什么样的作用?它的原理是什么?如果大家对招聘网站关于“区块链技术开发”的招聘职位有关注的话,细心就会发现基本上每个企业的岗位需求都会有提到以下...
分类: 其他 发布时间: 10-08 22:57 阅读次数: 0

深入理解PoW共识

前言 上一篇文章中大概介绍了一下目前区块链应用中的几种常用的共识机制,本篇将重点聊一下区块链之一的PoW共识机制,以及它的实现原理和代码实现。 PoW(Proof of Work)工作量证明,其核心设计思路是提出求一个复杂度计算值的运算过程。用户通过进行一定的运算和消耗一定的时间来计算一个满意值并提供给服务方快速做验证,以防止服务被攻击,数据资源被滥用,确保数据交易的公平和安全。这一概念最...
分类: 其他 发布时间: 10-08 22:57 阅读次数: 0

ArrayList源码分析 jdk1.8

本篇分析ArrayList的源码,在分析之前先跟大家谈一谈数组。数组可能是我们最早接触到的数据结构之一,它是在内存中划分出一块连续的地址空间用来进行元素的存储,由于它直接操作内存,所以数组的性能要比集合类更好一些,这是使用数组的一大优势。但是我们知道数组存在致命的缺陷,就是在初始化时必须指定数组大小,并且在后续操作中不能再更改数组的大小。在实际情况中我们遇到更多的是一开始并不知道要存放多少元素,而...
分类: 其他 发布时间: 10-08 22:56 阅读次数: 0

阿里巴巴java开发手册容易忽视的几个知识点

一、编程规约(一)命名规范:1、常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长,正确的如:MAX_STOCK_COUNT;2、抽象类命名使用 Abstract 或 Base 开头;异常类命名使用 Exception 结尾;3、中括号是数组类型的一部分,数组定义如下:String[] args;反例:使用String args[]的方式来定义。3、POJO 类中布尔类型的变...
分类: 其他 发布时间: 10-08 22:56 阅读次数: 0

new/delete和malloc/free的区别详解

目录   new/delete的用法: malloc和free的用法: new和malloc的区别: free和delete用法: new/delete和malloc/free的区别详解        在软件开发中,常常需要动态地分配和撤销内存空间,在C语言中利用库函数malloc和free来分配和撤销内存空间。c++ 提供了较简单而功能较强的运算符new和delete来取代mal...
分类: 其他 发布时间: 10-08 22:51 阅读次数: 0

c++ :vector的简单实现

vector:     vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.可以把它理解为一个顺序表或者数组。只是STL里的vector是由三个迭代器来维护的:_str(数组存放开始的位置),finsh(数据存放结束位置的下一个),_endofstorage(容量的最后一个...
分类: 其他 发布时间: 10-08 22:51 阅读次数: 0

c++:实现(list)带头结点的双向链表

Vector与list的区别: Vector代码:https://blog.csdn.net/W_J_F_/article/details/82669412 1.vector数据结构 vector和数组类似,拥有一段连续的内存空间,并且起始地址不变。 因此能高效的进行随机存取,时间复杂度为o(1); 但因为内存空间是连续的,所以在进行插入和删除操作时,会造成内存块的拷贝,时间复杂度为o(n)。...
分类: 其他 发布时间: 10-08 22:51 阅读次数: 0

c++:深浅拷贝总结(深拷贝的传统和现代写法)

深浅拷贝区别: 浅拷贝只拷贝指针,但拷贝后两个指针指向同一个内存空间; 深拷贝不但对指针进行拷贝,而且对指针指向的内容进行拷贝, 调用拷贝构造函数后,浅拷贝还有联系,深拷贝的两个对象完全独立。 浅拷贝类似于文件创建快捷方式,而深拷贝好比文件复制。 编译器默认提供的默认拷贝构造函数是浅拷贝,深拷贝的构造函数需自己实现。 注意:浅拷贝多个对象共用一个资源,当一个对象销毁时,资源就会释放。如果...
分类: 其他 发布时间: 10-08 22:50 阅读次数: 0

c++:实现string类的增删查改等功能

string 是C++中的字符串。 字符串对象是一种特殊类型的容器,专门设计来操作的字符序列。 不像传统的c-strings,只是在数组中的一个字符序列,我们称之为字符数组,而C + +字符串对象属于一个类,这个类有很多内置的特点,在操作方式,更直观,另外还有很多有用的成员函数。 string 的定义为:typedef basic_string<char> string; 代码实...
分类: 其他 发布时间: 10-08 22:50 阅读次数: 0

C++ :引用计数(reference count) 实现

referecen count 的核心思维:使用一个计数器来标识当前指针指向的对象被多少类的对象所使用(即记录指针指向对象被引用的次数) 构造函数中创建类的新对象时,初始化引用计数为1; 拷贝构造函数复制指针,并使相应的引用计数增加1; 赋值操作减少左操作数所值对象的引用计数,增加右操作数所指对象的引用计数; 析构函数使引用计数减少1,并且当引用计数为1时,释放指针说指向的对象; 使用引用...
分类: 其他 发布时间: 10-08 22:50 阅读次数: 0

剑指off:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样一个二维数组和一个整数,判断数组中是否含有该整数

题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路: 从左下角x开始寻找,x为此列最大数字,此行最小数字。如果目标数小于x,则这一行消除。如果目标数大于x,此列消除。循环当找到或者不存在停止 代码: bool Find(in...
分类: 其他 发布时间: 10-08 22:50 阅读次数: 0

【Python爬虫9】Python网络爬虫实例实战

爬Google搜索引擎 爬Facebook和Linkein 1自动化登录Facebook 2提取Facebook的API数据 3自动化登录Linkedin 爬在线商店Gap 爬宝马官网爬取Google真实的搜索表单 爬取依赖JavaScript的网站Facebook 爬取典型在线商店Gap 爬取拥有地图接口的宝马官网 1.爬Google搜索引擎# -*- coding: utf-8 -*-impor
分类: 编程语言 发布时间: 10-08 22:49 阅读次数: 0

【Python爬虫8】Scrapy 爬虫框架

安装Scrapy 新建项目 1定义模型 2创建爬虫 3优化设置 4测试爬虫 5使用shell命令提取数据 6提取数据保存到文件中 7中断和恢复爬虫 使用Portia编写可视化爬虫 1安装 2标注 3优化爬虫 4检查结果 使用Scrapely实现自动化提取 1.安装Scrapy用pip命令安装Scrapy:pip install Scrapywu_being@ubuntukylin64:~/GitHu
分类: 编程语言 发布时间: 10-08 22:49 阅读次数: 0

【Python爬虫6】表单交互

手工处理发送POST请求提交登录表单 1分析表单内容 2手工测试post请求提交表单 3手工处理post请求登录的完整源代码 从FF浏览器加载cookie登录网站 1session文件位置 2FF浏览器cookie内容 3使用cookie测试加载登录 4使用cookie登录源代码 使用高级模块Mechanize自动化处理表单提交 1用高级模块Mechanize自动化处理表单提交并支持登录后网页内容更
分类: 编程语言 发布时间: 10-08 22:49 阅读次数: 0

c++: 继承的详解(理解)

目录   继承的相关概念: 继承权限&访问限定符 赋值兼容规则(public继承) 继承中的作用域: 派生类的默认成员函数: 【面试题】 继承与友元: 继承与static静态成员: 继承体系下派生类的对象模型: 继承的相关概念: 复用:重复性的代码肯定是越少越好,随着组织越来越复杂,单纯在main()中写代码会变的越来越难以维护。而函数则更像是一个小的程序。   ...
分类: 其他 发布时间: 10-08 22:49 阅读次数: 0

剑指offer:请实现一个函数,完成将一个字符串中的每个空格替换为字符串的功能。

方法一: 从头到尾扫描字符串,如果发现空格,必须把后面的字符向后移动两个字符在替换,否则会发生覆盖。 时间复杂度为O(n²),效率较低不推荐使用。 方法二: 从后向前遍历,统计空格出现次数,并可以计算出替换后的字符串总长度(每替换一个空格,长度增加两个字节, 因此替换后的长度等于原长度加上二倍的空格出现次数) 准备两个指针,一个在字符串原来的末尾另一个在替换后的末尾,遇见空格反向赋值%...
分类: 其他 发布时间: 10-08 22:49 阅读次数: 0

剑指offer:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。

方法一: 将链表逆序,也就是说,将链表反向输出,可以理解为“后进先出”。典型的栈结构,可以利用栈实现! class Solution { public: vector<int> printListFromTailToHead(ListNode* head) { vector<int> ArrayList; stack<in...
分类: 其他 发布时间: 10-08 22:49 阅读次数: 0

剑指offer:递归和循环系列问题解答

目录 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。 n<=39 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 我们可以用2*1的小矩形横着或...
分类: 其他 发布时间: 10-08 22:49 阅读次数: 0

C++stl总汇

#include <string> https://www.byvoid.com/zhs/blog/cpp-string
分类: 编程语言 发布时间: 10-08 22:48 阅读次数: 0