自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (5)
  • 收藏
  • 关注

原创 MyWebSocketHandler:获取mq消息,通过websocket向用户发送消息

import com.fasterxml.jackson.databind.ObjectMapper;import entity.Result;import io.netty.channel.Channel;import io.netty.channel.ChannelHandlerContext;import io.netty.channel.SimpleChannelInboundHandler;import io.netty.handler.codec.http.websocketx.Tex

2020-11-16 20:54:33 841

原创 openssl生成rsa密钥对的命令

openssl生成rsa密钥对的命令openssl genrsa -out …/mycerts/rsa_private_key.pem 2048生成rsa私钥,文本存储格式,长度2048openssl rsa -in …/mycerts/rsa_private_key.pem -pubout -out …/mycerts/rsa_public_key_2048.pub根据私钥生成对应的公钥openssl pkcs8 -topk8 -inform PEM -in …/mycerts/rsa_priv

2020-11-15 19:52:43 486

原创 ssm框架中web.xml普通配置项目

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

2020-11-01 09:04:14 252

原创 Redis中的哨兵机制

sentinel哨兵机制实际上就是对redis的主从节点进行监控,当主节点发生宕机之后,被多个sentinel哨兵发现,然后他们从从节点中推选出新的主节点,告诉其他从节点新的主节点的地址,最后将新的主节点的地址告知连接sentinel的客户端。值得注意的是,如果原来的主节点在宕机之后突然复活,它也只能成为新的主节点的从节点,无法篡位。sentinel为了防止单点故障,一半都会采用集群的方式,通常会给每一个redis节点都配置一个哨兵。...

2020-10-23 15:34:14 173

原创 各种集群搭建教程集锦

搭建Eureka集群配置host文件C:\Windows\System32\drivers\etc\hosts文件,添加映射127.0.0.1 eureka-server1127.0.0.1 eureka-server2127.0.0.1 eureka-server32.2.1 application.yml配置第1台application.yml:server: port: 8761eureka: instance: hostname: eureka-server1 c

2020-10-23 10:54:40 1014

原创 分布式事务很难?看完这篇文章你就都懂了

首先我们需要了解一下什么是分布式事务,根据官方的语言,分布式事务是指事务参与者,支持事务的服务器,资源服务器和事务管理器分别在不同的分布式系统的不同的节点中,且属于不同的应用,分布式事务需要保证他们的操作同时成功,或者同时失败。从本质上来说,就是要保证不同数据库下数据的一致性。看了上面官方的论述,可能还是觉得有点绕,没关系,接着往下看:1.1先简单了解一下基本概念本地事务:只涉及到一个数据库的事务,我们称之为本地事务,它是分布式事务的最小单位。CAP原理:C:consistence:一致性。就是

2020-10-23 10:03:26 379

原创 如何关闭微信支付

/***关闭微信支付@param orderId@return@throws Exception*/@Overridepublic Map<String, String> closePay(Long orderId) throws Exception {//参数设置Map<String,String> paramMap = new HashMap<String,String>();paramMap.put(“appid”,appid);

2020-10-22 10:32:02 518

原创 rabbitmq的延时队列及其搭建

4.1 延时队列介绍延时队列即放置在该队列里面的消息是不需要立即消费的,而是等待一段时间之后取出消费。那么,为什么需要延迟消费呢?我们来看以下的场景网上商城下订单后30分钟后没有完成支付,取消订单(如:淘宝、去哪儿网)系统创建了预约之后,需要在预约时间到达前一小时提醒被预约的双方参会系统中的业务失败之后,需要重试这些场景都非常常见,我们可以思考,比如第二个需求,系统创建了预约之后,需要在预约时间到达前一小时提醒被预约的双方参会。那么一天之中肯定是会有很多个预约的,时间也是不一定的,假设现在有1点

2020-10-21 21:38:13 330 2

原创 如何在idea中配置Rabbitmq的生产者和消费者

从生产者角度:首先在项目的pom文件当中导入amqp坐标,然后在application.yml文件中加入rabbitmq的相关ip,port,账户和密码,然后是标记队列交换机,队列和路由键。然后在启动类中创建@Bean将前面的交换机,队列和路由键进行创建并绑定。 @Autowired private Environment env; @Bean public DirectExchange basicExchange(){ return new DirectExch

2020-10-21 21:11:09 680 1

原创 定时任务各符号含义及常用表达式

定时任务常用时间表达式CronTrigger配置完整格式为: [秒][分] [小时][日] [月][周] [年]序号 说明 是否必填 允许填写的值 允许的通配符1 秒 是 0-59 , - * /2 分 是 0-59 , - * /3 小时 是 0-23 , - * /4 日 是 1-31 , - * ? / L W5 月 是 1-12或JAN-DEC , - * /6 周 是 1-7或SUN-SAT , - * ? / L W7 年 否 empty 或1970-2099 , - * /

2020-10-20 21:24:24 2425

原创 微信支付后发生了什么

用户在扫了微信二维码支付之后,微信支付系统会根据回调地址notifyurl将具体数据(参见微信支付的支付结果返回信息)返回给支付系统,支付系统在收到微信支付系统的信息之后,将xml格式的信息转换成map格式,并取出所需要的信息,传输给MQ消息中间件,然后向微信支付系统发一条已收到的消息,格式为xml。订单系统设置监听MQ,当MQ上有消息的时候就获取消息,修改mysql中订单的数据支付状态为1,并删除redis中的相关订单日志。如果订单支付失败或者超时了,那么就修改mysql订单支付状态为2,并删除缓存。.

2020-10-20 11:52:42 507 1

原创 代码解析之微信统一下单生成预支付订单

@Servicepublic class WeixinPayServiceImpl implements WeixinPayService {@Value("${weixin.appid}")private String appid;@Value("${weixin.partner}")private String partner;@Value("${weixin.partnerkey}")private String partnerkey;@Value("${weixin.notif

2020-10-19 21:27:08 1039

原创 Kibana常用操作

查询所有索引GET /_cat/indices?v删除某个索引DELETE /skuinfo新增索引PUT /userPUT /user/userinfo/_mapping{“properties”: {“name”:{“type”: “text”,“analyzer”: “ik_smart”,“search_analyzer”: “ik_smart”,“store”: false},“city”:{“type”: “text”,“analyzer”: “ik_smart”

2020-10-12 19:02:35 1187

原创 kibana‘s installation

Kibana使用-掌握DSL语句我们以前使用的是elasticsearch-head插件实现数据查找的,但是elasticsearch-head的功能比较单一,我们这里需要一个更专业的工具实现对日志的实时分析,也就是我们接下来要讲的kibana。Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。您可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。您可以很方便的利用图表、表格

2020-10-12 17:46:57 182 1

原创 docker的es安装及ik分词器安装

(1)docker镜像下载docker pull elasticsearch:5.6.8(2)安装es容器docker run -di --name=changgou_elasticsearch -p 9200:9200 -p 9300:9300 elasticsearch:5.6.8(3)开启远程连接上面完成安装后,es并不能正常使用,elasticsearch从5版本以后默认不开启远程连接,程序直接连接会报如下错误:failed to load elasticsearch nodes : o

2020-10-12 17:44:27 763 1

原创 canal伪装成mysql slave获取binary log

开启binlog模式先使用docker 创建mysql容器,此处不再演示.(1) 连接到mysql中,并修改/etc/mysql/mysql.conf.d/mysqld.cnf 需要开启主 从模式,开启binlog模式。执行如下命令,编辑mysql配置文件1560814415655命令行如下:docker exec -it mysql /bin/bashcd /etc/mysql/mysql.conf.dvi mysqld.cnf修改mysqld.cnf配置文件,添加如下配置:15608

2020-10-11 22:00:19 364

原创 canal

canal[kəˈnæl]: 运河,相当于把数据库当成河流,通过开凿运河把河流连在一起,然后使得两条河流水平面相同,即是使得两个数据库数据保持一致性canal可以用来监控数据库数据的变化,从而获得新增数据,或者修改的数据。canal是应阿里巴巴存在杭州和美国的双机房部署,存在跨机房同步的业务需求而提出的。阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务。原理相对比较简单:canal模拟mysql slave的交互协议,伪装自己为mys

2020-10-11 21:45:44 168

原创 canal

canal[kəˈnæl]: 运河,相当于把数据库当成河流,通过开凿运河把河流连在一起,然后使得两条河流水平面相同,即是使得两个数据库数据保持一致性canal可以用来监控数据库数据的变化,从而获得新增数据,或者修改的数据。canal是应阿里巴巴存在杭州和美国的双机房部署,存在跨机房同步的业务需求而提出的。阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务。...

2020-10-11 21:42:50 77

原创 FastDFS安装

1.2 FastDFS搭建1.2.1 安装FastDFS镜像我们使用Docker搭建FastDFS的开发环境,虚拟机中已经下载了fastdfs的镜像,可以通过docker imagesdocker pull morunchang/fastdfs运行trackerdocker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh运行storagedocker run -d --name storage --net=ho

2020-10-11 20:56:03 226

原创 openresty(集成了nginx+lua)安装

安装openrestylinux安装openresty:1.添加仓库执行命令 yum install yum-utils yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo2.执行安装yum install openresty3.安装成功后 会在默认的目录如下:/usr/local/openresty安装nginx默认已经安装好了nginx,在目录:/usr/local/

2020-10-11 17:50:50 289

原创 lua的安装

有linux版本的安装也有mac版本的安装。。我们采用linux版本的安装,首先我们准备一个linux虚拟机。安装步骤,在linux系统中执行下面的命令。curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gztar zxf lua-5.3.5.tar.gzcd lua-5.3.5make linux test注意:此时安装,有可能会出现如下错误:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OnFFO2wr-160

2020-10-11 17:38:57 259

原创 数据库结构优化

数据库结构优化5.1 优化表结构尽量将表字段定义为NOT NULL约束,这时由于在MySQL中含有空值的列很难进行查询优化,NULL值会使索引以及索引的统计信息变得很复杂。对于只包含特定类型的字段,可以使用enum、set 等数据类型。数值型字段的比较比字符串的比较效率高得多,字段类型尽量使用最小、最简单的数据类型。例如IP地址可以使用int类型。尽量使用TINYINT、SMALLINT、MEDIUM_INT作为整数类型而非INT,如果非负则加上UNSIGNED。但对整数类型指定宽度,比如INT(

2020-10-01 15:33:06 164

原创 数据库存储优化

存储优化4.2.1 禁用索引对于使用索引的表,插入记录时,MySQL会对插入的记录建立索引。如果插入大量数据,建立索引会降低插入数据速度。为了解决这个问题,可以在批量插入数据之前禁用索引,数据插入完成后再开启索引。禁用索引的语句: ALTER TABLE table_name DISABLE KEYS 开启索引语句: ALTER TABLE table_name ENABLE KEYSMyISAM对于空表批量插入数据,则不需要进行操作,因为MyISAM引擎的表是在导入数据后才建立索引。4.2.2

2020-10-01 15:28:40 620

原创 RSA非对称加密算法

RSA算法是非对称加密算法:公钥,私钥公钥和私钥的原理:张三有一把公钥和一把私钥,将公钥送给李四,王五,赵六各一把,张三给李四写信,采用数字签名。首先将信件内容用hash函数进行计算,得到信件摘要密文,然后再加密生成数字签名,然后将信件内容,签名和摘要一起发送给李四。李四用张三的公钥进行解密,得到信件摘要密文1,信件内容和数字签名。取下数字签名,然后对信件内容用hash函数得到信件摘要密文2,将摘要密文2与1进行对比,如果吻合,则证明信件未被更改。...

2020-09-19 17:16:02 202

原创 Linux下openresty端口号问题导致本机无法访问

异常:openresty(一种集合了nginx和lua的工具,OpenResty 是一个强大的 Web 应用服务器,Web 开发人员可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,更主要的是在性能方面,OpenResty可以 快速构造出足以胜任 10K 以上并发连接响应的超高性能 Web 应用系统。)启动后无法在本机浏览器上访问欢迎页面解决方案:这是因为iptables没有设置允许80端口号通过的原因,输入命令vi /etc/sysconfig/iptables,在配置文

2020-09-14 20:21:02 1596

原创 FastDFS上传文件产生的网址含义分析

2020-09-11 20:17:28 136

原创 NIO编程和Netty

2020-09-08 18:19:54 70

原创 JavaBean

2020-09-08 06:58:15 68

原创 Jsoup和httpClient的对比

2020-09-04 08:00:57 741

原创 oracle常用操作指令完整版

—视图—视图的概念:视图就是提供一个查询的窗口,所有数据来自于原表。—查询语句创建表create table emp as select * from scott.emp;select * from emp;—创建视图【必须有dba权限】create view v_emp as select ename, job from emp;—查询视图select * from v_emp;—修改视图[不推荐]update v_emp set job=‘CLERK’ where ename=‘A.

2020-09-03 17:17:09 198

原创 oracle表查询的具体操作

select * from person;truncate table person;insert into person (pid,pname) values (s_person.nextval,‘小明’);commit;–序列不真的属于任何一张表,但是可以逻辑和表做绑定。–序列:默认从1开始,依次递增,只要用来给主键赋值–dual:虚表,只是为了补全语法,没有任何意义。create sequence s_person;select s_person.currval from dual..

2020-09-02 20:41:51 220

原创 oracle插入数据中文乱码问题

oracle插入数据中文乱码问题解决1.查看服务器端编码select userenv('language') from dual;我实际查到的结果为:AMERICAN_AMERICA.ZHS16GBK2.执行语句 select * from V$NLS_PARAMETERS查看第一行中PARAMETER项中为NLS_LANGUAGE 对应的VALUE项中是否和第一步得到的值一样。如果不是,需要设置环境变量.否则PLSQL客户端使用的编码和服务器端编码不一致,插入中文时就会出现乱码.3.设..

2020-09-02 16:21:34 724

原创 left join与right join区别

搞懂 left join、join、right join的区别 1)概述 2)left join 3)right join 4)join 1)概述就是left join、join、right join和inner join等等各种join的区别。网上搜,最常见的就是一张图解图,如下:真的是一张图道清所有join的区别啊,可惜我还是看不懂,可能人比较懒,然后基本一个left join给我就是够用的了,所以就没怎么去仔细研究了,但是现实还是逼我去搞清楚,索性自己动手,总算理解.

2020-09-02 09:43:02 405

原创 MySQL优化之存储引擎

2020-09-01 22:22:28 71

原创 J.U.C拒绝策略

2020-09-01 17:46:05 109

原创 在J.U.C多线程中,AQS维护这一个CLH同步队列,这个队列遵循着FIFO原则

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200831172339175.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2N5YmVycHVua19Jc21l,size_16,color_FFFFFF,t_70#pic_center

2020-08-31 17:25:34 213

原创 JVM中的monitorenter和monitorexit

monitorenter和monitorexit这两个jvm指令实现锁的使用,主要是基于 Mark Word和、monitor。 Mark Word Hotspot虚拟机的对象头主要包括两部分数据:Mark Word(标记字段)、Klass Pointer(类型指针)。其中Klass Point是是对象指向它的类元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例,Mark Word用于存储对象自身的运行时数据,它是synchronized实现轻量级锁和偏向锁的关键。 Mark Wo..

2020-08-31 16:45:38 6146 1

原创 JVM中对象的分代年龄

堆内存 Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Survivor。这样划分的目的是为了使 JVM 能够更好的管理堆内存中...

2020-08-31 10:40:00 2032

原创 解决centos7 ip地址自动改变的问题

解决centos7ip地址自动改变的问题今天打开centos7后发现无法连接该ip地址,非常的疑惑,以前一直用的好好的,结果去查了一下ip地址后发现ip地址变了,具体的原因百度后已经知道了,但是我想如果ip地址老是变化对我的程序影响会很大,需要改很多东西,于是我就想设置一个永久ip。具体的方法如下:命令行工具输入su - 开启超级管理员权限然后输入vim /etc/sysconfig/network-scripts/ifcfg-ens33在文件中修改BOOTPROTO=“static”在文件中加

2020-08-27 13:32:28 5624 2

原创 Spring_ioc项目运行error:java不支持发行版本5错误的解决方法

最近开始了spring框架的学习,第一天的课程里发现在运行Spring_ioc项目时候出现了***error:java不支持发行版本5***的错误,经过反复查找,终于发现了问题所在,原来是因为jdk版本的问题,我的jdk是1.9版本的,所以需要在以下几个地方配置相同的版本内容,如下图:...

2020-08-03 16:06:14 495

webmagic-core.zip

这款软件是企业爬虫开发必备的一个工具,解压后,先将maven中的test给disable掉,然后将之install成jar包即可在其他项目中引用

2020-10-29

fescar-transaction.zip

fescar(seata)分布式事务案例工程,搭建分布式事务可参考,这里面已经抽取了分布式事务需要的配置文件,开启分布式事务必须要有这个微服务架构

2020-10-23

changgou-user-oauth.zip

OAuth(开放授权)是一个开放标准,允许用户授权第三方移动应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容,OAuth2.0是OAuth协议的延续版本。--是网站授权qq,微信登录的一种协议--

2020-09-19

02.ORACLE安装包.zip

最新oracle数据库下载,企业个人都可以用,希望大家多多支持,以后会上传更多java工具---------------------------------------------------------------------

2020-09-02

fescar-server-0.4.2.zip

fescar(seata)分布式事务中的事务调节器,懂的朋友自然懂得它的用处,下载之后解压即可用,如果你对次资源很满意,请订阅我,我会时常更新一些资源

2013-04-01

空空如也

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

TA关注的人

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