Fork me on GitHub

Java 14的新增功能

Java 14 reached General Availability on 17 March 2020, download Java 14 here. Java 14 features. JEP 305: Pattern Matching for instanceof (Preview) (developer feature) JEP 343: Packaging Tool (Incu...

RocketMQ--水平扩展及负载均衡详解

RocketMQ--水平扩展及负载均衡详解

RocketMQ是一个分布式具有高度可扩展性的消息中间件。本文旨在探索在broker端,生产端,以及消费端是如何做到横向扩展以及负载均衡的。 Broker端水平扩展Broker负载均衡Broker是以group为单位提供服务。一个group里面分master和slave,master和slave存储的数据一样,slave从master同步数据(同步双写或异步复制看配置)。 通过nameser...

JVM之调优

JVM之调优

JVM 调优概述性能定义 吞吐量 - 指不考虑 GC 引起的停顿时间或内存消耗,垃圾收集器能支撑应用达到的最高性能指标。 延迟 - 其度量标准是缩短由于垃圾啊收集引起的停顿时间或者完全消除因垃圾收集所引起的停顿,避免应用运行时发生抖动。 内存占用 - 垃圾收集器流畅运行所需要的内存数量。 调优原则GC 优化的两个目标: 将进入老年代的对象数量降到最低 减少 Full GC 的执行时间 ...

maven-metadata.xml使用

maven-metadata.xml使用最近在开发过程中,发现工程中的一些包有问题,主要分为以下两种: 1、最新包(版本号未变,只是被更新了)少了一个方法 2、jar包被更新了,但是无法更新最新的包下来 首先先确定一下更新包会导致更新哪些文件?下面都以a-1.0.1-snapshot.jar包为例 当你更新了a-snapshot.jar的内容,并上传到maven服务器时,会更新一个元数据文件...

Maven仓库理解和优先级

Maven仓库理解和优先级

前言使用 maven 也有一段时间了,有时候在配置 repository,mirror,profile的时候,总会导致 jar 拉取不到。所以认真的分析了 maven 获取 jar 包时候的优先级。 Maven 仓库的分类仓库分类:本地仓库和远程仓库。Maven根据坐标寻找构件的时候,它先会查看本地仓库,如果本地仓库存在构件,则直接使用;如果没有,则从远程仓库查找,找到后,下载到本地。 1)...

Hexo博客之文章置顶+置顶标签

博文置顶一种方法是手动对相关文件进行修改,具体可参考这篇文章。 另一种方法就是,目前已经有修改后支持置顶的仓库,可以直接用以下命令安装。 12$ npm uninstall hexo-generator-index --save$ npm install hexo-generator-index-pin-top --save --registry=https://registry.npm.t...

SpringBoot配置logback-spring

几种常见的日志 Log4j:是最早的日志框架,是apach旗下的,可以单独使用,也可配合日志框架JCL使用; Log4j2:apach旗下的关于log4j的升级版; Logback:是基于slf4j接口实现的一套日志框架组件;(Logback是由log4j创始人设计的又一个开源日志组件。) JUL(java utillog):仿log4j实现的日志框架,是sun旗下的,(也就是在我们普遍使用...

Springboot2.x处理404、500等异常

404错误1404错误是不经过Controller的,所以使用@ControllerAdvice或@RestControllerAdvice无法获取到404错误 springboot2处理404错误的两种方式 第一种:直接配置12#出现错误时, 直接抛出异常spring.mvc.throw-exception-if-no-handler-found=true 这种方式不太适用实际开...

SpringBoot源码系列

SpringBoot源码SpringBoot到底run了什么 SpringBoot源码解析创建SpringApplication对象实例 SpringBoot健康检查实现原理 SpringBoot之Tomcat自动配置 SpringBoot原理分析 - 自动装配

RocketMQ--权限控制

1. 权限控制 1.1 权限控制特性介绍权限控制(ACL)主要为RocketMQ提供Topic资源级别的用户访问控制。用户在使用RocketMQ权限控制时,可以在Client客户端通过 RPCHook注入AccessKey和SecretKey签名;同时,将对应的权限控制属性(包括Topic访问权限、IP白名单和AccessKey和SecretKey签名等)设置在distribution/co...