- 博客(89)
- 资源 (16)
- 问答 (1)
- 收藏
- 关注
原创 旧版本Druid回收连接引发的'recyle error'
公司官网上的心跳交易不执行了,按理说是定时任务做的,怎么会不执行呢,遂去查看日志发现:[ERROR] [2018-09-25 20:30:37,933] (AgtForwardServiceImpl.java,31) - 转发数据推送异常:{}nested exception is org.apache.ibatis.exceptions.PersistenceException: ### E...
2018-09-30 15:49:03
8912
转载 ShiroFilter设计原理与实现
Shiro提供了与Web集成的支持,其通过一个ShiroFilter入口来拦截需要安全控制的URL,然后进行相应的控制,ShiroFilter类似于如Strut2/SpringMVC这种web框架的前端控制器,其是安全控制的入口点,其负责读取配置(如ini配置文件),然后判断URL是否需要登录/权限等工作。 而要在spring中使用Shiro的话,可在web.xml中配置一个Delegating...
2018-09-10 18:08:13
1372
转载 Solidity的delete操作
Solidity中有个特殊的操作符delete用于释放空间,因为区块链技术做为一种公用资源,为避免大家滥用。且鼓励主动对空间的回收,释放空间将会返还一些gas。delete[1]关键字的作用是对某个类型值a赋予初始值。比如如果删除整数delete a等同于a = 0删除基本类型对于区块链技术删除基本类型,使用delete会设置为对应的初始值: 删除bool类型是false,变...
2018-08-03 13:56:42
5723
原创 SpringCloud微服务组件—Eureka服务注册与发现
前言 本系列文章将简单的学习SpringCloud微服务相关知识,其实也是因为时间的原因,一直拖到现在,遂打算趁着假期,决定记录下来。从天气预报微服务系统的单体架构——>分布式架构的演变过程中,一步一步,由浅及深的学习SpringCloud微服务的思想与其实现的组件。本系列文章分为以下几个章节:SpringBoot搭建天气预报微服务系统(单体架构)SpringBoo...
2018-07-28 22:51:17
1298
原创 CAP原则
什么是CAP原则 CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。 百度百科这样定义:一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本)可用性(A):在集群中一部分节点故障...
2018-07-18 18:09:49
431
原创 使用RedisTemplate存储至缓存数据乱码解决
前言RedisTemplate介绍 RedisTemplate是Spring对于Redis的封装。 如上图所示,RedisTemplate中定义了对5种数据结构操作。redisTemplate.opsForList();//操作listredisTemplate.opsForValue();//操作字符串redisTemplate.opsForCluster();/...
2018-07-07 23:14:46
32538
3
原创 Mybatis Available parameters are [0, 1, param1, param2]解决方法
前言今天在做接口实现时,报了这个错误,也是很纳闷。接口int decreaseRedPacketByVersion(Integer id, Integer version);实现SQL<update id="decreaseRedPacketByVersion"> update t_red_packet set ...
2018-07-06 11:38:51
13500
转载 数据库索引介绍
我们通过一个简单的例子来开始教程,解释为什么我们需要数据库索引。假设我们有一个数据库表 Employee, 这个表有三个字段(列)分别是 Employee_Name、Employee_Age 和Employee_Address。假设表Employee 有上千行数据。现在假设我们要从这个表中查找出所有名字是‘Jesus’的雇员信息。我们决定使用下面的查询语句:SELECT * FROM ...
2018-06-28 15:05:16
235
原创 单体架构到微服务架构的拆分
前言 本系列文章将简单的学习SpringCloud微服务相关知识,其实也是因为时间的原因,一直拖到现在,遂打算趁着假期,决定记录下来。从天气预报微服务系统的单体架构——&amp;amp;amp;gt;分布式架构的演变过程中,一步一步,由浅及深的学习SpringCloud微服务的思想与其实现的组件。本系列文章分为以下几个章节:SpringBoot搭建天气预报微服务系统(单体架构)SpringBoo...
2018-06-24 22:41:23
2662
1
原创 Solidity的Using for的使用
前言其实呢,今天刚接触Using for的时候,我并没有看懂它的意思。官方的文档有些晦涩难懂,导致我也产生了它与import的区别这样的疑问。使用与import的联系与区别 先回答第二个问题,using A for B与import有什么区别?import是讲某个合约contract或者某个库lib导入到当前文件,它是using的前提;import后,当前文件内可...
2018-06-07 10:01:46
4008
3
原创 DAPP开发初探
前言 最近DAPP的开发貌似很火,学习了区块链的一些知识之后,相信有很多人和我一样,也想了解开发一个DAPP是一个怎样的流程。下面将通过一个简单的栗子来初识一下DAPP的开发流程,届时,我们也将开发出第一个DAPP应用–《永存的留言》。项目介绍《永存的留言》是一个基于以太坊的在线留言平台。它的功能十分简单–用户可以在平台上进行留言,平台每10s随机的展示留言内容。 但是...
2018-06-04 17:26:05
17125
6
原创 SpringBoot结合Thymeleaf模板与Bootstrap快速搭建界面
前言 本系列文章将简单的学习SpringCloud微服务相关知识,其实也是因为时间的原因,一直拖到现在,遂打算趁着假期,决定记录下来。从天气预报微服务系统的单体架构——&amp;amp;amp;gt;分布式架构的演变过程中,一步一步,由浅及深的学习SpringCloud微服务的思想与其实现的组件。本系列文章分为以下几个章节:SpringBoot搭建天气预报微服务系统(单体架构)SpringBoo...
2018-05-28 23:17:36
15409
2
转载 以太坊 Ganache CLI 命令行参数详解
ganache-cli 是以太坊节点仿真器软件 ganache 的命令行版本,可以方便开发者快速进行以太坊 DApp 的开发与测试。安装npm install -g ganache-cli启动~$ ganache-cli启动选项-a 或 –accounts: 指定启动时要创建的测试账户数量。-e 或 –defaultBalanceEther: 分配给每个测试账户...
2018-05-23 16:40:44
3808
1
原创 Solidity函数修改器的基本概念及应用
基本概念函数修改器可以一定程度上改变函数的行为。可以作为函数执行的先行条件,如果符合函数修改器定义的条件,才可以执行函数体内容。关于函数修改器,可以把理解成if的变相。函数修改器定义函数修改器的定义语法如下: modifier 修改器名 { 条件体.. _; } function a() 修改器名 { 函数...
2018-05-22 18:37:50
1426
原创 Solidity的结构体与映射
结构体(Structs)Solidity提供结构体来自定义类型,自定义的类型是引用类型。 我们通过实例来理解它。pragma solidity ^0.4.0;contract Test { // 定义一个结构体 struct Number { string name; uint age; } // 结构体还可以包含...
2018-05-22 11:43:20
3297
原创 Solidity的数组详解
创建一个数组pragma solidity ^0.4.0;contract Test { uint[5] arr = [0,1,2,3,4];//创建一个定长的数组 uint[] storageArr; function a() public { uint[5] memory arr1 = [uint(0),1,2,3,4];//uint8显示的...
2018-05-21 17:07:18
13514
2
原创 Solidity的函数类型以及可见性分析(类比Java)
函数类型函数也是一种类型(值类型),它是函数的调用方式。函数类型可以被赋值吗,作为参数和返回结果。函数可以分为两类:内部函数(Internal)和外部函数(External)。内部函数Internal(默认) 只能在当前合约内被调用(在当前的代码块内,包括内部库函数,和继承的函数中)。外部函数External 由地址和函数方法签名两部分组成,可作为外部函数调用的参数,或返回值。...
2018-05-18 17:15:21
829
原创 Java搭建区块链
前言 为了更好的理解区块链的底层实现原理,决定自己动手模拟实现一条区块链。思路分析 通过之前的学习,从文本知识的角度,我们知道,创世区块、记账原理、挖矿原理、工作量证明、共识机制等等区块链的相关知识。创建一条区块链,首先默认构造创世区块。在此基础上,我们可以发布交易,并进行挖矿,计算出工作量证明,将交易记录到区块中,每成功的挖一次矿,块高就+1。当然在此过程中,可能...
2018-05-15 22:47:08
15166
11
转载 以太坊客户端 Geth 命令用法-参数详解
前言 Geth 在以太坊智能合约开发中最常用的工具(必备开发工具),一个多用途的命令行工具。命令用法geth [选项] 命令 [命令选项] [参数…]版本 1.7.3-stable命令 account 管理账户 attach 启动交互式JavaScript环境(连接到节点) bug 上报bug Issues...
2018-05-08 10:44:58
792
1
转载 区块链的记账原理
在讲记账原理之前,我们先聊聊哈希函数。哈希函数Hash(原始信息) = 摘要信息 哈希函数的特点:同样的原始信息用同一个哈希函数总能够得到相同的摘要信息。原始信息任何微小的变化都会哈希出面目全非的摘要信息。无法从摘要信息逆推出原始信息。举例说明: Hash(张三借给李四100万,利息1%,1年后还本息 .....) = AC4635D34DEF 账本上记录...
2018-05-07 16:58:47
914
原创 SpringBoot集成Quartz定时框架
前言 本系列文章将简单的学习SpringCloud微服务相关知识,其实也是因为时间的原因,一直拖到现在,遂打算趁着假期,决定记录下来。从天气预报微服务系统的单体架构——&amp;amp;amp;gt;分布式架构的演变过程中,一步一步,由浅及深的学习SpringCloud微服务的思想与其实现的组件。本系列文章分为以下几个章节:SpringBoot搭建天气预报微服务系统(单体架构)SpringBoo...
2018-04-28 18:48:03
1140
原创 SpringBoot集成Redis缓存
前言 本系列文章将简单的学习SpringCloud微服务相关知识,其实也是因为时间的原因,一直拖到现在,遂打算趁着假期,决定记录下来。从天气预报微服务系统的单体架构——&amp;amp;gt;分布式架构的演变过程中,一步一步,由浅及深的学习SpringCloud微服务的思想与其实现的组件。本系列文章分为以下几个章节:SpringBoot搭建天气预报微服务系统(单体架构)SpringBoo...
2018-04-28 17:35:51
1002
原创 SpringBoot搭建天气预报微服务系统(单体架构)
前言 本系列文章将简单的学习SpringCloud微服务相关知识,其实也是因为时间的原因,一直拖到现在,遂打算趁着假期,决定记录下来。从天气预报微服务系统的单体架构——&amp;amp;gt;分布式架构的演变过程中,一步一步,由浅及深的学习SpringCloud微服务的思想与其实现的组件。本系列文章分为以下几个章节:SpringBoot搭建天气预报微服务系统(单体架构)SpringBoo...
2018-04-28 17:02:02
3500
原创 使用xshell-ssh连接服务器,报错:Xshell Socket error Event: 32 Error: 10053
XShell连接CentOS系统时,报出Xshell Socket error Event: 32 Error: 10053..错误 有点烦人.. 操作:用SSH工具连接linux电脑出现的问题:Read from socket failed: Connection reset by peer解决办法修改配置文件 vim /etc/ssh/sshd_config 将UseDN...
2018-04-28 11:22:34
62822
18
原创 以太坊智能合约入门
前言上一篇文章已经为我们搭建好了开发环境,接着上面讲,本篇文章将简单的记录如何创建用户、转账、编写第一个智能合约并部署它等操作。开发者启动及创建账户 由于账户的余额为0时,是不能够部署智能合约的。这时,我们选择dev开发者模式进行开发。开发者模式启动以太坊./geth --dev --datadir testNet console 2>> info...
2018-04-26 16:36:13
421
转载 华为区块链白皮书
区块链的火爆引起了诸多巨头的关注,继京东和阿里之后,华为在前几日,发布了华为区块链白皮书作为国际巨头的华为区块链白皮书可谓分量十足,不少朋友苦于没有时间和精力来阅读白皮书,今日便给大家带来华为区块链的白皮书解读。白皮书论述了从中本聪发明比特币系统以来,比特币在人类历史上第一次实现了去中心化的电子货币发行和交易,即不需要一个中心化的第三方认证机构或账务管理系统对交易进行验证和记录,全网共...
2018-04-24 20:47:30
2204
1
原创 CentOS系统下各个文件夹的作用
CentOS系统下各个文件夹的作用/bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示 /lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件 /sbin 系统管理命令,...
2018-04-17 14:43:37
1066
转载 StringBuffer 和StringBuilder
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变...
2018-04-11 17:05:35
121
转载 ObjectMapper的使用
ObjectMapper类是Jackson库的主要类。它提供一些功能将转换成Java对象匹配JSON结构,反之亦然。它使用JsonParser和JsonGenerator的实例实现JSON实际的读/写。类声明以下是org.codehaus.jackson.map.ObjectMapper类的声明:public class ObjectMapper extends ...
2018-04-05 13:25:06
2382
原创 java单例模式的实现
单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。它有以下三个特点:单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。创建单例模式 懒汉式(线程不安全) 所谓的懒汉式就是需要使用的时候才去创建实例。这...
2018-04-04 17:53:32
169
原创 排序算法之堆排序
前言接着上篇文章–数据结构之堆,学习下堆排序。其实了解堆的构建与删除的方法之后,应该很容易的想到堆排序的思想。 先初始化一个堆,将一个无序的待排的数组中的每一个值依次放入堆中,也就是上文提到的insert(),接下来一直执行删除操作,也就是上文提到的delete(),并且将被删除的元素放到数组的最后一个有效元素之后的一个位置,保存下来,最后的数组就是一个有序的数列了。实现代码...
2018-04-03 22:05:49
195
原创 数据结构之堆
前言 堆也是一种特殊的数据结构,是一种特殊形式的完全二叉树。堆分为两种:大顶堆(每个节点的值都不大于其父节点的值,也就是根节点的值是最大的)和小顶堆(每个节点的值都不小于其父节点的值,也就是根节点的值是最小的)。堆的基本操作(以大顶堆为例) 既然堆本身是完全二叉树,所以我们可以使用一维数组的方式进行储存。0位置用来存储元素的个数,1~n用来存储元素。所以对于任意...
2018-04-03 21:21:56
293
原创 排序算法之快速排序
前言 快速排序,仅仅听到这个名字,就觉得它和其他的排序算法非同一般了。的确,快速排序是一个非常效率的排序算法,如果说冒泡排序的时间复杂度为O(n),那么快速排序的时间复杂度就是O(logn)。 其实快速排序是对冒泡排序的一种改进。 冒泡排序每次只能交换相邻的两个元素,而快速排序是跳跃式的交换,交换距离很大,因此总的比较次数和交换次数少了很多,速度也快了不少。 它的基本思想...
2018-04-02 19:22:32
144
原创 "=="与equals()的区别
案例 //基本数据类型的比较 int num1 = 10; int num2 = 10; System.out.println(num1 == num2); //true //引用数据类型的比较 String s1 = "chance"; String s2 = "chance...
2018-04-02 18:13:22
164
转载 hashCode与equals()联系与区别
前言 hashCode的作用是用来方便查找的。它和equals()方法有如下几个特征:如果两个对象相同,那么这两个对象的hashCode也一定相同。如果两个对象的hashCode相同,并不代表这两个对象也一定相同,也就是不一定适用于equals(),只能说明这两个对象在同一个“桶”中。如果对象的equals()方法被重写,那么对象的hashCode也应该尽量重写。 下...
2018-04-02 18:09:18
162
原创 数据结构之二叉树
二叉树概念 二叉树是指每个父节点最多有两个子节点的树。二叉树的定义是一个递归的定义,它很明确地区分了一个根节点的两个子树,分别是左子树和右子树。 相关术语节点 树中每个元素叫作节点。根节点或树根 树顶端的一个节点叫作树根。子树 除根节点外,其他节点可以分为多个树的集合,叫作子树。节点的度 一个节点直接含有的子树的个数叫做节点的度。如上图的6节点的度为2,分...
2018-03-25 23:14:15
272
原创 数据结构之链表
前言 链表与之前所讲的数据结构有一些不同。 栈与队列是申请一段连续的空间,然后按顺序来存储数据; 链表是一种物理上非连续、非顺序的存储结构,数据元素之间的顺序是通过每个元素的指针来关联的。链表结构 链表的每一个节点都包含两部分信息:元素数据本身和指向下一个元素地址的指针。链表分为两种类型:单向链表和双向链表。我们平时所说的链表即为单向链表。双向链表,...
2018-03-23 14:33:16
212
原创 数据结构之栈与队列
写在前面 栈与队列是两种不同特点的数据结构。 栈遵循着先进后出的特点,它就像一个器皿,先放进去的后被取出来,后放进去也就是靠近瓶口的先出来。 队列,就像它的名字一般,它的结构类似于排队,先进先出,后进后出。栈的实现package Stack;public class MyStack { //底层实现是一个数组 private long[] ...
2018-03-22 16:48:55
231
原创 数据结构之数组
数组作为最为基础的数据结构,以线性结构来存储固定大小、相同类型的数据。 Java中已经为我们封装好了ArrayList来描述各种操作,下面将自定义类分装并描述数组的操作。数组操作之增删改查package Array;public class MyArray { private long[] arr; //表示有效数据的长度 private ...
2018-03-21 14:49:13
251
生产者-消费者模型
2018-07-20
Quartz入门学习(真丶入门)
2018-01-25
cxf实现webservice 多种方式
2017-12-27
Spring-Data-JPA快速使用
2017-12-22
windows本地安装remix-solidity ide.失败
2018-05-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人