自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 egg.js渲染页面步骤

1、下载nunjucks npm i egg-view-nunjucks --save 2、config/config.default.js修改配置 exports.view = { defaultViewEngine: ‘nunjucks’, d...

2019-02-14 11:35:05 935 0

原创 比特币的运行机制

1. 比特币的交易 每个交易中都会有一个输入值和输出值。输入值可以看成是将被消费掉的币(这些币是前一个交易创造出来的),把输出看成是在本次交易中创造出来的币。铸造新币时,只会创造新币,而不会消费旧币(就像财奴币里的造币,只有输出,没有输入)。每笔交易都有一个独一无二的ID。每笔交易中可能有多个输出...

2018-10-10 23:10:41 1208 0

原创 比特币如何做到去中心化

1. 去中心化问题可以拆解为: 谁在维护交易账本? 交易账本是公开的,每个节点都有备份。 谁有权力批准那个交易是正当有效的? 节点们通过共识将区块上链,在等待6个确认后,该交易有效。 谁在制造新的比特币? 比特币的供应上限为2100万个,区块奖励每四年减半一次。通过挖矿可以获得区块奖励...

2018-10-07 15:48:21 791 0

原创 密码学及加密货币概述

1. 密码学哈希函数 特性1:碰撞阻力 定义:如果无法找到两个值,x和y,x≠y,使得H(x)= H(y),则称哈希函数H具有碰 撞阻力。(这里指的是无法找到,不代表不存在)。 应用:可用于判断文件是否被修改。由于具有碰撞阻力,被修改后的文件的哈希值肯定不等于未被修改的文件的哈希值。 特性2...

2018-10-06 17:34:19 732 0

原创 区块链技术框架

当前主流的区块链架构包含六个层级:网络层、数据层、共识层、激励层、合约层和应用层。图中将数据层和网络层的位置进行了对调,主要用途将在下一节中详述。 网络层:区块链网络本质是一个P2P(Peer-to-peer点对点)的网络,网络中的资源和服务分散在所有节点上,信息的传输和服务的实现都直接在节点之...

2018-09-26 15:59:41 2594 0

转载 常见的共识算法

1. PBFT(拜占庭容错) 基于拜占庭将军问题,一致性的确保主要分为这三个阶段:预准备(pre-prepare)、准备(prepare)和确认(commit)。流程如下图所示: 其中C为发送请求端,0123为服务端,3为宕机的服务端,具体步骤如下: Request:请求端C发送请求到任意一节...

2018-09-24 23:39:22 288 0

转载 常用的共识机制

1. PoW(Proof of Work):工作量证明机制 基本原理 这是比特币采用的共识机制,也是最早的。理解起来,很简单,就是“按劳取酬”,你付出多少劳动(工作),就会获得多少报酬(比特币等加密货币)。在网络世界里,这里的劳动就是你为网络提供的计算服务(算力x时长),提供这种服务的过程就是“挖...

2018-09-24 23:00:49 652 0

转载 亿书环境的部署

1. 配置系统环境 Ubuntu 14.04 ~ 16.10 (LTS) - x86_64 安装必要的依赖包(命令行操作): $ sudo apt-get update $ sudo apt-get install curl build-essential python 安装SQLite3 (v...

2018-09-24 22:46:10 215 0

原创 Hodoop伪分布式安装步骤

jdk安装 解压:tar -zxvf jdk /home/shawee/app/jdk1.8.0_181 -C ~/app 添加到系统环境变量:~/.bash_profile export JAVA_HOME=/home/shawee/app/jdk1.8.0_181 export PATH=...

2018-09-20 13:59:10 182 0

转载 【笔试】操作系统知识点整理

一. 操作系统概述 1、 操作系统的主要功能 进程与处理机管理:作业和进程调度、进程控制和进程通信; 存储管理:内存分配、地址映射、内存保护和内存扩充; 设备管理:缓冲区管理.设备分配.设备驱动.设备无关性 文件管理:文件存储空间的管理、文件操作的一般管理、目录管理、文件的读写管理和存取...

2018-07-30 00:17:36 735 0

原创 【LeetCode】4. 两个排序数组的中位数

题目 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。 请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。 你可以假设 nums1 和 nums2 均不为空。 示例1: nums1 = [1, 3] nums2 = [2] 中...

2018-07-29 16:04:10 89 0

转载 【笔试】数据结构与算法知识点整理

链表与数组。 队列和栈,出栈与入栈。 链表的删除、插入、反向。 字符串操作。 Hash表的hash函数,冲突解决方法有哪些。 各种排序:冒泡、选择、插入、希尔、归并、快排、堆排、桶排、基数的原理、平均时间复杂度、最坏时间复杂度、空间复杂度、是否稳定。 快排的partition函数与归并的Merg...

2018-07-25 23:53:06 917 0

转载 【笔试】计算机网络知识点整理

OSI与TCP/IP各层的结构与功能,都有哪些协议。 TCP与UDP的区别。 TCP报文结构。 TCP的三次握手与四次挥手过程,各个状态名称与含义,TIMEWAIT的作用。 TCP拥塞控制。 TCP滑动窗口与回退N针协议。 Http的报文结构。 Http的状态码含义。 Http request的...

2018-07-25 23:51:39 18843 0

转载 Java基础

九种基本数据类型的大小,以及他们的封装类。 String,StringBuffer, StringBuilder 的区别? Switch能否用string做参数? Java的四种引用,强弱软虚,用到的场景。 Tomcat,apache,jboss的区别 Hashcode的作用。 ArrayLis...

2018-07-25 23:50:16 63 0

原创 Spring 基础知识

背景 在没有使用Spring的时候,我们的代码架构基本是这样,层与层之间的依赖性很强,各层的生命周期都是由上层控制,效率低,属于紧耦合。于是,这时候Spring就出现了。 Spring通过IoC(控制反转)机制和DI(依赖注入)机制将各层之间的(依赖)关系打散。这两点都是通过Java反...

2018-07-22 16:38:39 49 0

原创 Hibernate核心知识(三)

Hibernate是ORM的一种实现,方便开发人员以面向对象的思想来实现对数据库的操作。 具体可见 Hibernate映射解析——七种映射关系,这篇文章已经总结得很好了。...

2018-07-22 00:29:06 54 0

原创 Hibernate核心知识(二)

我们之前已经在 Hibernate核心知识(一) 中了解了Hibernate是个啥东西,有什么作用,也在 MyEclipse2014使用Hibernate逆向工程生成实体类 中学会了怎么使用Hibernate。那么还有什么可以继续扩展的呢?光是知道怎么用Hibernate还不够,这跟普通的用JDB...

2018-07-21 18:37:01 178 0

原创 【LeetCode】3.无重复字符的最长子串

题目: 给定一个字符串,找出不含有重复字符的最长子串的长度。 示例: 给定 “abcabcbb” ,没有重复字符的最长子串是 “abc” ,那么长度就是3。 给定 “bbbbb” ,最长的子串就是 “b” ,长度是1。 给定 “pwwkew” ,最长子串是 “wke” ,长度是3。请...

2018-07-15 00:25:41 101 0

原创 【LeetCode】 2.两数相加

题目: 给定两个非空链表来表示两个非负整数。 位数按照逆序方式存储,它们的每个节点只存储单个数字。 将两数相加返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 示例: 输入:(2 -> 4 -&a...

2018-07-14 00:37:19 124 0

原创 【LeetCode】 1.两数之和

题目: 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nu...

2018-07-14 00:03:41 99 0

原创 Hibernate核心知识(一)

Hibernate是一个ORM框架。要学习Hibernate,我们首先得要来了解一下什么是ORM。 ORM(Object Relational Mapping),又叫对象关系映射。 ORM通过对象关系映射机制来解决硬编码SQL问题、支持多数据库 不同的数据库有不同的方言 →ORM自定义一...

2018-05-28 00:03:45 120 0

原创 MyEclipse2014使用Hibernate逆向工程生成实体类

1. 为对应的工程项目添加Hibernate支持 到这里我们就成功为自己的项目添加了Hibernate支持。我们可以清楚地看到项目的图标有些许的改变,并且对应的配置文件和SessionFactory类都自动生成好了。 2. 生成实体类 首先,我...

2018-05-27 20:33:29 1375 1

原创 自己动手写一个简易的IOUtil工具类

学完IO的基础知识之后,也应该自己实践一下。于是就自己写了一个简易的IOUtil工具类,功能包括: 1.文件复制 2.文件加密 3.文件解密 4.读取文件中多行文本并解析为字符串数组返回 5.把一个字符串数组中的多个字符串分行写入文本文件 6.把一个字符串追加到一个文本文件内容后 7...

2018-05-03 11:20:31 621 0

原创 Java IO基础知识

IO IO就是Input、Output(输入、输出) 凡是涉及App与App以外资源的交互,都需要使用IO,如:文件的读写、输出到屏幕(System.out)、从键盘输入(System.in)等。 IO流 IO流,就是App与外部资源之间进行数据交互的“通道”。 ...

2018-05-02 02:34:01 207 0

原创 jdk的配置

第一次写博客,就先试试水吧。 刚学java ,肯定要先配置java的环境 jdk: java development kit jre: java runtime environment 直接翻译也很好理解,java开发工具包和java运行环境,其实jdk里已经包含了jre。 然后一开...

2016-05-24 22:54:19 119 0

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