自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 策略模式实现微信支付(V3)和支付宝支付(easysdk)

本文主要是采用工厂模式+策略模式的设计模式来实现微信支付(V3)和支付宝支付(easysdk),也可以在此基础上新增其他渠道的支付,对接的前端是uniapp一,准备1,开通微信支付以及拿到微信支付的相关参数和证书#微信支付参数#appidwx.appId=xxxx#证书序列号wx.serialNo=xxxx#秘钥路径(格式.pem) apiclient_key.pemwx.keyPath=xxxx#CA证书(格式.pem) apiclient_cert.pemwx.certPath=

2021-04-22 17:01:08 2489 2

原创 mysql-应用层,查询缓存,内存管理方面的优化

一,MySQL应用层的优化实际生产环境中,由于数据库本身的性能局限,需要对应用层做一些优化,来降低数据库的访问压力1,使用数据库连接池频繁的创建关闭连接,是比较耗费资源的,有必要建立 数据库连接池,以提高访问的性能。2,减少对mysql的访问1)能一次请求拿全数据的,最好一次拿完,不要查多次2) 我们可以在应用中增加 缓存 层来达到减轻数据库负担的目的。缓存层有很多种,也有很多实现方式,只要能达到降低数据库的负担又能满足应用需求就可以。​ 因此可以部分数据从数据库中抽取出来放到应用端以文本方式

2020-06-09 19:32:15 417

原创 mysql-索引的使用及sql的一些优化

MySQL优化一,查看SQL的执行效率MySQL 客户端连接成功后,通过一下语句查看服务器相关状态show [session|global] status 命令可以提供服务器状态信息show status like 'Com_______';show status like 'Innodb_rows_%';参数含义Com_select执行 select 操作的次数,一次查询只累加 1。Com_insert执行 INSERT 操作的次数,对于批量插入的 IN

2020-06-09 19:30:21 490

原创 mysql索引的一些理解

mysql索引理解​ 索引:在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。​ 图1没建立索引,最左边的数据是记录的物理地址,如果没有索引的,当找第一条数据是,进行匹配的时候固然快,但是当查找最后一条数据的时候,相当于进行了全表扫描,时间复杂度O(n)​ 图2建立索引,为了加快查找,可以维护一个二叉查找树,每个节点分别包含索引键值和一个指向对应数据记录物理地址的指针,这样就可以运用二叉

2020-06-09 19:01:24 197

原创 mysql-主从复制

MySQL主从复制一,binlog(二进制日志)binlog 记录了所用的DDL语句(数据定义语言)和DML语句(数据操作语言),但是不包括数据查询语句,此日志对于灾难恢复起着及其重要的作用,MySQL的主从复制就是通过binlog实现的。binlog默认是没有开启的,需要MySQL的配置文件中开启,并配置MySQL日志的格式。配置文件位置;/etc/my.cnf日志存放位置 : 配置时,给定了文件名但是没有指定路径,日志默认写入Mysql的数据目录。#配置开启binlog日志, 日志的文件前缀

2020-06-09 18:45:15 220

原创 kafka部署

Kafka部署​ 官网地址:http://kafka.apache.org/downloads1,解压安装包将下载下来的kafka压缩包解压 tar -zxvf kafka_2.11-0.11.0.0.tgz2,修改解压后的名称mv kafka_2.11-0.11.0.0/ kafka3,在kafka目录下创建logs文件夹mkdir logs4,修改配置文件cd con...

2020-04-21 21:23:25 199

原创 kafka学习

kafka​ Kafka 是一个分布式的基于发布/订阅模式的消息队列。具有高性能、持久化、多副本备份、横向扩展能力,主要应用场景是:日志收集系统和消息系统。kafka的特性:同时为发布和订阅提供高吞吐量。可进行持久化操作。将消息持久化到磁盘,因此可用于批量消费,分布式系统,易于向外扩展。所有的 Producer、Broker 和Consumer 都会有多个,均为分布式的。并且,无需停机...

2020-04-14 22:18:59 439

原创 RSA加密异常:java.security.InvalidKeyException: IOException : algid parse error, not a sequence

在进行RSA加密的时候,报异常,具体错误信息:Exception in thread "main" java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException : algid parse error, not a sequence解决办法:在CerUtil工具初始化...

2020-04-13 15:44:06 2663

原创 zookeeper-curator的使用(7)

Zookeeper框架curator​ Curator是Netflix公司开源的一套zookeeper客户端框架,以原生API为基础进行了包装,解决了很多Zookeeper客户端非常底层的细节开发工作,包括连接重连、反复注册Watcher和NodeExistsException异常等等,实现了Fluent风格的API接口curator的特点​ 先说说zookeeper原生API存在的不...

2020-04-06 12:13:50 178

原创 java-spi 理解

JAVA - SPI理解​ 先来看看我们平时使用的比较多的api:实现方提供了接口和实现,我们可以调用某些实现类的功能,实现方的接口和代码通常会放在一个包中​ 那如果接口属于调用方时,我们就称为其为SPI,即一种为某个接口寻找服务实现的一种机制,举个简单的例子,jdbc连接数据库,第三方厂商根据一个统一的规范(jdbc.driver)实现各自的逻辑,所以当你使用jdbc的时候仅仅需要引入不同的...

2020-04-05 18:52:59 186

原创 zookeeper-学习(1)

Zookeeper​ Zookeeper是一个分布式数据一致性解决方案,致力于为分布式应用提供一个高性能,高可用,且具有严格顺序访问控制能力的分布式协调存储服务。维护配置信息​ 在开发过程中碰见的配置项,地址,端口,name等,通常会将这些配置项放到配置文件中,再将配置文件放置到服务器上,需要更改配置时去服务器修改对应的配置文件,但是分布式系统下,多台服务器使用到配置文件,修改配置将是一...

2020-03-31 21:26:11 208

原创 zookeeper-实现分布式锁(6)

Zookeeper实现分布式锁原生API实现1.每个客户端往/Locks下创建临时有序节点/Locks/Lock 000000001 2.客户端取得/Locks下子节点,并进行排序,判断排在最前面的是否为自己,如果自己的锁节点在第一位代表获取锁成功 3.如果自己的锁节点不在第一位,则监听自己前一位的锁节点。例如,自己锁节点 Lock 000000001 4.当前一位锁节点(Lock ...

2020-03-31 21:11:26 148

原创 zookeeper-实现生成分布式唯一id(5)

Zookeeper原生API实现简易版生成唯一ID/** * @Author: zxx * @Date: 2020/3/30 21:43 * @Description: 生成唯一ID */public class ZKUniqueID implements Watcher{ // 计数器对象 public static CountDownLatch countDownL...

2020-03-31 21:10:54 543

原创 zookeeper-实现配置中心(4)

Zookeeper原生API实现简易版配置中心/** * @Author: zxx * @Date: 2020/3/30 21:26 * @Description: 配置中心 */public class ZKConfCenter implements Watcher { // 计数器对象 public static CountDownLatch countDown...

2020-03-31 21:10:14 193

原创 zookeeper-事件监听机制(3)

zookeeper事件监听机制watcher机制:​ zookeeper提供了数据的发布/订阅功能,多个订阅者可同时监听某一特定主题对象,当该主题对象的自身状态发生变化时(例如节点内容改变、节点下的子节点列表改变 等),会实时、主动通知所有订阅者​ zookeeper采用了Watcher机制实现数据的发布/订阅功能。该机制在被订阅对象发生变化时会异步通知客户端,因此客户端不必在Wa...

2020-03-31 21:09:40 831

原创 zookeeper-原生API实现(2)

Zookeeper原生API的实现连接Zookeeper/** * @Author: zxx * @Date: 2020/3/30 20:43 * @Description: 连接zookeeper */public class ZKConnection { @Test public void zkconnect() throws IOException, In...

2020-03-31 21:07:58 123

原创 Git提交本地代码到Github

Git提交本地代码到Github//初始化1 git init //查看更改了哪些文件的代码2 git status//add 你想要提交的更改的文件 或者 git add . 所有的文件;3 git add .//把本地仓库暂存区的文件提交到本地仓库4 git commit -m '提交信息'//设置GitHub账号5 git config --global user...

2020-03-29 18:08:52 176

原创 dubbo整合springboot

dubbo整合springboot环境准备:1,jdk1.82,zookeeper3.4.123,maven4,dubbo2.x5,dubbo-admin(服务管控台)新建一个maven,删除src目录,然后新建三个moudle,分别是dubbo-api,dubbo-consumer,dubbo-providerdubbo-api,一般存储实体类和接口服务dubbo...

2020-03-29 15:34:50 741

原创 java加密与解密-非对称加密算法RSA(5)

非对称加密算法​ 非对称加密算法的密钥,一把公开,称为公钥,一把保密,称为私钥。非对称加密算法解决了对称加密算法密钥分配的问题,极大的提高了算法的安全性。非堆成加密算法的代表算法:RSA算法,广泛的被使用到各个方面RSA算法实现算法密钥长度密钥长度默认值工作模式填充模式备注RSA512-655361024ECBNoPaddingPKCS1Pdaaing...

2020-03-26 20:17:58 244

原创 java加密与解密-对称算法DES(4)

对称加密算法​ 对于大多数对称 加密算法而言,解密算法是加密算法的逆运算,加密密钥和解密密钥相同,对称加密算法家族以DES加密算法最具有代表性,由于密钥长度的不满足,也在此基础上衍生出了DESede算法(3DES算法)DES算法的实现:** * @Author: zxx * @Description: DES加解密 */public class DESUtil { /*...

2020-03-25 21:14:11 263

原创 java加密与解密-信息摘要算法实现(3)

信息摘要算法​ 信息摘要算法主要包含MD,SHA,MAC三大类,一般用于验证数据的完整性,是数字签名的核心算法MD(信息摘要算法),主要代表有MD2,MD4,MD5SHA(安全散列算法),主要代表有:SHA-1MAC(消息认证码算法),主要代表有:HmacMD5,HmacSHA1.HmacSHA256MD5算法的使用/** * @Author: zxx * @Descripti...

2020-03-25 17:28:15 326

原创 zookeeper搭建

zookeeper搭建所需环境:jdk:jdk 1.8zookeeper:zookeeper-3.4.12.tar.gzjdk安装部署zookeeper底层依赖于jdk,因此需要在先安装jdk,下载jdk的linux版本安装包上传到服务器上//解压jdk tar -xzvf jdk-8u131-linux-x64.tar.gz配置jdk环境// vim打开 .bash...

2020-03-24 20:35:17 154

原创 java加密与解密-核心包中的部分API(2)

主要是介绍java安全框架的核心包中的部分API作用java.Security包​ java.security包主要用于为安全框架提供类和接口Provider类Provider类实现了java安全性的一部分或全部,提供者抽象类:public abstract calss Provider extends Properties常用的方法://获取提供者namepublic St...

2020-03-24 20:32:33 256

原创 java加密与解密-相关概念(1)

1,对称加密模型​ 对称密码体制要求加密和解密使用同一个共享密码,解密是加密的逆运算,由于通信双方共享使用的时同一个密码,这就要求通信的双方在通信前约定好密钥,并且需要妥善管理改密钥,不能泄露,该密钥称为秘密密钥2,非对称加密模型​ 非对称加密体制的加密密钥和解密密钥时不相同的,分为两个密钥,一个公开,一个保密,公开的密钥成为公钥,保密的密钥成为私钥。非对称密码体制使得发送者和接收者之间以...

2020-03-23 20:31:26 237

原创 JWH-基准测试使用

JWH测试这是专门用于进行代码的微基准测试的一套工具API使用场景:1 已经找出了热点函数,而需要对热点函数进行进一步的优化时,就可以使用 JMH 对优化的效果进行定量的分析。2 想定量地知道某个函数需要执行多长时间,以及执行时间和输入 n 的相关性3 一个函数有两种不同实现(例如JSON序列化/反序列化有Jackson和Gson实现),不知道哪种实现性能更好基准测试pom依赖 ...

2020-03-19 09:20:14 3069

原创 Vue学习笔记

v\ue与jquery的区别jquery是基于操作dom的库vue框架是以数据驱动和组件化开发为核心的,让用户不再操作DOM元素,让我们有更多时间关注业务逻辑常用的指令指令:在vue中提供一些对于页面+数据的更为方便的操作,这些操作就叫做指令。 譬如在HTML页面中这样使用在vue中v-xxx就是vue的指令 指令就是以数据去驱动DOM行为的,简化DOM操作常见指令- {{...

2020-03-13 22:54:16 252

原创 hexo搭建

一,git安装​ git官方地址:https://git-scm.com/​ 具体安装步骤:https://www.cnblogs.com/xueweisuoyong/p/11914045.html二,配置Github1,打开同性交友网站 https://github.com 先创建一个仓库[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XE3qT8eQ-1...

2020-03-13 22:49:22 125

原创 docker部署的mysql:lower_case_table_names表名大小写问题

问题:docker部署的MySQL在进行操作时,出现表名大小写的问题,在MySQL中> show variables like 'lower%';发现lower_case_table_names = 0,因此需要将mysql的lower_case_table_names改为1即可lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的 l...

2020-03-04 22:09:03 7358 4

原创 RocketMQ学习笔记

RocketMQ 作为阿里开源的一款高性能,高吞吐量的分布式消息中间件特点:- 支持Broker和Consumer端消息过滤- 支持发布订阅模型,和点对点- 支持pull和push‘两种消息模式- 单一队列百万消息,亿级消息堆积- 支持单master节点,多master节点 ,多master多slave节点- 任意一点都是高可用,水平拓展,生产端和消费端,队列都可以分布式- 消...

2019-12-08 14:31:06 288

原创 RocketMQ本地部署

RocketMQ本地快速部署前提条件建议使用64位操作系统,建议使用Linux / Unix / Mac;64位JDK 1.8+;Maven 3.2.x;下载安装包https://archive.apache.org/dist/rocketmq/4.4.0/rocketmq-all-4.4.0-source-release.zip步骤:unzip rocketmq-all-4...

2019-11-23 15:17:27 375

原创 学习jdk8-13新特性笔记

jdk8的新特性接口增强,default,static关键字在jdk1.8只前接口中只能使用抽象方法,而不能有任何方法的实现的jdk1.8里面则可以声明default和static修饰的方法 public interface Today { void dream(); void striver(); default void victory(){ ...

2019-11-16 16:37:06 832 1

原创 java实现excel文件批量导入数据

主要实现:以学生信息为例,将Excel模板信息配置在XML文件中,通过POI实现对excel文件读取操作,然后将读取的数据插入数据库中。具体思路是将模板信息配置在xml中,在项目启动时,通过spring实话,将xml的配置信息读入缓存以备后面使用。导入通过springmvc跳转路由后,读取文件流。对excel文件进行循环遍历,拿到数据后和模板规范匹配,匹配成功后调用插入服务,将数据插入数据库中,...

2019-11-08 17:49:03 933

原创 Jmeter 报错:Attempt to resolve method: getParamData() on undefined variable or class name: parseJson

在Linux下部署Jmeter,使用Jmeter 对程序进行压测,在使用的过程中,Jemeter.log报下面的错误:ERROR o.a.j.u.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import com.testPage.parseJson; im...

2019-06-25 10:44:10 7698

原创 java.nio.BufferOverflowException问题解决办法

首先说明一下问题出现在什么情况之下,在回调请求系统的servlt时报BufferOverflowException问题,详细的bug日志如下: ERROR [org.apache.catalina.connector] (web-container-thread-8) JBWEB001018: An exception or error occurred in the container dur...

2019-02-28 11:10:11 8373

原创 Echarts 在条形图中,如何加一条警戒线(markline),y轴双轴,警戒线单位为百分比

Echarts条形图  警戒线主要用markline属性来实现,参考的官网API地址:http://echarts.baidu.com/api.html#echarts  话不多说直接上图这里主要实现的是添加警戒线,y轴为双轴,左侧是警戒线的单位,右侧是额度的单位源码: var dom1 = " <div id='myChart1' style='width:500px;hei...

2018-12-05 15:12:52 13613 3

空空如也

空空如也

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

TA关注的人

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