自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 charles

Charles 的简介如何安装 Charles将 Charles 设置成系统代理Charles 主界面介绍过滤网络请求截取 iPhone 上的网络封包截取 Https 通讯信息模拟慢速网络修改网络请求内容给服务器做压力测试修改服务器返回内容总结简介Charles 是在 Mac 下常用的网络封包截取工具,在做 移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来.

2022-04-14 12:58:17 210

原创 java中的引用

背景最近在研究ThreadLocal中发现最终存储的ThreadLocalMap中的key为弱引用,因此来分析下使用弱引用的原因实验引用链为 //list =>> person1因此在GC的时候 list还强引用三个对象,导致三个person不会被gc释放掉 @Test public void test2() { //list =>> person1 Person person1 = new Person();

2022-03-09 10:38:35 310

转载 Elasticsearch分词器

内置分词器、中文分词器这篇博客主要讲:分词器概念、ES内置分词器、ES中文分词器。一、分词器概念1、Analysis 和 AnalyzerAnalysis: 文本分析是把全文本转换一系列单词(term/token)的过程,也叫分词。Analysis是通过Analyzer来实现的。当一个文档被索引时,每个Field都可能会创建一个倒排索引(Mapping可以设置不索引该Field)。倒排索引的过程就是将文档通过Analyzer分成一个一个的Term,每一个Term都指向包含这个Term的文档集合。

2022-03-06 13:59:31 591

原创 mysql RR级别下可重复读测试

以下测试数据都是在RR隔离级别下情况1事务A 先执行START TRANSACTION;select * from t where id=1;SELECT SLEEP(10);update t set value=value+1 where id=1;select * from t where id=1;COMMIT;事务B 后执行START TRANSACTION;update t set value=value+1 where id=1;COMMIT;执行流

2022-02-18 15:07:39 606

原创 prometheus全局配置

全局配置global:默认抓取周期,可用单位ms、smhdwy #设置每15s采集数据一次,默认1分钟[ scrape_interval: | default = 1m ]默认抓取超时[ scrape_timeout: | default = 10s ]估算规则的默认周期 # 每15秒计算一次规则。默认1分钟[ evaluation_interval: | default = 1m ]和外部系统(例如AlertManager)通信时为时间序列或者警情(Alert)强制添加的标签列表e

2022-02-13 16:37:21 1581

原创 cloud-alibaba的nacos坑

前置条件: <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>2.2.1.RELEASE</version> </dependency>

2022-02-13 16:32:28 419

原创 spring嵌套事务导致rollback-only

org.springframework.transaction.UnexpectedRollbackException: Transaction silently rolled back because it has been marked as rollback-only背景及分析原因:进行保存操作并开启事务 T11.1 进行保存A1.2 进行保存B 采用mybatisplus的批量保存(注意批量保存会开启事务T2 因为默认传播行为Propagation.REQUIRED所以把T2加入T1).

2021-12-16 14:35:33 2060

转载 线程池分析

线程池分析

2021-12-15 18:48:06 183

转载 jvm堆外内存分配与释放

前些日子遇到了一个堆外内存泄漏的问题,因为对Java的堆外内存不熟悉,排查了很久,于是这两天特意研究了一下Java的堆外内存的分配与释放原理。在我目前的接触到的Java中分配直接内存主要有如下三种方式,这篇文章也主要就这三种方式做一些分析:Unsafe.allocateMemory()ByteBuffer.allocateDirect()native方法Unsafe类Java提供了Unsafe类用来进行直接内存的分配与释放public native long allocateMemory(

2021-07-01 18:39:37 1299

原创 React基础原理

React原理揭秘目标能够说出React组件的更新机制能够对组件进行性能优化能够说出虚拟DOM和DIff算法组件更新机制setState() 的两个作用修改state更新组件过程:父组件重新渲染时,也会重新渲染子组件,但只会渲染当前组件子树(当前组件以其所有子组件)组件性能优化减轻state减轻state:只存储跟组件渲染相关的数据(比如:count/ 列表数据 /loading等)注意:不用做渲染的数据不要放在state中对于这种需要在多个方法中用到的数

2021-06-26 10:40:48 456

原创 react使用

参数效验以及默认值参考文档react参数效验安装效验yarn add prop-types导入包import PropTypes from 'prop-types'

2021-06-25 09:45:56 63

原创 cas分布式部署

随着用户量的上升,单机的cas服务肯定是不行的,因此需要分布式来部署多台,要满足分布式部署,需要满足下面两个条件:1、采用统一的ticket存取策略,所有ticket的操作都从中央缓存redis中存取。2、采用session共享,tomcat的session的存取都从中央缓存redis中存取。(这一步可省略,我是将验证码放到了session中所以做session共享)第一步:redis存储ticket参考文档https://apereo.github.io/cas/5.3.x/installati

2021-06-13 18:15:54 593

原创 cas 配置相关

默认配置### CAS Cloud Bus Configuration#spring.cloud.bus.enabled=false# Indicates that systemPropertiesOverride can be used.# Set to false to prevent users from changing the default accidentally. Default true.spring.cloud.config.allow-override=true#

2021-06-13 16:01:58 308 1

原创 cas服务端动态servers

引入pom<dependency> <groupId>org.apereo.cas</groupId> <artifactId>cas-server-support-jpa-service-registry</artifactId> <version>${cas.version}</version></dependency><dependency> <gro

2021-06-13 15:55:00 531 1

转载 Postgres绿色版本安装

Postgres绿色版本安装 windows虽然PostgreSQL是为类UNIX平台开发的,但它却是可以移植的。从7.1版本开始,PostgreSQL可以编译安装和作为一个PostgreSQL服务器运行在Windows NT 4,2000,XP和Server 2003中。从8.0版本开始,已经有了Windows本地版本了,为服务端和客户端提供了Windows的安装程序。 PostgreSQL的Windows安装包包括:PostgreSQL serverpgAdmin,一个动图形化工具,用来维护和管

2021-06-10 14:52:52 733

原创 spel表达式

Spring表达式语言(SpEL)支持许多功能,您可以使用此特殊的“ ExpressionParser ”接口测试那些表达式功能。这是两个代码段,展示了使用Spring EL的基本用法。SpEL计算文字字符串表达式。ExpressionParser parser = new SpelExpressionParser();Expression exp = parser.parseExpression("'put spel expression here'");String msg = exp.get

2021-05-31 09:33:59 174

原创 java正则的使用

java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类:Pattern和Matcher Pattern 一个Pattern是一个正则表达式经编译后的表现模式。 Matcher 一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查。 首先一个Pattern实例订制了一个所用语法与PERL的类似的正则表达式经编译后的模式,然后一个Matcher实例在这个给定的Pattern实例的模式控制下进行字符串的匹配工作。以下我们

2021-05-30 20:31:14 1881 1

原创 Security+Thymeleaf整合

官方地址版本介绍演示demohtml界面<html xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4"><head> <meta charset="UTF-8"/> <title>Title</title></head><body

2021-05-13 08:31:30 827 1

原创 kafka安装测试

linux安装kafkaZookeeper(单机)安装下载wget -P /opt/ https://mirrors.huaweicloud.com/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz解压tar -zxvf zookeeper-3.4.10.tar.gz重命名mv zookeeper-3.4.10 zookeeper修改zoo.cfg复制文件cp /opt/zookeeper/conf/

2021-05-12 08:54:36 101

原创 jenkins权限配置

Role Strategy Plugin插件可以对构建的项目进行授权管理,让不同的用户管理不同的项目,将测试和生产环境分开。具体配置方法如下(操作需要管理员用户权限)。Jenkins版本:1.6471、插件安装插件名称:Role-based Authorization Strategy安装过程(略)安装成功后在插件管理已安装的插件中可以查看得到:2、选择授权策略依次选择->系统管理->Configure Global Security->Role-Based Strate

2021-05-06 20:51:55 592

原创 Mybatis注意事项

在mybatis中,使用flag为string类型传入,其值也是“1”,但是这个等式的返回结果是false最后发现mybatis将’1’解析为char类型,所有不相等可将改为或者这个误区在使用mybatis好多年都没有发现,所以尽量不要使用单字符的String字符串来进行比较mybatis是用OGNL表达式来解析的,在OGNL的表达式中,单引号里单个字符会被解析成char类型(多个字符是可以的),java是强类型的,char 和一个string 会导致不等...

2021-04-29 09:35:07 150

转载 keepalived+Nginx高可用集群

Keepalived+Nginx 高可用集群(主从模式)集群架构图:说明:Keepalived机器同样是nginx负载均衡器。1)实验环境准备(此处都是使用的centos7系统)# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)在所有节点上面进行配置# systemctl stop firewalld //关闭防火墙# sed -i 's/^SELINUX=.*/SELINUX=disabled/

2021-04-16 12:36:16 307

原创 MinIO Client客户端使用

安装文档地址:https://docs.min.io/基本上MinIO服务器和客户端支持在很多系统上安装,比如Windows、macOS等,这里主要说Linux系统。1、安装MinIO Clientwget https://dl.min.io/client/mc/release/linux-amd64/mc -P /usr/local/bin/chmod +x /usr/local/bin/mc2、添加云存储如需添加 MinIO云存储,则需要在另一台服务器安装MinIO服务,教程查看 -&g

2021-04-12 19:58:34 3732

原创 Bean三级缓存

一、核心步骤提前引用进行动态代理后置处理器进行动态代理二、具体步骤1.获取beanAbstractBeanFactory#doGetBean2.第一次去单例池查询bean最终调用:DefaultSingletonBeanRegistry#getSingleton(java.lang.String, boolean)3.获取不到bean 创建BeanAbstractAutowireCapableBeanFactory#createBean)4.创建bea

2021-04-11 15:58:42 597 2

原创 Jenkins远程服务器部署

前提:配置好jenkins的maven git java在jenkins插件管理中安装插件Publish Over SSH配置远程服务器连接信息 Manage Jenkins =》Configuration System ,两种方式(密码或者密钥)生成密钥密钥生成方式,在远程目标服务器上生成输入命令: ssh-keygen ,按照提示一直Enter键到底,按到如图所示为止在 .ssh 目录下会生成私钥和公钥复制公钥改名authorized_keys 命令:cp id_.

2021-03-31 18:30:08 305

原创 Mysql锁

mysql死锁在并发系统中不同线程出现循环资源依赖,涉及的线程都在等待别的线程释放资源时,就会导致这几个线程都进入无限等待的状态,称为死锁事务A在等待事务B释放id=2的行锁,而事务B在等待事务A释放id=1的行锁。事务A和事务B在互相等待对方的资源释放,就是进入了死锁状态。当出现死锁以后,有两种策略:一种策略是,直接进入等待,直到超时。这个超时时间可以通过参数innodb_lock_timeout来设置另一种策略是,发起死锁检测,发现死锁后,主动回滚死锁链条中的某一个事务,让其他事务得以执

2021-03-28 19:30:11 60

原创 jenkins安装配置

系统环境:CentOS 7.5 1804IP:192.168.1.3关闭selinux、firewalldjenkins war包:下载地址一、安装tomcat以及nginx1.通过yum安装tomcat、nginxyum install -y tomcat nginx#nginx需要事先配置好epel源#elep源配置方法:wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.rep

2021-03-25 16:35:56 78

原创 宝塔操作

可能是出于安全的考虑, 宝塔面板7不允许MySQL的root用户远程连接; 但对于建立的每个数据库, 可以以各自的MySQL用户名开启远程登录如何让MySQL的root可以远程登录呢? 方法如下Step1 用ssh连接服务器, 用root本地登录MySQLStep2 在MySQL命令行输入以下指令GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的MySQL的root的密码'flush privileges;...

2021-03-17 19:40:59 71

原创 gitlab备份、恢复、迁移

注意 gitlab版本一定要gitlab/gitlab-ee:12.5.0-ee.0gitlab迁移迁移的整体思路是:1、在新服务器上安装相同版本的gitlab2、将备份生成的备份文件发送到新服务器的相同目录下这里在12.5.0-ee.0`的机器上安装了相同版本的gitlab并能正常运行使用1. docker获取gitlab镜像docker pull gitlab/gitlab-ee:12.5.0-ee.02. 创建容器docker run -d --name gitlab \-p 7

2021-03-17 09:03:43 178

原创 docker容器迁移

把容器从一台服务器迁移到另一台服务器,分以下五个步骤容器打包成镜像 # docker commit -m “” -a “” [CONTAINER ID] [新的镜像名] ,其中-m和-a是可选参数,意思分别是描述和作者导出镜像 # docker save -o [新的镜像名.tar] [新的镜像名]拷贝镜像到目标服务器 # scp src dst导入镜像 # sudo docker load -i [新的镜像名.tar]运行容器 #

2021-03-16 10:27:26 209

原创 mybatisPlus配置

参考文档导入依赖<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.2</version> </dependency>配置文件#mybatismybatis

2021-03-15 09:01:36 116

原创 docker创建tomcat和mysql容器

安装tomcat镜像docker pull tomcat创建tomcat容器并进行目录挂载docker run -d --name tomcat -p 80:8080 -v /mydata/tomcat/webapps/:/usr/local/tomcat/webapps/ -v /mydata/tomcat/conf/:/usr/local/tomcat/conf/ -v /mydata/tomcat/logs/:/usr/local/tomcat/logs/ tomcat...

2021-03-15 08:22:05 145

原创 idea使用maven创建web项目并使用mybatis

创建项目配置mybatis <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus</artifactId> <version>3.3.1</version> </dependency>使用mybatis...

2021-03-03 08:40:13 268 2

原创 面试笔记

java类的执行顺序父类静态属性(成员变量)>父类静态代码块>子类静态属性>子类静态代码块>父类非静态属性>父类非静态代码块>父类构造器>子类非静态属性>子类非静态代码块>子类构造器...

2020-12-07 16:17:58 74

原创 动态规划

2020-12-07 13:42:43 67

原创 acvitivi整合(3)

整合springmaven<?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" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apa

2020-11-30 20:26:45 250

原创 maven使用

文章目录一、maven仓库配置1. repositories作用1)repositories和mirror关联2)maven仓库配置的其他选项2. mirror作用一、maven仓库配置仓库优先级为:本地仓库(localRepositories) > profile中的repositories仓库 > POM > mirrors全局仓库1. repositories作用<repositories> <repository> <id>a

2020-11-30 09:47:20 352

原创 acvitivi笔记(2)

文章目录一、个人任务1. 分配任务负责人2. 表达式分配1)UEL-value 定义如下:2)UEL-method方式如下:3)使用流程变量分配任务3. 监听器分配二、流程变量1. 启动流程时设置2. 任务办理时设置3. 通过当前流程实例设置4. 通过当前任务设置一、个人任务1. 分配任务负责人在进行业务流程建模时指定固定的任务负责人,在 properties 视图中,填写 Assignee 项为任务负责人。由于固定分配方式,任务只管一步一步执行任务,执行到每一个任务将按照 bpmn 的配置去分

2020-11-29 16:15:31 490

原创 Activiti使用笔记(1)

文章目录一、准备工作二、介绍与配置1. 表介绍2. Activiti 服务架构图3. 配置4. Service 总览各种service介绍1 RepositoryService2 RuntimeService3 TaskService4 HistoryService5 ManagementService三、使用流程定义流程部署启动实例查询任务处理任务一、准备工作二、介绍与配置1. 表介绍Activiti 的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的 API 对应

2020-11-28 17:28:10 383 1

原创 Mysql的三维查询结果

case when 和聚合函数使用SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for test-- ----------------------------DROP TABLE IF EXISTS `test`;CREATE TABLE `test` ( `课节` int(255) NULL DEFAULT NULL, `星期` var

2020-11-25 16:46:42 515

空空如也

空空如也

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

TA关注的人

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