自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

XiaoY的专栏

坚持和放弃只不过在一念之间,忍的了寂寞,才能看得见繁华。

  • 博客(41)
  • 资源 (3)
  • 收藏
  • 关注

原创 Arthas的简单使用

场景:线上问题排查时,我们需要不停机添加日志。示例:向com.scm.controller.CensusReachSkuController 内中添加日志代码1.导出要修改文件jad --source-only com.scm.controller.CensusReachSkuController > /CensusReachSkuController.java2.修改文件使用 vim 命令修改类中的方法信息3.查询类加载器sc -d com.scm.controller.Cen.

2022-04-29 16:09:23 422

原创 docker compose安装redis集群、集群扩容、集群收缩

目录一、redis 配置信息模板二、编写批量生成配置文件脚本三、批量生成配置文件四、编写 docker-compose 文件五、做集群、分配插槽一、redis 配置信息模板文件名:redis-cluster.tmpl# redis端口port ${PORT}#redis 访问密码requirepass 123456#redis 访问Master节点密码masterauth 123456# 关闭保护模式protected-mode no# 开启集群cluster-enabled yes

2022-03-24 10:29:18 4141 3

原创 spring boot 整合钉钉机器人发送消息通知

盯盯消息通知主要用于系统预警、资源预警、重要消息通知,随时随地可以掌握重要信息一、通知效果1.文本通知2.带链接的通知3.makrdown格式 通知4.ActionCard 通知5.Feedcard 消息通知二、使用方法1.新建一个消息通知群,用于消息通知复制这个加签的字符串,后面会用到记住这个webhook,反而也会用到2. 新建 spring boot 工程2.1 POM 文件<dependencies> <

2021-11-26 14:55:10 2969 1

原创 VMware中的Centos8系统盘扩容

查询磁盘挂载情况[root@localhost ~]# df -hFilesystem Size Used Avail Use% Mounted ondevtmpfs 3.6G 0 3.6G 0% /devtmpfs 3.6G 0 3.6G 0% /dev/shmtmpfs 3.6G 9.8M 3.6G 1% /runtmpfs 3.6G 0 3.6G 0%

2021-09-11 15:18:56 302

原创 spring 事务传播行为、隔离级别、行级锁

spring 事务传播行为传播行为含义PROPAGATION_REQUIRED表示当前方法必须运行在事务中。如果当前事务存在,方法将会在该事务中运行。否则,会启动一个新的事务PROPAGATION_SUPPORTS表示当前方法不需要事务上下文。如果当前存在事务,则加入该事务;如果当前不存在事务,则以非事务的方式继续运行。PROPAGATION_MANDATORY表示该方法必须在事务中运行。如果当前存在事务,则加入该事务;如果当前不存在事务,则抛出异常。PROPA

2021-07-08 09:01:42 462

原创 docker-compose mysql8主从同步配置

目录一、配置文件1.添加 .env 文件2.添加 docker-compose.yml二、目录结构三、安装四、新建用户、同步数据使用 docker-compose 配置一主两的mysql8一、配置文件1.添加 .env 文件是一个隐藏文件,可以通过 ls -a 查看。非必要可以在docker-compose.yml 中写死TAG=8MASTER0_SERVER_ID=1MASTER0_NODE_1_SERVER_ID=10MASTER0_NODE_2_SERVER_ID=20MA

2021-03-27 21:06:19 1267

原创 RabbitMQ知识点整理

目录rabbitmq 交换机类型rabbitmq 消息模型rabbitmaq 工作队列模式rabbitmaq 订阅模式(Fanout,Direct,Topic)如何避免消息丢失rabbitmq 交换机类型fanout 广播模式:将消息交给所有绑定到交换机的队列。direct 精确匹配:根据生产者中binding key 来和消费者端 routing key 做精确匹配(equal)。topic 模糊匹配:routing key中可以带 * 和 # 来做模糊匹配, “*” 用于匹配一个单词

2021-03-24 10:08:04 346 3

原创 设计模式-单例模式

目录简介实际应用场景UML代码实现1.饿汉式(线程安全) [不推荐用]2.懒汉式(线程不安全) [不推荐用]3.懒汉式-加锁(线程安全) [不推荐用]4.懒汉式-双重校验锁(线程安全) [推荐用]5.枚举(线程安全) [极推荐使用]6.静态内部类(线程安全) [推荐用]7. 测试代码测试简介一个类只允许创建一个对象(或者实例),那这个类就是一个单例类实际应用场景在一些常用的工具类、线程池、缓存,数据库,账户登录系统、配置文件等程序中可能只允许我们创建一个对象UML代码实现1.饿汉式(线程安全)

2021-03-22 10:03:05 80

原创 设计模式-工厂模式

目录简介实际应用场景UML代码实现测试简介工厂模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。实际应用场景1、日志记录器:记录可能记录到本地硬盘、系统事件、远程服务器等,用户可以选择记录日志到什么地方。2、数据库访问,当用户不知道最后系统采用哪一类数据库,以及数据库可能有变化时。3、设计一个连接服务器的框架,需要三个协议,“POP3”、“IMAP”、“HTTP”,可以把这三个作为产品类,

2021-03-21 20:07:47 64

原创 设计模式-状态模式

目录简介实际应用场景UML代码实现测试简介在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。实际应用场景1、打篮球的时候运动员可以有正常状态、不正常状态和超常状态。2、曾侯乙编钟中,‘钟是抽象接口’,'钟A’等是具体状态,'曾侯乙编钟’是具体环境(Context)。UML代码实现public class Context {

2021-03-18 09:54:02 71 2

原创 设计模式-责任链模式

目录简介实际应用场景UML代码实现测试简介责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推。实际应用场景1、红楼梦中的"击鼓传花"。2、JS 中的事件冒泡。3、JAVA WEB 中 Apache Tomcat 对 En

2021-03-17 09:29:01 75

原创 设计模式-代理模式

目录简介实际应用场景UML1、静态代理2、动态代理代码实现1、静态代理2、动态代理(JDK)测试1、静态代理2、动态代理(JDK)简介代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用实际应用场景买火车票不一定在火车站买,也可以去代售点UML1、静态代理2、动态代理代码实现/** * @author liuyongtao * @since 2021-3-15 12:00 */public interface Image { void display

2021-03-15 14:35:15 77

原创 java中线程安全的集合和创建不可以修改的集合

目录标线程安全的集合创建不可以修改的集合线程安全的集合Vector vector = new Vector();Stack stack = new Stack();CopyOnWriteArrayList<Object> copyOnWriteArrayList = new CopyOnWriteArrayList<>();List<String> synList = Collections.synchronizedList(new ArrayList&lt

2021-03-13 21:53:05 113 1

原创 设计模式-迭代器模式

目录简介实际应用场景UML代码实现测试简介提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。实际应用场景将书(Book)放到书架(BookShelf)中,并将书名按顺序显示UML代码实现/** * @author xiaoy * @since 2021-3-10 9:38 */public interface Container<E> { Iterator<E> iterator();}/** * @author xi

2021-03-10 10:30:52 73

原创 设计模式-策略模式

目录简介实际应用场景UML代码实现测试简介定义算法族,分别封装起来,让它们之间可相互替换,此模式让算法的变化独立于使用算法的客户实际应用场景账单同步的功能。来自不同平台的账单,使用不同的文件保存,需要解析文件,校验数据,保存数据,归档账单UML代码实现/** * 解析数据接口 * * @author xiaoy * @since 2021-3-8 15:33 */public interface IParsingData { void parsingData()

2021-03-09 09:01:20 88

原创 设计模式-命令模式

目录简介实际应用场景UML代码实现测试简介将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。(简化: 将请求封装成对象,将动作请求者和动作执行者解耦。)实际应用场景假设现在有电视、电脑、电灯等家电,现在需要你做个遥控器控制所有家电的开关,要求做到每个按钮对应的功能供用户个性化,对于新买入家电要有非常强的扩展性UML代码实现/** * 命令执行器接口 * * @author xiaoy * @since 2021-3-8 8:51

2021-03-08 09:30:02 77

原创 设计模式-观察者模式

目录简介实际应用场景UML代码实现测试简介观察者模式,又可以称之为发布-订阅模式,观察者,顾名思义,就是一个监听者,类似监听器的存在,一旦被观察/监听的目标发生的情况,就会被监听者发现实际应用场景观察者模式多用于实现订阅功能的场景,例如微博的订阅UML代码实现/** * 主题 * @author liuyongtao * @since 2021-3-5 9:26 */public interface Subject { void registerObserver(Obse

2021-03-05 17:27:45 74

原创 spring cloud Nacos 整合 Seata

目录一、Seata 简介1. Seata 如何处理呢2. 核心组件3. 具体工作过程二、Seata 详细工作流程示例三、启动 seata 服务端1. 下载seatea 服务端2.修改 `config.txt` 文件,根据需要保存。修改数据库相关3.修改 `registry.conf` 文件,修改 nacos 的地址、用户名和密码。3. 启动 seata-server.bat四、调用端1. 新建测试库 seata、account、order、storage2. 新建工程一、Seata 简介查看源码 ht

2021-03-02 21:54:32 703

原创 ThreadLocal 怎么实现多个线程间的隔离

ThreadLocal.java 部分代码:public void set(T value) { Thread t = Thread.currentThread(); ThreadLocalMap map = getMap(t); if (map != null) map.set(this, value); else createMap(t, value);}ThreadLocalMap getMap(Thread t) { r

2021-02-25 11:37:04 202 3

原创 Nginx配置说明

目录一、nginx 文件结构二、详细配置说明三、代理配置四、负载均衡Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。一、nginx 文件结构... #全局块events

2021-02-01 17:29:15 140 2

原创 IDEA 自己定义方法,类的注释

文章目录一、新建快捷方式二、添加模板三、添加GroovyScript一、新建快捷方式二、添加模板* * $END$ * * $param$$return$ * @author xiaoy * @since $date$ $time$ */三、添加GroovyScriptparam 中填入groovyScript(" if(\"${_1}\".length() == 2) { return ''; } else { def result=''; def par

2021-01-18 08:19:47 114

原创 Spring Cloud 之 Gateway、Spring Security、Oauth2 的整合

目录1)learn-shop-public-auth(认证中心)1、生成JKS2、添加pom.xml中主要依赖3、添加主要类3.1 目录结构及主要类说明3.2 WebSecurityConfig3.4 JwtTokenEnhancer3.5 CustomUserDetailsService4、添加公钥访问地址5、添加配置文件2)learn-cloud-gateway(资源中心)1、目录结构2、AuthorizationManager3、ResourceServerConfig4、配置文件源码地址:看这里,

2020-12-24 14:58:57 7422 4

原创 es elasticsearch整合kibana,HanLP分词器

目录一、准备二、安装1.解压 elasticsearch2.解压 kibana3.解压 elasticsearch-analysis-hanlp三、启动&测试1. elasticsearch 启动2.测试 elasticsearch3.测试 HanLP 分词4. Kibana 启动5.测试 Kibana一、准备下载 Elasticsearch 7.3.2 : 下载下载 Kibana 7.3.2 下载下载 HanLP 7.3.2 下载 密码:i0o7 更多HanLP二、安装1.解压

2020-08-02 21:28:14 712 3

原创 阿里云服务器创建swap分区

目录1.查看当前系统中是否已经启用swap分区2.新建一个专门的文件用于swap分区3.mkswap命令将上面新建出的文件做成swap分区4.启用交换分区,查看内存占用5.设置开机自动挂载6.查看内核参数vm.swappiness中的数值是否为0,如果为0则根据实际需要调整1.查看当前系统中是否已经启用swap分区free -m2.新建一个专门的文件用于swap分区dd if=/dev/zero of=/swap_file bs=1024 count=4096000dev/zero是linu

2020-05-30 10:51:22 980

原创 如何绕过java的构造器,创建实例

要实例的类:public class BlogDto2 { private Integer id; private String name; { System.out.println("11111"); } public BlogDto2(Integer id, String name) { this.id = id; this.name = name; System.out.println("2

2020-05-24 21:37:05 217

原创 docker中部署redis

一、拉取镜像# 拉取最新 redis:6 镜像docker pull redis:6# 查看镜像docker images二、下载redis.conf文件官网下载修改文件:修改启动默认配置(从上至下依次):bind 127.0.0.1 # 注释掉这部分,这是限制redis只能本地访问protected-mode no # 默认yes,开启保护模式,限制为本地访问daemonize no # 默认no,改为yes意为以守护进程方式启动,可后台运行,除非kil

2020-05-14 16:42:20 190

原创 docker 中部署rabbitmq

一、拉取镜像# 拉取最新 rabbitmq:management 镜像(带有管理页面)docker pull rabbitmq:management# 查看镜像docker images二、启动docker run \-d \--name rabbitmq \-e RABBITMQ_DEFAULT_USER=admin \-e RABBITMQ_DEFAULT_PASS=admin123 \-p 15672:15672 \-p 5672:5672 \rabbitmq:manag

2020-05-13 18:05:57 162

原创 docker 中部署mysql8

一、拉取镜像# 拉取最新 mysql 镜像docker pull mysql# 查看镜像docker images二、启动一个测试容器目的:确定配置文件和数据文件的位置,复制文件到宿主机指定的位置,用于挂载文件,方便后期修改。# 启动测试容器docker run \-p 3308:3306 \--name mysql2 \-e MYSQL_ROOT_PASSWORD=root \-d mysql三、创建文件夹,复制配置文件# 创建文件夹mkdir /home/docker

2020-05-13 17:08:00 373

原创 mysql 新建用户和授权

新建用户命令create user 'username'@'host' identified by 'password';创建learn_shop用户密码为pass123create user 'learn_shop'@'%' identified by 'pass123';说明username:你将创建的用户名host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%password:该用户的登陆密码,

2020-05-13 16:57:41 224

原创 centos7安装docker

Docker 官网地址:https://docs.docker.com/engine/install/centos/安装前准备查看系统版本cat /etc/redhat-release安装gcc和gcc-c++yum -y install gccyum -y install gcc-c++卸载旧版本yum remove docker \ docker-client \ docker-client-late

2020-05-10 20:12:44 145

原创 线程池中 submit()和 execute()方法有什么区别

submit()和 execute()方法的区别execute 方法执行完成后没有返回值,而submit方法执行后有返回值方法所在的类不同,execute 方法:java.util.concurrent.Executor;submit方法:java.util.concurrent.ExecutorService所需要的参数不同,execute : java.util.concurre...

2020-05-05 10:20:59 2635

原创 创建线程池有哪几种方式

创建线程池有哪几种方式一、Executors二、ThreadPoolExecutor一、ExecutorsExecutors是一个线程相关的工具类。主要提供了以下几种创建线程池的方法:indexmethodcorePoolSizemaximumPoolSizekeepAliveTimeunitworkQueue1newCachedThreadPool0In...

2020-05-04 22:15:27 11207

原创 spring cloud admin的入门搭建

一、cloud-admin-server目录结构:1、pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...

2019-09-12 16:38:10 685 1

原创 Quartz的应用之Cron生成表达式html(基于vue、element)

一、先看效果二、怎么使用1、引用组件(注意修改文件路径)import CustomCronInput from '../../../components/common/CustomCronInput.vue';2、页面使用<custom-cron-input v-model="cronExpression"></custom-cron-input>三、源...

2019-08-20 14:39:16 3933 2

原创 Quartz的应用之Cron表达式

一、Quartz的应用场景1.邮件提醒和告警2.执行文件传输操作3.创建销售报表4.定时拉取银行对账文件,定时对账等5.定时生成报表二、CronExpression表达式完整格式为: [秒] [分] [小时] [日] [月] [周] [年]序号说明是否必填允许填写的值允许的通配符1秒是0-59, - *2分是0-59, - * ...

2019-08-12 13:49:10 274

原创 Spring Cloud 之 Zuul、Spring Security、Oauth2 的整合

zuul为微服务的网关,所有的访问服务的api都要通过网关转发到内网对应的服务。spring security、oauth2为认证和授权中心,负责整个微服务api的安全一、添加:learn-shop-public-auth 认证、授权中心1、 在pom.xml中添加&lt;dependencies&gt; &lt;!-- 注册中心 --&gt; &lt;dependenc...

2018-11-19 22:03:59 12879 5

原创 Hibernate4 No Session found for current thread

这个问题是第二次出现了。第一次出现的时候我并不知道是什么原因,困扰了我好几天。但是在无意中就解决,也不知道是怎么就解决了。这一次又出现了,又让我找了好长的时间,终于找到了问题所在。以下是网上找到的原因:     SessionFactory的getCurrentSession并不能保证在没有当前Session的情况下会自动创建一个新的,这取决于CurrentSessionConte

2015-04-24 15:14:31 594

原创 Hibernate关联关系-one2one

前两天在写毕业设计的时候,用到了hibernate的一对一的关联关系。不知道什么原因,老是出现错误。然后自己到网上查找各种资料,才解决问题。在这里整理一下hibernate的关联关系,以便自己以后可以查看。下面这个测试的例子有很多,我只是做了一个小的修改。    hibernate中一对一关联有两种方式。一种是一对一主键关联,这中关联就是说主表的主键与从表的主键相同,即从表的主键来自于主表主键

2015-04-16 10:39:37 385

原创 读写properties文件

工程结构:import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.util.Properties;/** * 读取properties文件

2015-04-07 11:29:15 489

原创 dom4j解析XML文件

XML文件为

2014-08-03 23:40:15 757

drools的使用.pdf

drools的使用说明,包含示例和自定义规则

2021-02-02

sys_city.zip

中国省市区脚本,带有邮政编码、地区经纬度

2021-02-02

activiti-app6-汉化.zip

activiti6的流程设计汉化,解压后将里面的activiti-app放入tomcat中运行就可以了。默认使用的H2,如果要使用mysql等其它数据库需要修改activiti-app\WEB-INF\classes\META-INF\activiti-app包下的activiti-app.properties文件。如果数据库连接失败可以需要更新数据库驱动包,activiti-app\WEB-INF\lib\mysql-connector-java-5.1.30.jar(以mysql 为例)。启动后访问:http://127.0.0.1:8080/activiti-app,用户名admin,密码test

2019-08-24

空空如也

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

TA关注的人

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