自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【手撸RPC框架】SpringBoot+Netty4实现RPC框架

【手撸RPC框架】SpringBoot+Netty4实现RPC框架线程模型Netty高性能架构设计简单了解React线程模型,参考文章【五分钟快速理解 Reactor 模型】举例说明:Reactor的三种线程模型线程模型1:传统阻塞 I/O 服务模型模型特点:采用阻塞IO模式获取输入的数据每个链接都需要独立的线程完成数据的输入,业务处理、数据返回。问题分析:当并发数很大,就会创建大量的线程,占用很大系统资源连接创建后,如果当前线程暂时没有数据可读,该线程会阻塞在read操作,造

2021-05-08 22:55:21 530 3

原创 PMP知识领域

·十大知识领域整合-项目整合管理识别、定义、组合、统一和协调个项目管理过程组的各种过程和活动而展开的活动与过程。整合:统一、合并、沟通和简历联系;贯穿项目始终七个过程组一、制定项目章程(启动)执行一次编写一份正式批准的项目,授权项目经理使用组织资源的文件过程。里面描述高层级的期望作用:明确项目与组织战略目标之间的直接联系确立项目的正式地位展示组织对项目的承诺解读:明确定义项目开始和项目边界(边界模糊)项目章程一旦被批准,就标志着项目正式启动高层对项目的支持输

2021-01-15 22:25:12 247

原创 PMP基本概念

商业文件:商业论证和效益管理计划,可以找到关于项目目标以及项目对业务目标的贡献的相关信息商业论证:经批准的商业论证或类似文件是最常用语指定项目章程的商业文件效益成本分析:是项目启动时考虑项目是否值得做的分析方法效益管理计划:项目效益管理计划描述了项目实现效益的方式和时间,以及应制定的效益衡量机制。项目效益指为发起组织和项目预期受益方创造价值的行动、行为、产品、服务或成果的结果。项目生命周期早期应确定目标效益,并据此制定效益管理计划。它描述了效益的关键要素,可能包括(但不限于)记录以下内容:

2021-01-15 13:04:12 523

原创 Jenkins打Docker镜像推送到私有仓库

Jenkins打Docker镜像推送到私有仓库因为我的Jenkins是安装在群晖NAS中的docker,所以我这边就以Docker安装Jenkins为例echo '================Docker开始=============='echo '================登陆阿里云私有镜像仓库=============='# 定义镜像名称IMAGE_NAME="scm"# 查看当前目录pwd# 进入web目录Docke

2020-09-23 21:43:52 907

原创 Jenkins集成SonarQube

Jenkins 集成 SonarQube Scanner1. 安装Jenkins下载安装包,这里我们下载war包:https://jenkins.io/download/运行jenkins.war的方式有两种:第一种:将其放到tomcat中运行(放到webapps目录下,启动tomcat)第二种:直接执行 java -jar jenkins.war --httpPort=8080第三种:Docker方式部署:#查看jenkins版本命令docker search jenkins#拉取镜像命

2020-09-22 19:44:38 283

原创 redis命令和RedisTemplate操作对应表

redis命令和RedisTemplate操作对应表redisTemplate.opsForValue();//操作字符串redisTemplate.opsForHash();//操作hashredisTemplate.opsForedisTemplateet();//操作setredisTemplate.opsForList();//操作listredisTemplate.opsForZSet();//操作有序setKey相关的Redis命令RedisTemplate redis

2020-09-21 11:52:35 744

原创 MySQL数据和索引占用空间查询

MySQL数据和索引占用空间查询查询所有数据库占用磁盘空间大小的SQL语句SELECT table_schema, -- 数据库名称 concat( TRUNCATE ( sum( data_length ) / 1024 / 1024, 2 ), 'MB' ) AS data_size, -- 数据占用空间 concat( TRUNCATE ( sum( index_length ) / 1024 / 1024, 2 ), 'MB' ) AS i

2020-08-26 23:26:43 709

原创 SpringBoot2 整合 Swagger2文档 使用BootstrapUI页面

SpringBoot2 整合 Swagger2SpringBoot整合三板斧第一步、引入pom<dependency> <groupId>com.spring4all</groupId> <artifactId>swagger-spring-boot-starter</artifactId> <version>1.9.0.RELEASE</version></dependency><d

2020-07-31 00:43:39 1508

原创 【SpringBoot】 中时间类型 序列化、反序列化、格式处理

【SpringBoot】 中时间类型 序列化、反序列化、格式处理Dateyml全局配置spring: jackson: time-zone: GMT+8 date-format: yyyy-MM-dd HH:mm:ss #配置POST请求Body中Date时间类型序列化格式处理,并返回请求参数类型转换/** * 时间Date转换 * 配置GET请求,Query查询Date时间类型参数转换 */@Componentpublic class DateConverter

2020-07-18 15:26:21 1464

原创 【SpringCloud】Gateway 配置全局过滤器获取请求参数和响应值

【SpringCloud】Gateway 配置全局过滤器获取请求参数和响应值实现Ordered接口getOrder()方法,数值越小越靠前执行,记得这一点就OK了。获取请求参数RequestBody@Component@Slf4j@AllArgsConstructorpublic class HttpRequestFilter implements GlobalFilter, Ordered { @Override public Mono<Void> filte

2020-07-02 20:51:18 4242

原创 【环境安装】Docker安装

【环境安装】Docker安装CentoOS-7安装步骤:1、卸载已经安装的Dockersudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \

2020-06-16 23:11:22 735

原创 构建自己的jar包上传至Mvaen中央仓库和版本更新

构建自己的jar包上传至Mvaen中央仓库和版本更新一直羡慕别人制造轮子,开源项目,供别人使用;我也想这样,可以自己才疏学浅,本次就将自己写小工具上传到Maven的中央仓库。一步一步详细教程演示如下:开始要注意这个几个Maven相关地址:工单管理:https://issues.sonatype.org就是申请上传资格和groupId 的地方,注册账号、创建和管理issue,Jar包的发布是以解决issue的方式起步的构件仓库 : https://oss.sonatype.org/#we

2020-06-11 11:07:35 835

原创 JAVA自定义注解

JAVA自定义注解注解概念注解是Java SE 5.0版本开始引入的概念,它是对java源代码的说明,是一种元数据(描述数据的数据)。注解和注释的不同注释 注释是对代码的说明,给代码的读者看,便于帮读者梳理业务逻辑;在程序代码中经常看到的以@ 开头的大部分是注解;注解注解也是对代码的说明,需要配合工具(解析它的代码)使用,参与代码的编译,给应用程序看的;注解分类注解以@开头,我们会在应用程序中见到各种各样的注解,比如 @Autowired,@Service,@Controller

2020-06-01 10:26:41 604

原创 6-JVM常用工具和优化

JVM 常用工具和优化JDK 自带的jconsolejvisualvm三方的工具arthas调优关注点(内存、GC):内存MATXElephant在线:perfmaGC拿到GC日志,分析GC日志(吞吐量,停顿时间,垃圾回收次数;这三个是评判垃圾收集器好坏的标准)本地:GCViewer在线:gceasy.io在什么情况下调优体现系统性能的参考因素首先我们需要知道系统当前的运行状况,也就是系统的性能好坏,才能判断是否需要调优。如果系统的响应时间很短,计算机的资源使用也

2020-05-20 12:57:42 804

原创 5-JVM常用的命令

JVM常用的命令jps :基础工具查看JAVA进程PID。jps 命令用来查看所有 Java 进程,每一行就是一个 Java 进程信息。jps 仅查找当前用户的 Java 进程,而不是当前系统中的所有进程,要显示其他用户的还只能用 ps 命令。jps 常用参数jps -l 如果是以 class 方式运行,会显示进程的主类 main.class 的全名,如果是以 jar 包方式运行的,就会输出 jar 包的完整路径名第一列的数字就是进程的 pidjps -v 输出传递给 JVM 的参数,

2020-05-18 15:21:38 798

原创 4-JVM 参数

JVM 参数标准参数:不会随着jdk版本的变化而变化。比如:java -version、java -help非标准参数:随着JDK版本的变化而变化。-X参数【用的较少】非标准参数,也就是在JDK各个版本中可能会变动# 修改执行方式# compiled 编译执行方式,第一次使用就编译成本地代码java -Xcomp -version# interpreted 解释执行方式java -Xini -version# mixed 默认的混合执行方式,混合模式,JVM自己来决定java -Xm

2020-05-14 21:14:21 689

原创 3-JVM垃圾回收算法和垃圾收集器

垃圾回收算法和垃圾收集器1.什么是垃圾回收对于内存当中无用的对象进行回收,如何去判断一个对象是不是无用的对象。引用计数法:每个对象中都会存储一个引用计数,每增加一个引用就+1,消失一个引用就-1。当引用计数器为0时就会判断该对象是垃圾,进行回收。但是这样会有一个弊端。就是当有两个对象互相引用时,那么这两个对象的引用计数器都不为0,那么就不会对其进行回收。可达性分析:判断某个对象是否可到达。有两种方式判断是否可到达:直接引用(上帝视角GC Roots):就是虚拟机栈帧中的局部或本地变量表、

2020-05-11 14:05:32 687

原创 2-JVM内存结构

内存模型方法区JDK1.7 之前包含1.7 将方法区称为 Perm Space 永久代JDK1.8之后包含1.8 将方法区称为 MetaSpace 元空间。堆(分配内存会大一些)分配对象、new 实例。堆内存当中划分为两个区域:老年代和新生代。如何去划分老年代和新生代,根据对象的年龄。这个年龄是一个对象经过一次GC,如果还存在的话,年龄就加一。当年龄超过默认值(15)时,...

2020-05-07 11:57:29 643

原创 1-JVM基础

1-JVM基础java源码文件,通过javac 转换成class文件。找到.java文件词法分析器tokens流语法分析器语义分析器字节码生成器转成.class文件装载根据全限定路径名寻找class文件,转换成二进制流。通过ClassLoder.load(String name)(类装载器,name:全限定路径名)不同路径下的类,设置不同路径的类装载器。Boots...

2020-04-25 14:36:45 662

原创 MySQL数据库设计规范

MySQL数据库设计规范转载原文:https://github.com/jly8866/archer/blob/master/src/docs/mysql_db_design_guide.md#%E7%9B%AE%E5%BD%95目录1. 规范背景与目的 2. 设计规范2.1 数据库设计 2.1.1 库名 2.1.2 表结构 2.1.3 列数据类型优化...

2020-04-16 16:03:34 805

原创 MySQL 学习笔记

MySQL 学习笔记数据库操作-- 查看当前数据库 SELECT DATABASE();-- 显示当前时间、用户名、数据库版本 SELECT now(), user(), version();-- 创建库 CREATE DATABASE[ IF NOT EXISTS] 数据库名 数据库选项 数据库选项: CHARACTER SET chars...

2020-04-06 18:51:10 656

原创 JSON字符串带BOM头"ufeff"

调用三方接口返回值JSON字符串带BOM头"\ufeff",JSON解析死活报错。我是用SpringBoot的RestTemplate调用三方接口的,一开始返回值我是用对象接收返回值,发现一直报错,我以为是RestTemplate的接收转换有问题,就将返回值换成了String类型去接收。接收到字符串后再转JSON、JSON字符串解析死活报错。接口返回值日志如下:202...

2020-03-31 22:03:28 1054

原创 SpringBoot2 整合 Swagger2

SpringBoot2 整合 Swagger2SpringBoot整合三板斧第一步、引入pom<dependency> <groupId>com.spring4all</groupId> <artifactId>swagger-spring-boot-starter</artifactId> <version&gt...

2020-03-28 21:08:07 884

原创 Mysql5.7及以上版本 ONLY_FULL_GROUP_BY报错

近期在开发过程中,因为项目开发环境连接的mysql数据库是阿里云的数据库,而阿里云的数据库版本是5.6的。而测试环境的mysql是自己安装的5.7。因此在开发过程中有小伙伴不注意写了有关group by的sql语句。在开发环境中运行是正常的,而到了测试环境中就发现了异常。原因分析:MySQL5.7版本默认设置了 mysql sql_mode = only_full_group_by 属性,导...

2020-03-25 23:35:27 886

原创 SpringBoot2 线程池的定义和使用

SpringBoot2 线程池的定义和使用定义线程池@Slf4j@EnableAsync@Configurationpublic class AsyncExecutorConfig implements AsyncConfigurer { @Bean public ThreadPoolTaskExecutor asyncServiceExecutor() { ...

2020-03-25 20:36:29 1113 1

原创 SpringBoot Shiro 配置自定义密码加密器

SpringBoot Shiro 配置自定义密码加密器自定义认证加密方式/** * 自定义认证加密方式 */public static class CustomCredentialsMatcher extends SimpleCredentialsMatcher { @Override public boolean doCredentialsMatch(Authentic...

2020-03-24 20:11:11 1510

原创 SpringBoot Druid 配置详解

SpringBoot Druid 配置详解spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://${url}:${port}/${数据库名}?useUnicode=true&...

2020-03-24 20:08:16 845

原创 SpringBoot Druid 配置详解

SpringBoot Druid 配置详解spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver url: jdbc:mysql://${url}:${port}/${数据库名}?useUnicode=true&...

2020-03-24 15:04:47 2038

原创 SpringBoot AOP处理请求日志处理打印

SpringBoot AOP处理请求日志处理打印@Slf4j@Aspect@Configurationpublic class RequestAopConfig { @Autowired private HttpServletRequest request; private static final ThreadLocal<Long> START_T...

2020-03-23 22:22:52 748

原创 SpringBoot 全局异常处理

SpringBoot 全局异常处理@Slf4j@RestControllerAdvicepublic class ExceptionController { /** * 校验错误拦截处理 * * @param ex 异常 * @return 返回值 * StringBuilder sb = new StringBuilder();...

2020-03-22 21:19:20 802

原创 JAVA 转换 树结构数据

JAVA 转换 树结构数据第一步:引入fastjson<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>${fastjson.version}</version>...

2020-03-22 20:31:23 958

原创 Mysql 查询天、周,月,季度、年的数据

Mysql 查询天、周,月,季度、年的数据今天select * from 表名 where to_days(时间字段名) = to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1近7天SELECT * FROM 表名 where DATE_SUB(CURDATE(), IN...

2020-03-22 20:27:21 734

原创 SpringBoot2整合Redis缓存

遵循SpringBoot三板斧第一步加依赖<!-- Redis --><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></d...

2020-03-02 19:41:43 745

原创 SpringBoot2整合Redis多数据源

配置文件属性spring: redis: database: 1 host: 192.168.50.144 port: 6379 password: timeout: 600 #Springboot2.0 不能设置为0 lettuce: pool: max-active: 50 max-wait: -...

2020-03-02 17:36:15 1192

原创 Spring Cloud Eureka整合使用和配置

遵循SpringBoot三板斧服务端第一步加依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId></dependency&g...

2019-10-22 00:35:27 392

原创 Spring Cloud Feign 性能优化

1、替换 tomcat首先,把 tomcat 换成 undertow,这个性能在 Jmeter 的压测下,undertow 比 tomcat 高一倍第一步,pom 修改去除tomcat<dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin...

2019-10-14 21:05:11 984

原创 Spring Cloud Feign 总结问题,注意点,性能调优,切换okhttp3

Feign常见问题总结FeignClient接口如使用@PathVariable ,必须指定value属性//在一些早期版本中, @PathVariable("id") 中的 "id" ,也就是value属性,必须指定,不能省略。@FeignClient("microservice-provider-user")public interface UserFeignClient { @R...

2019-10-14 20:31:20 2591

原创 Spring Cloud Feign 组成和配置

Feign的组成接口作用默认值Feign.BuilderFeign的入口Feign.BuilderClientFeign底层用什么去请求和Ribbon配合时:LoadBalancerFeignClient 不和Ribbon配合时:Fgien.Client.DefaultContract契约,注解支持SpringMVCContractEncoder解码...

2019-10-11 23:24:00 1066

原创 SpringCloud Ribbon组成和负载均衡规则

Ribbon饥饿加载默认情况下Ribbon是懒加载的。当服务起动好之后,第一次请求是非常慢的,第二次之后就快很多。解决方式:开启饥饿加载ribbon: eager-load: enabled: true #开启饥饿加载 clients: server-1,server-2,server-3 #为哪些服务的名称开启饥饿加载,多个用逗号分隔Ribbon组成接口作用...

2019-10-10 23:30:27 889

原创 Spring Cloud 版本控制

正常版本<groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId><version>2.1.7.RELEASE</version><!--语义化版本--><!--...

2019-10-10 14:44:18 1132

空空如也

空空如也

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

TA关注的人

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