自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

耘田

格物致知,耕耘心田

  • 博客(331)
  • 收藏
  • 关注

原创 JVM参数调优——G1收集器

使用默认配置参数,(MaxGCPauseMillis=200)多个服务GC收集器从CMS转到G1效果都很好,GC耗时每分钟 大都在40ms以内,但是有个服务就与众不同了。触发mixedGC的老年代的占用率阈值 85%–>60% (experimentalVMOptions)G1收集器的出现除了提供可控的低延迟GC,解决历史收集器的一些弊病,同时还尽力简化调优参数。mixedGC中要收集的老年代区域占整个堆的百分比上限 10%–>20%默认值是Java堆的5% (experimental VM flag)

2023-09-21 19:17:42 796

原创 MySQL数据库集群瘦身实践

数据库集群过大,迁移备份慢,易产生慢查,且问题容易扩散,保持小而美是一个健康集群的重要标准。本文主要讲述了作者在MySQL数据库集群瘦身的一次重要实践。集群释放800+G,业务稳定运行两年无忧。

2023-08-18 15:54:42 180

原创 垃圾搜集器UseParallelGC

查看jdk支持的垃圾收集器有哪些?当前进程使用的垃圾收集器是什么?查看默认垃圾收集器详细信息命令通过新生代、老年代名字确定垃圾收集器更加准确的定位使用了哪些垃圾收集器一探究竟结果不尽人意使用参数-XX:+UseParallelOldGC使用参数 -XX:+UseParallelGC -XX:+UseParallelOldGC搜寻官方资料得知,UseParallelGC和UseParallelOldGC,在jdk8及之后,开启一个默认启用另一个。转而尝试G1

2023-08-08 18:03:56 286

原创 MySQL碎片清理

不指定ALGORITHM的情况下,如果alter语句支持 inplace,就使用inplace,否则就用copy。除了mysql官方的实现方式,业界也有一些知名开源工具解决大表的变更,gh-ost就是一例。锁表时间很短,几乎不影响业务读写,属于Online DDL。inplace 基于临时文件,锁表时间短,不易丢数据。copy 基于临时表,锁表时间长,容易丢数据。增量数据同步-by binLog。搜集相关知识,有人提供方案。所以整理碎片 直接执行即可。

2023-07-27 15:13:17 1098

原创 常用脚本命令sort head tail grep awk sed uniq

常用脚本命令sort head tail grep awk sed uniq

2023-03-27 18:21:25 381 1

原创 logback日志归档策略配置

logback日志归档策略配置

2023-03-27 17:45:42 1082

原创 数据推送方案要点因素

大批量数据推送屡见不鲜,今天讲讲数据推送中需要考量和注意的因素

2023-03-27 16:58:47 384

原创 Guava之RateLimiter如何限流

对本系统的保护。位于业务系统的最前面;对外部调用的并发控制。处于系统的底层;大部分系统聊的都是前者,今天我们聊聊后者。

2023-03-24 17:31:32 140

原创 平移数组ShiftedNumber查找

旋转平移数组的查找算法

2023-03-16 18:46:53 51

原创 二分查找BinarySearch

二分查找,高效易用,但边界问题常常让人犯愁。

2023-03-16 17:17:58 55

原创 OpenFeign问题汇总

OpenFeign常见问题:超时配置,Header设置不生效,UndeclaredThrowableException的产生原因,OKhttpClient 连接池的配置

2023-03-12 14:23:05 311

原创 OpenFeign调用产生UndeclaredThrowableException

OpenFeign调用综上,UndeclaredThrowableException 是动态代理类 在调用过程中,除了方法签名throws声明的异常类、RuntimeException 和 Error 之外的异常都会包装为 UndeclaredThrowableException 抛出。捕获 UndeclaredThrowableException 后, 获取 getUndeclaredThrowable();方法签名 throws 某个不希望被包装的异常 xxException;

2023-03-11 23:39:44 481

原创 JAVA查看动态代理类

java查看动态代理类文件

2023-03-11 22:56:56 743

原创 Spring文件上传属性配置

Spring 处理文件上传,你是否遇到一下问题?这里一次解决所有问题

2023-03-08 15:58:34 194

原创 再谈ThreadPoolExecutor

上次提到分析了ThreadPoolExecutor的核心参数,本文则主要分析下常用队列、拒绝策略和线程池初始化方法。

2022-11-04 16:59:05 725

原创 JAVA进程高load问题排查思路

JAVA进程高load问题排查思路jps jstack

2022-10-27 12:23:20 816

原创 git分支信息比对

git分支 commit 信息比对,比对文件差异

2022-10-26 14:51:19 925

原创 @PropertySource 使用

PropertySource 可以加载指定的属性文件(*.properties)到 Spring 的 Environment 中。可以配合 @Value 和@ConfigurationProperties 使用。

2022-08-05 12:30:21 1042

原创 Spring Boot 元数据文件的应用与生成

SpringBootjar包含元数据文件,提供所有支持的配置属性的详细信息。这些文件旨在允许IDE开发人员在用户使用application.properties或application.yml文件时提供上下文帮助和“代码完成”。

2022-07-15 12:42:24 511

原创 springboot starter的实现方式

配置到 spring.factories 中【推荐】自定义 @Enablexxx 注解【推荐】使用 @Import 注解

2022-07-14 10:16:06 298

原创 SpringBoot 拦截顺序 Filter Interceptor

相关类包路径与继承关系package org.apache.catalina.core;public final class ApplicationFilterChain implements FilterChainpackage javax.servlet.http;public abstract class HttpServlet extends GenericServletpackage org.springframework.web.servlet;public abstrac

2022-04-24 20:11:00 604

原创 kafka consumer、partition、rebalance

kafka consumer、partition、rebalance

2022-04-24 12:23:47 1912

原创 Mac系统通过标签管理文件

Mac系统通过标签管理文件管理标签可自由增减、命名、排序标签建议:重要、个人、工作添加收藏建议:都加进来,按照自己喜欢的方式排序,考虑下哪几个最常用ps: 添加到收藏后,方可使用 快捷键 Ctrl+1~7mac 给文件添加 标记添加标记选择文件,手动添加快捷键,Ctrl + 1~7 添加指定标记取消标记选择文件,手动取消快捷键,Ctrl+0 取消所有标记...

2022-03-01 18:42:24 500

原创 Java 静态方法读取 yml

本地项目写个测试方法,如何获取 yml 配置文件的属性信息?直接上代码 private static void printAllProperty(Properties props) { @SuppressWarnings("rawtypes") Enumeration en = props.propertyNames(); while (en.hasMoreElements()) { String key = (Strin.

2022-01-21 17:27:06 1214

原创 Maven 自定义 archeType

根据已有项目创建模板,后续依据模板创建工程,提高效率创建archeType在工程根目录打包mvn archetype:create-from-project# 使用个人settingsmvn archetype:create-from-project --settings /Users/yuan/apache-maven-3.8.1/conf/personal_settings.xml生成archetype模板切到 archetype 目录cd target/generated-.

2022-01-21 15:37:08 580

原创 Excel查找匹配VLOOKUP用法

区域引用表示本文件单元格A1区域A1:B2整列A:B同文件跨sheet本文件 sheet2 的A1:B2 区域Sheet2!A1:B2本文件 sheet2 的A:B 列区域Sheet3!A:B,跨文件指定目录下 特定文件的 指定区域‘/Users/yuan/Downloads/[vlookup2.xlsx]Sheet1’!$A1:1:1:B$2指定目录下 特定文件的 指定列‘/Users/yuan/Downloads/[vlo

2021-12-29 15:52:42 1868

原创 Spring Web API 测试

针对spring web API 做接口测试依赖组件 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </de

2021-12-29 12:21:58 312

原创 UT 上手实践

UT 上手实践基本工具ToolsJunit——Java主流单元测试框架JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit VintageJUnit Platform:测试框架基础,定义了TestEngine用于开发在平台上运行的测试框架的API。JUnit Jupiter:JUnit5的核心,是一个基于JUnit Platform的引擎实现,它包含许多丰富的新特性来使得自动化测试更加方便和强大。JUnit Vintage:兼容JUnit3、J

2021-12-22 10:21:41 151

原创 @Mock@Spy@MockBean@SpyBean对比

mockito 注解package org.mockito;mockito 定义的注解主要有三个:@Mock@Spy@InjectMocks// demo@InjectMocksprivate MyService myService;@MockMyMockMapper myMockMapper;@SpyMySpyMapper mySpyMapper;说明@Spy和@Mock生成的对象不受spring管理,也不会替换Spring对应类型的bean@InjectMo

2021-12-01 18:10:18 2913

原创 SpringBoot @Value 属性注入

ymlprefix: string: yw array: array1,array2,array3 list: list1,list2,list3 map: "{ 'key1': 'value1', 'key2': 'value2', 'key3': 'value3' }" mapList: "{ key1: 'v11,v12', key2: 'v21,v22',

2021-11-23 20:30:38 1068

原创 单元测试基本原则

FIRSTFAST快速对于大型成熟项目可能会有数千个测试用例。每个测试用例应尽可能快的运行,最好在毫秒级别。# 参考> 单个测试小于200ms> 单个测试套件小于10s> 整个测试小于10分钟Independent隔离单元测试是独立的,可以单独运行而不依赖外部元素,如文件系统或数据库。Repeatable可重复在不改变输入的情况下,单元测试的输出结果应保持不变。Self-validating自检查单元测试应自动检测测试是否通过而无需人

2021-11-18 12:43:45 1219

原创 SpEL小试牛刀

背景SpEL(Spring Expression Language),即Spring表达式语言,语言简洁,功能强大。示例private static final Cache<String, Expression> EXPRESSION_CACHE = CacheBuilder.newBuilder() .maximumSize(8192) .initialCapacity(512) .expireAfterWrite(1L, TimeUnit.HOURS) .build()

2021-11-09 15:57:38 416

原创 FeignClient 使用 @SpringQueryMap 注解不解析父类字段

背景spring cloud 项目使用feign的时候都会发现一个问题,就是get方式无法解析对象参数。其实 OpenFeign 提供了 @QueryMap 注解支持Map形式的参数转换。 但不幸的是和 Spring 不适配,因为缺少 value 这个属性,所以推荐使用 @SpringQueryMap 以解决 GET 请求的时候, 传递对象属性的问题。问题但是问题又来了,当使用子对象继承父类的时候会无法传递父类的属性。探究源码查看源码发现,默认使用的 QueryMapEncoder 是

2021-11-08 17:46:06 1988

原创 Mac与Linux互传文件

建立连接mac 打开终端,找到shell 下的新建远程连接选择安全文件传输(sftp)输入服务器IP选择服务器IP,并输入用户,然后点击连接sftp [email protected]输入密码然后回车上传文件执行put命令# put 本地文件路径 远程主机路径put /Users/yuan/demo-bookmark.pdf /text下载文件cd到需要下载文件的目录执行get命令# 用get命令下载文件 get 文件名 本地目录get 文件名 本地目录root

2021-11-02 22:46:54 942 1

原创 Linux 包管理工具

前言现代的类 Unix 操作系统都提供了一种中心化的机制用来搜索和安装软件。软件通常都是存放在存储库中,并通过包的形式进行分发。处理包的工作被称为包管理。包提供了操作系统的基本组件,以及共享的库、应用程序、服务和文档。名词解释rpm(Redhat Package Manager)最早由 Red Hat 公司制定实施,随后被 GNU 开源操作系统接受并成为很多 Linux 系统 (RHEL) 的既定软件标准。yum(Yellodog Update Modifier)是一个在CentO

2021-10-30 17:52:08 231

原创 Linux系统概述及常用命令

系统概述Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统。Linus Torvalds ,Linux之父,他根据Minix系统的代码,参照UNIX系统的设计,写出了第一个Linux内核。1991年10月5日首次发布。源码 https://github.com/torvalds/linux背景选择少,不开放20世纪80年代,计算机硬件的性能不断提高,PC的市场不断扩大,当时可供计算机选用的操作系统主要有Unix、DOS和macOS这几种。Unix价格昂贵

2021-10-28 18:41:56 347

原创 Java8函数接口

重要的函数接口函数接口参数返回类型说明PredicateTboolean判断是否ConsumerTvoid输入一个参数BiConsumer<T,R>(T,R)void输入两个参数Function<T,R>TR获得对象的名字SuppliernoneT工厂方法UnaryOperatorTT一元运算符BinaryOperator(T,T)T二元运算符lambda表达式详见快速上手

2021-10-12 20:31:49 47

原创 Java泛型标记TEKVSUN?

标记符具体类型T - Type(表示具体的一个java类型)E - Element (在集合中使用,因为集合中存放的是元素)K - Key(键)V - Value(值)S - 2nd typeU - 3rd typeN - Number(数值类型)通配符?- (表示不确定的java类型,无界通配符)< ? extends E> 上界通配符上界:用 extends 关键字声明,表示参数化的类型可能是所指定的类型,或者是此类型的子类。类型参数列表中如果有多个类型参

2021-10-12 20:24:22 130

原创 OpenFeign使用Gson编解码自定义TypeAdapter

OpenFeign使用Gson编解码时,针对日期时间类型的一些bean编解码不支持,可以通过自定义TypeAdapter来解决自定义TypeAdapterImprovedDateTypeAdapterpublic class ImprovedDateTypeAdapter extends TypeAdapter<Date> { public static final TypeAdapterFactory FACTORY = new TypeAdapterFactory()

2021-10-11 18:21:21 565

原创 OpenFeign实战

默认Client替换Feign 整体框架非常小巧,在处理请求转换和消息解析的过程中,基本上没什么时间消耗。真正影响性能的,是处理Http请求的环节。由于默认情况下,Feign采用的是JDK的HttpURLConnection,所以整体性能并不高。需要进行性能优化,通常采用ApacheHttpClient或者OKHttp,加入连接池技术。ApacheHttpClient配置类HttpClientFeignLoadBalancedConfiguration依赖<!-- Http Cl

2021-09-27 21:38:14 846

空空如也

空空如也

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

TA关注的人

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