自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

袖卷笛音的博客

记录程序员之路的点点滴滴

  • 博客(65)
  • 资源 (12)
  • 问答 (7)
  • 收藏
  • 关注

原创 docker-compose安装rocketmq双主集群

简介使用docker-compose搭建rocketmq双主集群,之所以使用docker-compose是因为启动部署都比较简单,不用每次启动容器传入参数,可以统一管理等等。这里使用两台服务器(前提需要安装docker,安装docker-compose),一台101服务器是放nameserver,一台102服务器是放broker以及控制台,因为只是开发使用,所以broker并未放在两台服务器上部署nameserver101服务器新建一个/docker/rocketmq-cluster-docker目

2020-12-30 17:52:43 571

原创 双环境centos以及ubuntu查看docker容器启动参数

1.centos环境1.安装pipyum install -y python-pip2.安装runlikepip install runlike3.使用runlike查看启动参数runlike -p <容器名>|<容器ID>2.ubuntu环境1.安装pipsudo apt install python-pip2.安装runlikesudo pip install runlike3.使用runlike查看启动参数.

2020-11-26 19:27:54 584

原创 Rocketmq消息可靠性之同步、异步刷盘以及同步异步复制

消息的可靠性主要取决于刷盘以及复制的策略。只要数据写到磁盘就安全了,只要磁盘不损坏,不管服务器宕机或者重启,消息会一直存在1.什么是同步刷盘和异步刷盘刷盘就是内存跟磁盘的交互,应用程序例如mysql,插入一条数据的时候不是实时的写到磁盘里去,他会根据你配置的不同策略,会2s或者1s或者实时的将内存中的数据刷到磁盘里去。 1.1.什么是异步刷盘:异步刷盘就是数据不是实时写到磁盘中,他会根据刷盘策略进行写入磁盘(数据可能丢失,性能高) 1.2.什么是同步刷盘:...

2020-07-09 09:06:59 1288 2

原创 Docker双环境安装并配置阿里云镜像

1.Window 10 环境下安装Docker简介:如何在Win10 环境下安装docker容器(仅支持win10专业版以上)Docker for Win10 安装包下载地址:https://store.docker.com/editions/community/docker-ce-desktop-windows第一步:右击菜单,选择应用和功能,然后选择程序和...

2020-03-21 13:31:04 726

原创 docker三种网络模式

1.docker默认的三种网络模式:bridge:桥接模式host:主机模式none:无网络模式查看网络模式: docker network ls2.桥接模式 简介:桥接模式是docker 的默认网络设置,当Docker服务启动时,会在主机上创建一个名为docker0的虚拟网桥,并选择一个和宿主机不同的IP地址和子网分配给docker0网桥如下图所示:en...

2020-02-04 19:41:05 6682

原创 redis实现分布式锁

1.分布式锁是什么 分布式锁是控制分布式系统或不同系统之间共同访问共享资源的一种锁实现 如果不同的系统或同一个系统的不同主机之间共享了某个资源时,往往通过互斥来防止彼此 干扰。 2.分布锁设计目的 可以保证在分布式部署的应用集群中,同一方法在同一操作只能被同一台机器上的同一个线程执行3.分布式锁的场景Redis里面存入了一部分缓存数据,缓存的数据是来自db,我们把数据从...

2019-12-02 11:14:42 547

原创 jenkins安装以及常见问题

1.什么是持续集成? 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。使用持续集成的好处有很多,比如节省人力成本,加快软件开发进度,实时交付2.整体流程 成员通过git提交代码-->持续集成引擎...

2019-11-21 16:39:19 622

原创 shardingjdbc使用java配置类配置数据源报错

在使用shardingjdbc的时候可以使用多种配置方式,在使用配置类配数据源的时候报如下错误:报错原因是datasource为空,这样的原因主要是 springboot与shardingjdbc整合的时候,默认会使用SpringbootConfiguration这个类(在sharding-jdbc包下)自动的从配置文件中读取配置,如果读取不到,那么数据源就配置不成功,因为这里我们使用配置...

2019-10-29 11:09:44 2991

原创 mysql利用二进制日志binlog恢复误删除操作

什么是二进制日志: 二进制日志就是记录着mysql数据库中的一些写入性操作,比如一些增删改,但是,不包括查询! 二进制日志有哪些功能: 二进制日志有着数据复制和数据恢复的功能,可以将一些误删除的数据恢复注意: 开启二进制日志会有1%的性能消耗! 查看二进制日志是否开启:show variables like 'l...

2019-10-24 10:48:00 1484

原创 mysql数据备份之mysqldump备份以及恢复

一.数据备份的意义(1)保护数据的安全; (2)在出现意外的时候(硬盘的损坏,断电,黑客的攻击),以便数据的恢复; (3)导出生产的数据以便研发人员或者测试人员测试学习; (4)高权限的人员操作失误导致数据丢失,以便恢复;二.数据库的备份类型(1)完全备份:对整个数据库的数据进行备份 (2)部分备份:对部分数据进行备份(可以是一张表也可以是多张表) ...

2019-10-08 17:26:33 1934

原创 mysql创建新用户以及库表权限授予及收回

一.创建新用户并限制ip网段登录1.1创建语法:create user 'username'@'host' identifified by 'password'; username:你将创建的用户名 host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机 登 陆,可以使用通配符% password:该用户的登陆密码,...

2019-10-08 11:33:25 1900

原创 mysql忘记密码如何处理以及三种修改密码的方式

mysql有时候会忘记密码,这就比较蛋疼了,首先我们先讲mysql如何修改密码(前提是知道旧密码),修改方式有如下三种:1. 第一种(需要登录mysql)语法:set password for 用户@ip = password('密码');例子:set password for root@localhost = password('root');但是我们发现报错如下:...

2019-09-30 15:59:23 1311

原创 mysql限制root用户指定ip登录

查看root用户可以在哪台机器登录select user,host from mysql.user where user='root';修改mysql库里边的user表,限制root用户只能从哪个ip登录update mysql.user set host='localhost' where user='root';刷新权限flush privileges; 我有两台...

2019-09-30 15:12:06 7668

原创 centos7安装mysql并解决各种问题

1. 添加mysql yum源在centOS上直接使用yum installmysql安装,最后安装上的会是MariaDB,所以要先添加mysqlyum源yum -y install wgetwget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-communit...

2019-09-18 14:25:10 1296

原创 VMware下centos7配置静态ip并解决ping不通百度的问题

使用vmware安装了虚拟机之后,ip不是固定的,这在实际使用中就比较麻烦,下面就将动态ip设置问静态ip1.修改vmware的网络设置点击编辑,然后选择虚拟网络编辑器,选择nat模式,将使用DHCP服务的勾选去掉,因为使用dhcp服务是自动分配ip,我们不需要自动分配所以一定要去掉然后设置子网ip段,这里我设置为192.168.10.0网段,然后点击nat设置,设置网关的...

2019-09-09 17:15:53 15674 23

原创 centos7工作必备命令

1.cd命令 cd ..是返回上一层目录, cd -是返回到上一次的工作目录,例:开始在~目录下,进入/usr/local,cd -则到~下,再按cd -则到/usr/local中2.ls [参数] [路径] ls -lt按时间倒序排 ls-ltr按时间顺序排 ls -a 显示隐藏文件 ls -lrt /home/ 按时间顺序显示/home目录下所有文件3.cat命令 查...

2019-09-06 15:48:48 1661 2

原创 dubbo多协议配置测试(springboot2.x+xml)

源码地址:https://gitee.com/xuxinsunqizheng/dubbo.git在平时dubbo使用中,我们一般是使用的dubbo协议,但是dubbo协议并不是适用于所有场景,比如文件上传或者大字符串的传输,我们查看官网:http://dubbo.apache.org/zh-cn/docs/user/references/protocol/dubbo.html,可以发现dubb...

2019-08-29 11:19:11 2356 1

原创 基于zookeeper的分布式锁

一.分布式锁作用及其原理 1.为什么要有分布式锁 分布式服务中,如果各个服务节点需要去竞争资源,没办法使用单机多线程中JDK自带的锁,故此时需要分布式锁来协调。 2.企业中有哪些常见的手段来实现分布式锁 zookeeper、redis、memcache 3.分布式锁的原理zookeeper:去创建相应的节点,创建成功,则表示获取到相应的锁,创建失败,则表示获取锁失败 ...

2019-08-23 17:48:59 2732

原创 synchronized修饰不同资源

内置锁: 每个java对象都可以用做一个实现同步的锁,这些锁称为内置锁。线程进入同步代码块或方法的时候会自动获得该锁,在退出同步代码块或方法时会释放该锁。获得内置锁的唯一途径就是进入这个锁的保护的同步代码块或方法。互斥锁: 内置锁是一个互斥锁,这就是意味着最多只有一个线程能够获得该锁,当线程A尝试去获得线程B持有的内置锁时,线程A必须等待或者阻塞...

2019-08-06 14:26:28 173

原创 redis安装以及设置开机自启动等三种启动方式的区别

一.redis安装首先进入到/usr/local目录下,然后1.安装gcc 环境:yum -y install gcc-c++2.使用yum安装wget:yum install wget3.使用wget下载redis安装包:wget http://download.redis.io/releases/redis-4.0.6.tar.gz4.解压redis:tar -zxf re...

2019-07-11 17:56:38 1580

原创 将json字符串实体存入redis取出用fastjson中出现(syntax error, expect {, actual string, pos 0)

在项目中,我将实体类转成json字符串使用hset方式存入redis: redisService.hset("deviceSetting:"+deviceSettingDto.getDeviceId(),"settingId:"+deviceSettingDto.getId(), JSON.toJSONString(one));取出的时候使用JSON.parseObject()解析报如下...

2019-07-09 15:16:36 3585

原创 shiro+springboot自定义sessionId

在shiro中,默认返回的sessionId是uuid或者是random随机的,我们可能需要根据我们的需求进行重写,需要重写sessionId我们只需要写一个类实现SessionIdGenerator中的generateId就行1.自定义sessionId生成自定义CustomSessionIdGenerator实现SessionIdGenerator接口,重写generateId(...

2019-07-03 09:12:57 6438

原创 shiro整合redis做缓存管理器报错class java.lang.String must has getter for field

shiro整合redis做缓存管理器的时候报错:class java.lang.String must has getter for field: authCacheKey or id\nWe need afield to identify this Cache Object in Redis. So you need to defined an id fieldwhich you can...

2019-07-02 17:15:35 1793

原创 SpringBoot2.X学习之整合定时任务和异步任务处理

目前市场上有很多定时任务框架,比如java自带的java.util.Timer类,不过它配置比较麻烦,存在时间延后问题,所以不推荐,还有就是Quartz框架,它的配置更简单可以使用xml或者注解方式进行配置,如果是SpringMvc框架我们推荐使用这种。在springboot中使用定时任务直接使用它自带就行,下面我们就进行springboot定时任务以及异步任务调用的开发:一.定时任务1...

2019-03-23 15:27:03 1081

原创 SpringBoot2.X学习之整合redis监听key过期事件处理

业务场景:处理订单过期自动取消这个业务,用户下单15分钟内未支付,我们需要自动修改订单状态实现逻辑:当用户下单的时候生成一条订单插入数据库,并将这条订单的id或者code设置15分钟过期事件存入redis,然后监听redis过期事件,如果是订单过期未支付就修改订单状态修改redis配置文件:我们要开启redis key过期提醒,修改redis相关事件配置。找到redis配置文件...

2019-03-22 11:19:50 1734 5

原创 activemq启动报错:java.net.UnknownHostException: server_129: server_129: unknown error

我在虚拟机上复制了一份虚拟机,改名叫server_129,结果启动activemq报错,如下:java.net.UnknownHostException: server_129: server_129: unknown error在网上找了半天,终于发现原来是主机名错误,不能使用特殊字符直接修改主机名:vim /etc/sysconfig/network把主机名中间的_...

2019-03-19 18:13:54 372

原创 IDEA代码误删或者git未add就resetall的解决方案

今天在写代码的时候,写了一下午没有提交到git上,在用gitkraken提交的时候失误连点两下resetall,将没有add的代码还原了。。。瞬间感觉崩了,我以为没有add的代码还原了就没了,结果同事告诉我IDEA帮我们缓存了代码,可以查找历史,我一看还果真有,真实开心,右击项目的文件或文件夹,选择local history----show history然后就会出现该文件各个时间...

2019-03-08 20:23:57 2511 3

原创 SpringBoot2.X学习之整合ActiveMQ实战同时支持queue以及topic

activemq是一个非常常用的消息中间件,本节课进行SpringBoot2.0整合activemq队列模式的讲解,关于activemq基本介绍网上很多,这里就不进行详细讲解了。SpringBoot关于activemq的官网:https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#bo...

2019-03-02 23:18:07 931

原创 redis hash数据类型实际业务中不足以及替代方法

1.hash 数据类型是大key ,然后小key(fied),然后value2.业务:商品详情添加缓存,缓存不能设置永久缓存,因为redis缓存是放在内存中的,给每个商品添加一个缓存,设置永不过期那么内存就会爆炸了,可以添加缓存然后设置过期时间就可以了。但是这样就不能使用hash这种数据类型了,因为hash是一个大key,下面各种小key,如下图所示,CONTENT_LIST是商品类型,也就是...

2019-03-01 16:23:25 491

原创 Tomcat服务器和物理服务器的区别

如果一台什么都没装的电脑,什么都不算,装了mysql就可以叫数据库服务器,装了tomcat就可以叫web应用服务器tomcat:1.本质:软件 Web 应用服务器----一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。2.用途:a. 当在一台机器(即物理...

2019-03-01 16:06:19 1489

原创 IDEA设置为eclipse快捷键之后常用快捷键(亲测有用)

最近开发一直在用idea,但是快捷键比较用的不太舒服,就将idea的快捷键设置为了eclipse风格,设置如下:但是设置之后有些快捷键与idea的混淆了,有些冲突了,还有些是idea特有的快捷键,在这里就整理了一份idea转成eclipse风格之后常用的快捷键,每个快捷键本人都亲测有效,在此记录以供以后查验,并且在使用中发现新的好用的快捷键也会更新过来Alt+Enter:快速补全 C...

2019-03-01 14:45:42 6238 6

原创 linux安装Jenkins报错:This Jenkins instance appears to be offline(离线错误)

我在本地虚拟机安装Jenkins启动之后,输入密码,本应该到安装插件界面,可是他给我跳到了如下界面:原因就是在插件管理器中检查了更新站点 ,使用了https,将它改成http就行了,我们先找到更新文件的路径:find / -name "hudson.model.UpdateCenter.xml"然后编辑该文件,将https改成http:vim /var/lib/jenk...

2019-02-22 10:43:24 3893

原创 SpringBoot2.X学习之在IDEA中使用lombok

lombok作用在平常写代码的时候,我们写javabean的时候都要写get,set方法,虽然可以自动生成,但是看上去还是不太好看,还有就是在打印日志的时候,我们先要获取到log对象,每个类都要写一遍非常的麻烦,lombok就可以帮我们解决这些问题。Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。Lombok能通过注解的方式,在编译时自动为属性生成构造器、gett...

2019-02-21 15:05:26 275

原创 Google浏览器清除缓存快捷键

每次清理谷歌的浏览器缓存都要F12感觉很麻烦,搜了下快捷键是CTRL+SHIFT+DEL

2019-02-13 10:54:12 17725 4

原创 SpringBoot2.X学习之整合redis3.0

官网:https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#boot-features-redis集群文档:https://docs.spring.io/spring-data/data-redis/docs/current/reference/html/#cluster在Spri...

2019-02-07 14:52:56 770

原创 SpringBoot2.0打印mybatissql语句

1、控制台打印sql语句:mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl2.测试:  

2019-02-05 10:58:48 443

原创 SpringBoot2.X学习之整合Mybatis3.0

本节课进行SpringBoot整合Mybatis3.0注解的实战,首先新建一个空项目,建好实体类,mapper,service等,项目地址:源码地址:https://gitee.com/xuxinsunqizheng/SpringBoot2.0.git,下面是表的sql脚本CREATE TABLE `user` ( `id` int(11) unsigned NOT NULL...

2019-02-03 22:06:20 437

原创 SpringBoot2.X学习之Intercepter拦截器

本节课对SpringBoot2.0以及之前版本的拦截器进行讲解在SpringBoot1.x的版本中实现拦截器,首先写一个自定义拦截器实现addInterceptors接口,实现其三个方法:package com.qzsun.springbootdemo.intecpter;import javax.servlet.http.HttpServletRequest;import jav...

2019-01-31 16:18:31 487

原创 IDEA查看方法被调用以及接口的实现类

1.IDEA中查看一个方法在哪里被调用了选中方法名右击,点击Find Usages,然后就能在下方看到该方法被哪些地方调用了,也可以使用快捷键Ctrl+G(在idea快捷键被改成eclipse情况下)2.IDEA中查看一个接口的实现类在接口的左边有个向下的小箭头,点击小箭头就能看到方法的实现,也可以使用快捷键Ctrl+T(在idea快捷键被改成eclipse情况下)...

2019-01-31 09:03:27 61211 4

原创 SpringBoot2.X学习之Listener监听器

上节课我们讲解了过滤器,这节课进行监听器Listener的讲解,监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。通俗的讲,监听器就比如你盯着一盘好吃的,有人拿你的吃的的时候,你会立马采取相应的行动。此处我们以ServletRequestListener以及ServletContextListener来举例,Serv...

2019-01-30 17:20:05 708

springboot整合kafka,指定分区发送,批量消费,指定topic分区消费

springboot2.x整合kafka,发送者包含自定义分区发送,发送之后的回调函数,消费者有两个监听,一个是批量消费多topic,另外一个是消费指定topic的不同分区

2019-09-26

dubbo_project.rar

idea开发dubbo最新版+springboot2.x+zookeeper代码实例,xml配置方式,下载即可用,包含dubbo多环境配置,超时时间,环境容错等

2019-08-29

springboot2.x整合redis做mybatis的二级缓存

springboot整合redis做mybatis的二级缓存,含有自定义key,自定义过期时间,自定义序列化方式

2019-07-18

shiro+springboot2.x+redis注解方式完整项目

shiro+springboot2.x+redis注解方式完整项目,包括自定义realm,整合redis缓存管理器,自定义sessionId,自定义session等等,sql文件就在resource文件夹下

2019-07-03

大型网站系统与JAVA中间件实践.rar

大型网站系统与JAVA中间件实践.pdf高清pdf

2019-06-25

springboot2.0整合fastjson以及各种使用实例

springboot2.0整合fastjson实例配置,在测试类中有各种fastjson的使用,序列化反序列化,以及jsonObject与jsonarray的使用,具体测试方法在测试类中

2019-03-20

java8时间api

本资源是一些java8新的时间的api操作,包括LocalDate,LocalTime,LocalDateTime,Instant,Duration,时间格式化等等

2019-03-15

SpringBoot2.0+mybatis3.0+redis+lombok

这个是SpringBoot2.0注解方式整合mybatis3.0整合redis,整合lombok,内含redis工具类,可直接使用。数据库就最简单的user表,新建下就行

2019-03-01

Spring-task定时任务

spring-task注解以及xml两种方式的简单使用,亲测有用

2019-03-01

淘淘商城全套代码(全部自己敲出来跑出来的)

这是淘淘商城也就是宜立方商城全套代码,本人根据视频一步一步敲出来的,全部可以跑,不过要自己搭建服务,sql语句就在项目中e3-mall.sql

2019-03-01

淘淘商城fastdfsjar包

该jar包是淘淘商城图片上传的jar包,只需要下载解压到仓库根目录下就行(也就是repository下),我的就是F:\maven\repository

2019-01-06

淘淘商城分页jar包

该jar包是淘淘商城分页的jar包,只需要下载到仓库中的com/github/下面解压就行,我的目录就是F:\maven\repository\com\github

2019-01-06

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

TA关注的人

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