自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JIRA工作流节点状态变化前弹出窗口填写日志或者备注

一、定义弹出框的页面1、进入问题管理页面,并点添加屏幕2、自定义弹出页面的名称3、点击添加后会进入配置页面,配置页面所包含的字段二、在工作流中配置页面1、进入工作流编辑页面双击需要添加弹出页面的流程2、在弹出框中页面栏选择刚刚配置的页面3、保存后,发布工作流即可,此时就可以在相应流程中弹出页面了4、在备注栏填写相关说明后,点退回不解决流程,即可在最下面活动日志的注释中看到内容...

2021-05-24 16:47:10 1270

原创 利用cglib的BeanCopier用原型模式以及享元模式完成对象的拷贝

实际上对象拷贝的工具有很多种,比如apache BeanUtils、apache PropertyUtils、spring BeanUtils。在一些业务代码中现在经常看到的都是spring BeanUtils来进行对象拷贝。大部分情况下来说已经足够了,但如果居于性能考虑,以上几种工具都是利用反射的原理来完成的,性能相比cglib beanCopier利用动态代理实现稍差一筹,这里不去对比几种工具的性能,只展示BeanCopier如何进行使用。一、非cglib下的对象拷贝方式1、原型模式就是从一

2021-03-24 14:47:05 649

原创 centos8中zookeeper3.6.1集群部署与配置配置优化

一、前言zookeeper集群中,只有超过半数节点可用才能提供服务,所以节点最好是基数。例如有3个节点,其中一个节点运行出了故障,有两台是正常的,因为超过半数可以提供服务。如果有4个节点,其中有两个节点出故障,剩余2个节点不超过半数,不能提供服务,也就是4个节点也只能处理一个节点故障。二、部署zookeeper所需要的系统环境 1. 3台机器(可用虚拟机搞或者在同一台机器指定不同端口号) 192.168.198.128 192.168.198.129...

2021-03-24 05:28:39 995

原创 redis的数据类型以及使用场景

redis主要有5中数据类型:String、Hash、List、Set、Sorted Set一、StringString类型是属于redis中最基本的类型,可以认为String类型可以存储任意类型的数据,比如普通的字符串、图片、序列化对象等,每个key所存储的value最大为512M常用命令set key value [ex seconds] [px milliseconds]#设置指定的key的值(可以加ex 5表示过期时间5s)get key #获取指定的key的值mset ke

2021-03-24 05:28:25 144

原创 在centos8中下载和安装openJDK

一、下载1、openJDK的二进制包下载地址:http://jdk.java.net/2、选择版本后进入选择对应操作系统的二进制包下载二、centos8下安装openjdk111、解压:tar -zxvf openjdk-11+28_linux-x64_bin.tar.gz得到目录jdk-112、查看系统是否已经存在jdk并移除 #输入以下命令查询是否有jdk的安装信息 rpm -qa |grep java rpm...

2021-03-24 05:28:12 643

原创 vmware安装centos8网络配置并配置NAT子网(解决Unit network.service not found问题)

一、配置VMware的NAT子网首先需要配置VMware的NAT子网:菜单栏-》编辑-》虚拟网络编辑器1、配置子网IP和子网掩码,并取消DHCP自动分配IP,点击应用按钮2、点击NAT设置,设置子网网关,点击确定3、修改安装的虚拟机的网络配置使用NAT模式一、配置系统静态ip1、静态ip配置    因centos8中使用NM(Network Manager)管理网络,以前我们管用的network.service不再管用,但依然可通过/etc/syscon

2021-03-24 05:27:35 2772

原创 centos8中安装mysql8.0.21版本以及配置优化

一、下载解压安装包以及准备相关日志目录1、下载linux通用社区版mysql community server 8.0.21选择mysql社区版server选择对应系统版本的mysql下载可以通过以下地址直接下载:https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz2、解压并修改目录名称本次准备安装到/data目录,把下载好的文件直接上传到/data目录或者通

2021-03-23 08:51:12 1233

原创 居于redis + lua脚本实现的滑动窗口

一、前言我们常常使用滑动窗口实现限流操作,在单机时我们经常放在内存中实现,而在做全局接口限流时,我们除了可以通过查询接口调用记录外,还可以通过依赖redis实现的滑动窗口进行,比如限制1分钟可调用1000次,一小时可调用10000次。二、滑动窗口的基本要素和操作1、一个固定长度的循环队列2、每个时间片的时长,可以是按秒、分、时。。。3、每个时间窗口长度,由多个时间片组成一个时间窗口,也就是所需的一段时间4、当前时间的所在时间片的索引5、初始化循环队列的方法6、选择当前时间所在

2021-03-23 08:49:54 772

原创 nacos集群部署与配置

一、前言nacos是阿里开源的一个集服务发现与配置管理与一体的项目,可以帮我们微服务实现动态服务发现、服务配置、服务元数据及流量管理。本篇文章主要纪录nacos集群的搭建过程。nacos主要依赖环境为64位的jdk1.8+版本本次主要在三台虚拟机安装:server1:192.168.1.161、server2:192.168.1.162、server3:192.168.1.163二、下载、编译1、nacos项目自身相对较大,而受网络的影响从github上下载较慢,可以gitee进行下载

2021-03-23 08:48:24 2775

原创 mysql innodb存储引擎的sql查询、更新的执行过程

一、建立连接与查询1、应用程序与mysql服务端建立连接就需要用到驱动程序,在java应用程序里可通过mysql-connector-java驱动来进行连接,这个驱动会在底层与数据库进行网络连接,如我们在代码中常常会引入这个驱动包:<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version&

2021-03-23 08:46:21 487

原创 mysql的线上环境硬件配置推荐、性能压测方法以及结果分析

一、硬件配置与所能支持并发量一般我们说的负载,主要居于单台机器只部署应用或者mysql的情况,常常发现有些人在一台机器上部署了很多的应用,包括数据库也放在一起,发现某个应用配置完全没问题,但偶尔会有卡顿的情况,实际可能被其他应用占用了资源导致。1、通常情况下,线上环境应用部署在4核8G的机器上,而数据库应部署在8核16G或者16核32G,正常情况下单节点应用服务可支撑500左右的并发,当然还要根据请求的处理时长来计算,比如接口请求响应过慢就会导致并发降低2、在一个系统中,往往压力会集中在数据库上

2021-03-23 07:06:31 3305

原创 kafka分布式架构原理以及数据重复消费、数据丢失、消息顺序性、消息积压等的解决方案

一、kafka消息系统架构的变迁  kafka是一个分布式架构的系统,集群可以部署在多台机器上,每台机器可以启动一个或多个borker进程,每个broker进程是kafka集群中的一个节点,当创建topic时,可以把topic划分为一个或多个partition,每个partition存放在不同的broker上,且每个partition可以(生产者可以指定partition进行存储)存放所属topic的一部分数据。1.1、kafka0.8版本前的架构  在0.8版本前的架构如果某个broker宕机了,该

2021-03-23 07:01:33 801 1

原创 java内存模型(JMM)以及volatile变量、happens-before、as-if-serial相关规则说明

一、处理器与存储设备运算效率以及数据一致性1.1、处理器与存储设备运算速度差  在计算机中,绝大多数的任务处理都是处理器、内存、磁盘等配合完成,不可能单靠寄存器完成所有的任务。而这些硬件中,处理器的运行速度又是遥遥领先于内存、磁盘等的IO操作1.2、解决方案  为了解决处理器与内存的效率差的问题,现代计算机在处理器的每个内核多增加高速缓存(如下图)1.3、存在的问题  增加了高速缓存后就会存在处理器多个核间缓存一致性的问题,为了解决这个问题,处理器内核间都需要遵循一些一致性协议,如MSI/ME

2021-03-23 07:00:39 144

原创 redis线程模型以及高性能分析

前言  我们都知道redis的访问响应非常快,常常用redis来做缓存、消息队列、发布订阅等,支撑系统实现高性能、高并发。但redis是如何具有这样的能力的呢?一、redis的线程模型  redis是一个单线程的文件事件处理器,在redis的线程模型中,redis的文件事件处理器包含了五个部分的内容:多server socket、IO多路复用程序、socket事件队列、文件事件分派器、三种事件处理器(连接应答事件处理器、命令请求事件处理器、命令回复事件处理器),而redis之所以认为是单线程的,是因为

2021-03-23 06:59:38 91

原创 mysql根据父节点查询所有的子节点以及根据子节点往上查询所有父节点(普通sql语句查询)

一、初始化部门表结构、数据1、部门表结构CREATE TABLE `department` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '自增id', `name` varchar(255) NOT NULL COMMENT ' 部门名称', `parent_id` int NOT NULL COMMENT '父id', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLL

2021-03-23 06:54:21 1985

原创 redis的过期、内存淘汰策略以及所使用的算法

一、redis过期策略  当我们通过set命令保存某些数据的时候,可以指定过期时间,使缓存到时间后失效。但当redis中的key数量随着时间推移逐渐增长,我们常常发现某批量的key到时间应当过期删除了,但实际发现内存并没有得到释放,这就涉及到redis过期策略问题,redis的过期策略有两种:定期删除以及惰性删除。1、定期删除  (1)redis每隔100ms就会随机抽取一些设置了过期时间的key检测是否过期,如果过期了就删除掉。也就是说redis并不是每次都检查所有的有过期时间的key,那样会引发很

2021-03-23 06:52:41 173

空空如也

空空如也

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

TA关注的人

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