- 博客(25)
- 收藏
- 关注
原创 Ubuntu上IPFS私有链搭建与Java-sdk调用
文章参考了几位大神的博客,但自己在实践时遇到了一些问题,因此在原文基础上做了修改,原文链接在文章末尾。一、拉取相关docker镜像docker pull ipfs/go-ipfs二、私有链密钥生成工具生成密钥文件go get github.com/Kubuxu/go-ipfs-swarm-key-gencd $GOPATH/src/github.com/Kubuxu/go-i...
2020-03-18 22:06:28
700
2
原创 ubuntu下配置curl支持https
我的系统中在先前已经安装了curl,在执行一条与https相关的命令时,报错说不支持。运行curl --version如下图:在默认的安装条件下,Protocols一行中不会显示https协议,既不支持https,需要我们手动配置。一、运行如下命令配置https协议wget https://www.openssl.org/source/openssl-1.1.0g.tar.g...
2019-12-17 13:13:02
1922
原创 hyperledger-fabric-linux-amd64-1.4.0.tar.gz、hyperledger-fabric-ca-linux-amd64-1.4.0.tar.gz免费下载
在搭建hyperledger1.4的网络时需要下载hyperledger-fabric-linux-amd64-1.4.0.tar.gz、hyperledger-fabric-ca-linux-amd64-1.4.0.tar.gz这两个压缩包,但由于网站在国外,所以下载超慢,在这里给大家分享一下我下载好的。链接:https://pan.baidu.com/s/1mvPaJft6FEfufqiR...
2019-12-14 10:47:11
2101
15
原创 智能合约代码分析
在上一篇博客中我们已经简单分析了Fabric启动时日志,接下来我们分析一下script.sh脚本和chaincode的源代码。进入~/go/src/github.com/hyperledger/fabric-samples/first-network/scripts目录下,找出其中与链码有关的部分:installChaincode () { PEER=$1 setGlobals $P...
2019-12-07 10:55:38
1435
原创 Fabric启动时日志分析
在上一篇博客中我们已经成功启动了Fabric网络,接下来让我们来看看它在启动过程中发生了什么事。一、日志输出分析出现此输出,代表网络启动成功 ____ _____ _ ____ _____ / ___| |_ _| / \ | _ \ |_ _|\___ \ | | / _ \ | |_) | | |...
2019-12-06 12:10:07
625
原创 搭建第一条Fabric网络
上一篇博文我们已经将fabric的开发环境安装好了,接下来就是搭建第一条fabric网络。一、进入~/go/src/github.com/hyperledger/fabric-samples/目录下,切换分支:git checkout release-1.0进入first-network目录下,目录结构如下:其中env文件存储的是一些环境变量,base目录下存储的是docke...
2019-12-06 10:23:44
390
原创 Hyperledger Fabric开发环境准备
本文记录Hyperledger Fabric开发环境的准备,所用的系统是Ubuntu 16.04。一、安装dockersudo apt install docker.io可通过docker -v查看版本二、安装docker-compose。docker-compose是支持通过模板脚本批量创建Docker容器的一个组件。sudo curl -L https://gi...
2019-12-04 13:33:07
333
原创 拜占庭将军问题
一、拜占庭将军问题简介分布式系统的共识算法是区块链共识算法的基础,拜占庭容错技术(Byzantine Fault Tolerance,BFT)是一类分布式计算领域的容错技术,它源于拜占庭将军问题。其实本菜鸟一直对拜占庭将军问题非常感兴趣,但是有关的书籍往往介绍的都非常少,大多只说一个结论。这几天好好查了查资料,结合以前看过的书籍和几篇高水平的博客写一个总结(相应的原文链接已附在文尾)。因为本人...
2019-11-09 13:55:47
719
原创 椭圆曲线密码算法(ECC)
网上有很多关于ECC的文章,但是讲明白的很少,最近发现了一个大佬的博客,里面将ECC的算法讲的比较透彻,我当作自己的笔记来看。其中会对于一些细小的错处做一些修改和添加一些自己的见解(大佬的博客地址和参考资料全部已经放在文章的末尾了)。比特币使用椭圆曲线算法生成公钥和私钥,选择的是secp256k1曲线。 椭圆曲线密码学(ECC)是(Elliptic Curve Cryptography)...
2019-11-06 21:37:05
10438
原创 SVN源码迁移到GIT
今天接到任务要把部门一个svn项目迁移到git上去,这对我这个菜鸟来说还是比较难受的。因为我git学了个半吊子,svn又完全没有接触过,但是没办法,硬着头皮也得上啊。花了一个小时的时间在网上查了各种关于svn的教程,然后又简单了解了svn与git的不同之处,幸亏大佬又给我了帮助文档,在万分感激中开始迁移工作。首先,需要知道项目的svn链接,这里假设项目路径为svn://practice。同...
2019-10-26 20:39:18
361
原创 jdk8--ArrayList底层源码分析
ArrayList是我们常见的一种Java集合,在日常的编程和面试中出境频率非常之高,今天结合源码总结一下ArrayList。一、继承的父类与实现的接口。首先,ArrayList继承了AbstractList类,实现了List, RandomAccess, Cloneable, java.io.Serializable接口,即: public class ArrayList&...
2019-08-25 08:41:05
538
原创 Linux下tomcat的安装与配置
今天看到了视频中安装tomcat的教程,自己装了一遍记录一下过程。在Ubantu下安装tomcat,首先要确保已经配置了相应的jdk环境,如果没有的话看Linux配置jdk。在jdk环境配置完成以后,可以安装相应版本的tomcat.去tomcat的官网下载相应的版本,我下载的是解压版的。1、把压缩文件放到/usr/local/tmp文件夹下。2、解压文件tar zxvf ap...
2019-07-03 23:13:05
251
原创 Linux配置jdk
1、去Oracle的官网下载相应的jdk版本,网址如下https://www.oracle.com/technetwork/cn/java/javase/downloads/index.html,我下载的是jdk-8u211-linux-x64.tar.gz版本。2、在/usr/local/下新建一个文件夹tmp,将压缩包下载放入到tmp下,解压:tar zxvfjdk-8u211...
2019-06-30 22:23:38
155
原创 Xshell和Xftp连接ubantu并设置root账户登陆
今天用Xshell和Xftp连接虚拟机中的ubantu系统时,发现了普通的用户能连接上,但是root用户却不行,老是说服务器拒绝了密码,请再试一次。天地良心,密码真的是对的。网上查了解决方案,大多数的版本都非常雷同,如下所示 :1、首先确定自己安装了ssh,如果没有,采用如下命令安装: sudo apt-get install openssh-server2、检查虚拟机SSH服务是...
2019-06-30 12:47:36
1294
原创 centos6.7下安装phpstorm并在桌面创建快捷方式
PhpStorm是一种比较方便的php编辑器,能连接git下载源码十分方便,而且,好了主要是因为以前在Windows的环境下用惯了它,所以在Linux中也不打算换了。一、在安装phpstorm之前,我们首先要确保他所依赖的环境正确: Intel Pentium III/800 MHz or higher (or compatible) ...
2019-06-13 10:20:14
720
原创 centos6.7下安装mysql5.7以及密码修改
1、下载rpm文件wget https://repo.mysql.com//mysql57-community-release-el6-11.noarch.rpm2、安装MySQL的yum源 yum -y localinstall mysql57-community-release-el6-11.noarch.rpm3、安装MySQLyum -y install m...
2019-06-13 09:32:16
543
原创 MySQL事务的特性和隔离级别
事务是一组原子性的SQL语句,也可以被看作是一个工作单元。事物内的语句要么全部执行,要么一句也不执行。MySQL提供3个事务型存储引擎:InnoDB、NDB Cluster和Falcon。还有几个第三方引擎也支持事务处理,目前最知名的第三方事务性引擎是solidDB和PBXT.可以用START TRANSACTION语句开始一个事务,用COMMIT语句提交整个事务,永久地修改数据,或者用ROL...
2019-06-01 14:55:42
466
原创 剪绳子问题-动态规划
给你一根长度为n的绳子,请把绳子剪成m段(m,n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],...,k[m]。请问k[m]可能的最大乘积是多少?例如,当绳子的长度为8时,我们把它剪成长度分别是2、3、3的三段,此时得到的最大的乘积是18.可以把大问题分解成几个小问题,分解后每个小问题也存在最优解,如果把小问题的最优解组合起来能够得到整个问题的最优解,我们可以...
2019-05-28 21:45:36
1223
原创 告别死记硬背懒汉式单例模式
首先简单说一下单例模式,单例模式在使用时只生成一个实例,减少了系统性能开销,当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时、则可以通过在应用启动时直接产生一个单例对象,然后永久驻留内存的方式来解决。好了定义方面就说到这吧,更详细的内容百度上有很多,大家可以找合适的,欢迎分享。接着给出一段比较经典的代码:public class SingleTon{ privat...
2019-05-28 19:45:40
178
原创 Java中volatile关键字的解析
本文是对《Java并发编程的艺术》一书中volatile部分的小结。一、volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。 “可见性”:当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。volatile如果运用得当的话,它比synchronized的使用和执行成本更低,因为它不会引起上下文的切换和调度(上下文的切换是指CPU...
2019-05-28 15:12:16
620
原创 Java虚拟机运行时数据区域
今天在读《深入理解Java虚拟机》,为了防止后续忘记,对所读的内容做一个简短的总结,主要的内容都是这本书上的。 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范(JavaSE7版)》的规定,Java虚拟机所管理的内存将包括以下几个运行时数据区域。...
2019-05-19 15:18:19
291
原创 mysql慢查询日志
今天被人问到数据库方面的问题,问我们是怎么定位到sql语句不合理并且优化的,我balabala一大堆,什么前端缓慢加载,文件定位,查找sql语句什么的,然后并没有什么样大的作用。对方说说,可以用一用mysql的慢查询日志呀。这句话犹如醍醐灌顶,我觉得这是我的一个盲点,今天将其总结一下,虽然很浅显,但是我觉得对我很有帮助,以后如果有要补充的,可以随时补充。首先撸一波概念:MySQL慢查询...
2019-05-17 20:41:19
206
原创 Java8新特性-接口中的静态方法与默认方法
今天上午在读《Effective Java》时,有这样一句话:”接口中“不能有静态方法,于是联想起面试时老是被问接口相关的东西,决定总结一下,谁知道这一总结,就发现了自己知识的一大漏洞。 在以前的思维中,接口中所有的方法都是抽象的,而抽象的方法没有static,有static的方法不能被override。但是在java8以后,允许在接口里定义默认方法和类方法。一、接口代码TestI...
2019-05-17 20:20:15
1088
原创 Java子类对于父类中static方法的继承
今天看到了Java中子类继承父类的一个相关讨论,在网上综合了各家的观点,写下了一篇简短的总结。问题如下,在父类中含有staic修饰的静态方法,那么子类在继承父类以后可不可以重写父类中的静态方法呢?答案是:不能。 很多人可能会提出疑问,因为他们在写代码的时候出现过以下代码,举例:父类:Animal.javapublic class Animal { public An...
2019-05-17 19:46:56
1107
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人