自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 收藏
  • 关注

原创 springboot解决外部配置文件问题

SpringBoot启动会扫描以下位置的application.yml或者application.properties文件作为SpringBoot的默认配置文件。 -file: ./config/ -file: ./ -classpath: /config/ -classpath: / 即:jar所属文件夹同级别的config目录,然后是和jar同级,然后是classpath路径下的config目录下,最后是classpath...

2020-06-28 14:56:59 704

原创 maven的依赖传递

依赖传递:A依赖B,B依赖C,那么A依赖C 上面描述没有问题的。但是有时候C中设定的依赖版本,但是在A中并查看依赖的版本,并非是C中设定的依赖版本,一直以来都感觉这是maven的bug,但实际上是我之前错了,在传递依赖的时候版本也有一定的规则。 依赖传递的规则,以mysql的5.1.45以及8.0.11为例: 1、在本模块B的pom声明了版本,则mysql版本即为此处指定的版本。 2、为同一个pom中声明了两次mysql这两个版本,谁在下面谁生效 3、父...

2020-06-09 09:39:20 498

原创 Jenkins内网搭建并自动化部署vue项目

序言 前面已经讲述了jenkins的一些基本的操作,是以部署maven项目讲述的,此处讲解一下vue部署的过程,因为是在上一篇文章基础上,所以此处就讲一下不同的地方,以及需要注意的地方。下载nodejs 机器下载nodejs,jenkins下载nodejs插件,并配置好nodejs路径在系统管理-> 全局工具配置。创建新任务 和构建基本上步骤是差不多的,但是有一些细微的区别: 1、git代码地址,帐号、密码、分支2、触发器...

2020-06-05 15:13:58 1225

原创 Jenkins内网搭建并自动化部署maven项目

序言 先声明一下,因为当时部署的时候是在公司内网环境下,所以无法截取图片,这个地方就尽量使用文字描述的详细一些,如果有需要图片讲解的话,可以给我评论,我在本地机器上重新搭建以下就行了。安装jenkins jenkins官网提供了多种版本的下载和使用,我是采用的jenkins的war+tomcat部署的,比较简单,此处只提供jenkins官网地址以及Tomcat地址。有需要自行下载。 运行tomcat的时候,war包解压,别忘了记得将war给删除掉,因为每次重启tomca...

2020-06-05 14:56:59 1607

原创 mysql之锁机制

序言 本文主要讲解mysql的锁种类各有什么作用,为什么需要锁,锁和什么有关,死锁等等。再来一个昨天项目中遇到的一个死锁的情况以及解决方法。一直没有想好,怎么写这篇文章,直到昨天遇到了死锁的问题并且已经解决了,才决定整理好思路,分享给大家,避免大家掉进坑里面。为什么会有锁? 记得很清楚初学java的时候,只是感觉会一些ddl以及dml语句就行了,直到找工作面试的时候发现,面试官喜欢问一些mysql锁、mysql索引算法以及隔离级别事务等。所以也针对性的学过mysql,也写过一些对...

2020-06-04 16:11:29 289

原创 DAG之HashGraph

网上看到了不错的文章,推荐给大家: 英文文档地址:http://www.swirlds.com/downloads/SWIRLDS-TR-2016-02.pdf 中文文档解析:https://blog.csdn.net/lcloveyou/article/details/80289258 推荐文章:https://blog.csdn.net/qq_25870633/article/details/82057232 ...

2020-06-03 15:37:20 250

原创 DAG三架马车之一NANO

简述 NANO(RaiBlocks XRB),是一种基于区块点阵(Block Lattice)结构的新型加密货币。Nano创新性地采用了一个用户一条链的方式,只记录自己的交易,也只有自己可以修改记录,不与其它帐户共享数据,从而使所有的交易都可以并行执行,能提供秒级的交易速度和无限可扩展性,并且允许他们异步地更新到网络的其余部分,从而以极小的资源开销获得快速的交易确认。 交易数据的收发是可以异步进行的,所以就算同时有多笔金额汇入一个账户也没有问题,最终的金额是收到的金额的加法。如果接收...

2020-06-02 14:37:29 391

原创 DAG三架马车之一Byteball

简述 Byteball 字节雪球,其Token为Bytes,虚拟货币代码为Gbyte。它的目标领域是数字货币、智能合约、匿名和快速的转账。如果把IOTA比喻为面向工业级应用的定位,nameByteball则可以被形容为面向大众的。 Byteball在DAGCoin的基础上,引入了主链与见证人概念,值得一提的是HashGraph也引用了见证人概念,鼓励验证多个父辈交易单元,形成一个随着交易增长、相互验证,安全性不断加强的数字签名Hash网络。[主链]即:创造一个全网共识确定的...

2020-06-02 14:14:37 802

原创 DAG三架马车之一IOTA

简介IOTA是第一个全球性的代表性DAG项目,IOTA专注于解决机器与机器(M2M)之间的交易问题,通过实现机器与机器间无交易费用的支付来构建未来机器经济(machine economy)的蓝图。可以说IOTA是为了物联网而设计的一个革命性的新型交易结算和数据转移层,其也是目前为止物联网骨干网最有希望的解决方案。 它是基于新型的分布式账本Tangle(缠结)。Tangle能够克服现有区块链设计中的低效性(主要是TPS),并未分布式P2P系统共识的达成创造了一种新的方法。通过IOTA进行转账不...

2020-06-02 13:47:51 467

原创 双花问题

所谓的双花问题其实就是指的重复消费的问题,double spending双重花费。简单来说就是一笔钱花了两次。 现金交易是不会发生之类的事情,在虚拟货币中可能会存在这样的问题,但是像数字货币,以支付宝为例,应该是不会出现一笔钱转给两个人的,为什么?首先是因为速度快,另外幂等性,所谓幂等就是发生在更新操作的情况下的(多是添加,少数更新操作),如果是转钱的话明显是更新操作,恰恰其又是需要保证幂等的。 update user setname = 'lisi' where id = 1;...

2020-05-27 21:14:07 1814

原创 区块链之共识算法

在分布式系统中,为了使得整个系统正常工作,一个非常核心的问题就是如何保证集群中所有节点中的数据完全相同并且能够对发起的提案达成一致。共识算法就是用来解决上述问题的的,从而保证分布式系统一致性的方法。共识的特性:终止性(Termination):所有正常运作的进程(节点)最终会在有限步数中结束并作出决定,不会无尽的执行下去。一致性: (意见一致Agreement)所有的节点必须做出相同的决定;如果所有的节点都提议相同的初始决定值; (行为一致Integri...

2020-05-27 14:53:11 566

原创 区块链技术杂谈

本专栏专门针对于区块链的学习欢迎各位朋友来评论,文章都是一些自己对区块链的了解。一直持续更新中...基础知识1、P2P共识算法1、POW2、POS3、DPOS4、拜占庭5、POC解决吞吐量以及全网通知速度方式1、侧链2、DAG IOTA byteball( 字节雪球) NANO3、分片区块链3.0方向1、Hyperledger2、EOS3、CyberV...

2020-05-27 11:03:49 539

原创 P2P对等服务

简介 P2P(Peer-2-Peer)对等节点,其是一种协议,也是一种模式,类似于C/S模式。C/S与P2P区别 C/S(Client/Server)客户端服务端模式。其体现出来的是中心化概念,我们作为用户,我们的联网的电脑其实就是客户端,现在有一个桌面应用程序,其服务端在国内的某个性能比较高的服务器上面。 当用户通过客户端APP发送请求之后,去服务器发送请求,并拿到对应接口的数据,这个过程中,客户端是不固定的,但是服务器端是固定的,如果服务器端挂了,那么这个APP的...

2020-05-21 15:38:10 799

原创 win10使用自带的IIS搭建FTP服务器

简述简单来说,一共分为三步:1、创建账号(当然,这一步可以省略,因为创建这个用户是为了为了ftp服务器赋予用户权限使用的,如果不创建新用户可以使用原有的用户)2、安装ftp服务器3、通过IIS为ftp服务器赋予权限创建用户控制面板\系统和安全\管理工具\计算机管理展开“本地用户和组”,右键用户,选择新用户,创建一个新用户...

2020-02-24 15:43:14 2085 3

原创 Docker下载jdk镜像并简单使用

Docker安装JDK镜像下载jdk镜像1、查找镜像docker searck jdk2、下载镜像docker pull openjdk3、查看镜像docker images4、实例化为容器,并进入容器内docker run –it openjdk /bin/bash其实在这里面运行java –version就可以看到jdk...

2019-12-14 12:35:34 2879 1

原创 Centos7下Docker安装

Docker安装1、安装docker依赖yum install -y yum-utils device-mapper-persistent-data lvm22、设置仓库yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo3、...

2019-12-14 12:11:07 117

原创 mysql之隔离级别

序言 隔离级别是mysq数据库中的基础部分,明白了隔离级别有助于我们了解mysql并发以及锁机制,锁机制就是解决在隔离级别的基础上解决并发问题的补充手段。什么是隔离级别?隔离级别有什么用? 任何支持的数据库,都必须具备着四个特性,原子性、一致性、隔离性、持久性,这样才能够保证数据的正确性。 事务的隔离性就是指,多个并发的事务同时访问一个数据库时一个事务不应该被另外一个...

2019-09-21 00:34:44 192

原创 mysql索引以及算法数据结构

一、序言 这个问题是属于mysql中比较有难度的问题了,毕竟数据结构是构成计算机的重要部分,做过开发的朋友都知道索引能够帮助我们提升sql查询的能力,但是索引到底是什么?为什么能够做到这一点,接下来就揭开索引的面纱。二、索引是什么?为什么使用索引? 索引简单来说就是帮助我们优化sql,提升查询性能的一种手段,也可以说它是一种数据结构,索引就是通过不断的缩小想要的数据的范围筛...

2019-09-21 00:08:25 196

原创 mysql之事务讲解

一、序言 事务保证了我们的项目的一致性,这也是我们开发中选择使用InnoBD而不是MyISAM的最根本的原因二、什么是事务?事务有什么用? 使用俗话来说就是执行一些列的非原子性操作,最终能够保证达到原子性操作的一种手段。保证数据的完整性,毕竟现代的信息化世界可以说都是以数据为基础的,那么操作数据必然要保证数据的完整性。 举个例子来说:银行转账:张三给李四转了100...

2019-09-20 00:46:20 157

原创 mysql之引擎分析

序言 mysql的引擎有好多种,不同的引擎有不同的好处,但是又各有各的缺点,不论面试还是工作中,我们涉及最多的就是InnoDB和MyISAM了,其中InnoDB还是首选了,所以本文主要以InnoDB为主,MyISAM为辅,虽然好多的博文都说了数据库引擎,但是我还是要将自己最近的心得拿出来给大家分享一下。一、数据库引擎是什么?有什么用? 我认为最现实一点的就是面试mysql的时...

2019-09-20 00:23:55 235

原创 SpringBoot1.5+整合Velocity(不降低SpringBoot版本)

一、序言 因为我们公司的项目之前使用的版本是1.5.3版本的,但是目前需要使用模板引擎,对于freemarker、velocity一级thymeleaf的选型,也看了网上对应的讨论,说是velocity效率相比较最高,决定使用velocity,真正实际操作之后,发现springboot1.5+没有整合velocity,这就尴尬了,springboot 并没有减少对freemarker和t...

2019-04-14 09:19:40 953

原创 JAVA之自定义注解

一、注解的作用 其实在开发中是很少用到自定义注解的,真的做研发之后就会发现自定义的注解是多么的重要以及常用,野心为项目中自己使用了大量的自定义注解,所以想着有必要记录下来,方便自己查看,也可以分享给各位感兴趣的朋友。包java.lang.annotation中包含所有定义自定义注解所需用到的原注解和接口。如接口 java.lang.annotation.Annotation是所有注解...

2019-03-11 22:57:23 878 4

原创 SpringBoot自定义类型java类型并使用

一、序言  可能Java的八种基本数据类型有时候并不能够满足我们的需求,我们可以通过自定一些数据类型来解决这个问题,毕竟自己做项目基本上八种基本数据类型是足够了,但是为了满足公司的某些方面需求,我们不得不寻求方法解决这个问题。    springboot+mybatis 二、分析  要实现使用自定义的数据类型,我们需要解决几个问题:      1、自定义的数据类型怎么和数据...

2019-02-17 23:21:14 958

原创 JVM命令之javap

一、序言  就我个人而言,我想要搞清楚一个问题,就首先要明白以下几点:      1、javap是什么      2、用了javap有什么用为什么要用它(重点)      3、学有所用,来个例子   所以我想各位朋友们,如果一个问题对你来说没什么用处肯定不会深究它,只有足够的魅力才能够吸引你去学习它。下面我们开始按照以上三个方面来给大家解析javap二、解析   要想明...

2018-12-17 20:43:02 453

原创 高性能sql调优-数据库开发常识

一、序言    作为一名sql调优的开发人员,不但要掌握数据库开打的语法和功能实现,还要掌握专业数据库开发的常识。这样才能够在保质保量的完成工作任务避免为应用的日后维护埋下性能和稳定性的隐患。二、详情    1、判断sql性能的标准                目前高版本的关系数据库的优化器都是CBO,那么判断一条sql语句的性能的好坏的标准就是执行计划及其成本。在拿到一条sql...

2018-09-16 17:23:20 339

原创 高性能sql调优-索引

一、序言      解决sql性能问题,可以通过索引应用、表分区应用、统计数据收集、语句改写和提示(Hint)应用等方法来解决sql语句存在的性能问题。这篇文章主要讲解索引的调优。索引对于关系数据库sql调优来说,其重要性怎么强调都不过分,因为对sql调优来讲最终的目的就是通过减少sql语句对系统资源的消耗来达到目的,而索引又是缩减sql语句资源消耗的最主要的手段,当然也可以通过为sql语句分...

2018-09-16 17:00:50 347

原创 高性能sql优化-执行计划

一、序言    执行计划是sql调优必不可少的一部分,如果你还是简单的认为我们向数据库发出一条sql语句,数据库只是根据我们的需求解析sql语句,然后返回我们想要的结果,那你真的是太天真了,因为数据库还会对每条通过会话发出的sql进行一系列的检查、分析和处理,然后由优化器选择生成护着选定出一个成本最低的执行计划,然后执行这个执行计划得到我们的结果的。 二、详解    1、执行计划的...

2018-09-16 12:23:28 1074

原创 高性能sql优化-对象类型

一、序言   数据库的功能,就是组织、存储和管理各种各样的数据库对象,同时我们创建数据库就是为了在其中创建和存储我们需要和使用的各种数据库对象,这些数据库对象功能各异,各不相同,用来满足我们在数据库方面的各种需求。例如,表用来组织和存储数据,索引用来改善和提升表中数据的检索功能,视图可以为我们使用和管理数据提供便利,存储过程可以按照用户需求完成某些功能和任务等。二、数据库对象详解   ...

2018-09-16 11:16:15 340

原创 高性能sql调优-存储架构

一、序言   所谓的存储架构,这里指的就是Oracle数据库磁盘空间组织、管理和使用相关的逻辑设计以及实现等方面,更具提的来说就就是讲Oracle数据库是如何组织、分配、管理和使用磁盘件内的存储空间的。这节主要讲述数据文件相关的设计和实现等内容,这也是Oracle存储层面的核心原理和机制二、详细分析 1、块(Block)   1)块的概念:块是Oracle数据库的读写的最小单位,块...

2018-09-15 19:46:54 366

原创 高性能sql调优-整体架构

一、序言     所谓的整体架构就是保证数据库系统的正常工作和运行所必须的组件及其实现。从大的方面来讲,主要包含实例和数据库。在此基础上面,实例又可分为相关内存区域和服务进程组成;数据库包括各种相关文件。而这些相关内存区域和服务进程以及相关文件又可以再分。二、分步介绍                                                          ...

2018-09-15 17:32:23 519

原创 Ubuntu16.04安装maven3.50以上

一、序言    因为我需要搭建Atlas环境,所以就要安装Maven,我也是很无奈,我的虚拟机因为要搭建Atlas实现Mysql读写分离,所以又要重新安装jdk(还必须是1.8以上)、maven(还必须是3.5以上)、两个mysql(本地,虚拟机)、还要实现两个服务器上面的mysql的主从复制,真的是很无奈,今天一天什么都没干,就搭建环境,所以如果有看到这篇文章的小伙伴们,一定要耐心看下去,这...

2018-09-09 17:32:10 524

原创 Ubuntu16.04下载安装jdk1.8

一、序言    jdk是对于任何一个java开发人员来说,都不是陌生,可以说很熟悉,但是在Ubuntu上安装jdk是否和window上有什么不同呢,让我们看一下吧,这篇文章主要是讲述Ubuntu16.04,我之前还有一篇关于Centos6.8安装jdk的文章,有需要的可以看一下。    https://blog.csdn.net/JavaWeb_Hao/article/details/81...

2018-09-09 16:41:32 6259 1

原创 Ubuntu16.04和window的mysql主从同步

一、简介    本篇文章主要是写的Ubuntu16.04和window的mysql主从同步,其中主是window,从是Ubuntu,因为我想要实现mysql中间件实现读写分离,为了方便就是用window为主,原理都是一样的。我写过一篇关于window和window的主主复制有兴趣可以参考一下:https://blog.csdn.net/JavaWeb_Hao/article/details/8...

2018-09-09 12:53:04 541

原创 mysql数据库读写分离的分类

一、序言    mysql大都是我们作为开发者的第一数据库开发工具,并且本人也是能力有限,Oracle只是了解,不是太熟悉,有时间再写关于Oracle的文章,本来想直接写mycat实现督学分离,但是突然想到,还是给大家简单介一下,关于读写分离的类型吧,先有个简单的了解吧,下次再将mycat实现mysql的读写分离。谢谢关注   官网要求实现读写分离不要超过9台,但是实际上最好不要超过5台...

2018-09-09 10:17:00 1325 1

原创 Ubuntu16.04安装mysql5.7以及常用的linux操作mysql服务的命令

一、序言      本篇文章主要是为了实现mysql的读写分离而做的先前准备,因为本人电脑资源有限,所以就打算,使用一台电脑实现mysql的读写分离,所以就装了一个ubuntu16.04,一个是win10系统上的,一个是ubuntu16.04,都装的是5.7版本的,下一节就会通过mycat实现读写分离。这篇文章就讲解mysql5.7再linux上的安装,其实安装还是很简单的,不信往下看。二...

2018-09-08 18:07:40 2671

原创 JDBC入门

一、首先我们应该明白需要学那些东西   1、了解什么是JDBC  ,熟悉JDBC常用的API   2、熟练掌握JDBC操作数据库的步骤二、对以上文图分别进行介绍  1.1.1 什么是JDBC   JDBC的全称是(Java Database Connectivity),它是一套用于执行SQL语句的JavaAPI,我们程序员们就是通过这套API来连接到数据库,进而操纵数据库的。...

2018-09-08 17:18:35 368

原创 mysql实现主从复制

一、简述   两台服务器互为主从,在一台服务器上有更新操作(增删改)时,另一台服务器上的mysql同步到数据库也有相同的操作,需要利用mysql的主从同步的原理,实现mysql的双向同步。 在企业中的项目开发中会用到mysql的主从复制,为了实现数据实时备份,我们自己做小的项目的时候肯定没必要使用。二、步骤1、配置my.ini文件  (强烈建议使用两个相同版本的mysql,本人测试的是...

2018-09-08 17:17:43 542

原创 Linux(CentOS6.8)安装jdk

 步骤  1、将jdk的压缩包通过Xftp上传到linux,可以指定一个文件夹2、解压,可以指定文件夹,指定文件夹时一定要加上-C,另外文件夹的路径不要加上 . ,比如./usr/Java/JDK/Install,文件夹路径要从根目录下面开始指定 解压之后3、配置环境jdk  编译/etc/profile文件,这个文件时指定的,不能够随便改的编译内容(只需要...

2018-09-08 17:16:57 1667

原创 MyEclipse配置maven,并创建maven项目

一、简述     maven是很不多的帮助我们做开发的助手,虽然我们配置好了环境,但是怎么使得其在开发工具中使用呢?希望这篇文章可以帮助大家解决问题    maven的安装和配置:https://blog.csdn.net/JavaWeb_Hao/article/details/82313120二、配置   1、点击Window------>Preference-------...

2018-09-02 10:45:01 4319

原创 Maven安装和配置

一、简述   我个人认为Maven是一个开发工具的助手,我们做开发的人有时候肯定很烦闷jar的问题,有时候是因为少了什么依赖包,有时候版本不对,并且这还不是最难的,有时候jar还找不到,在csdn上面下载还要金币,所以很郁闷。maven很好的帮我们解决了这些问题,再也不用考虑jar的问题,睡觉睡得更香安稳了,吃饭吃的越来越香了。   在进入正题之前,先给大家提供一些信息   1、mav...

2018-09-02 10:30:46 1631

空空如也

空空如也

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

TA关注的人

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