- 博客(14)
- 资源 (3)
- 收藏
- 关注
原创 Prometheus学习笔记
Prometheus简介是什么?特点易于管理监控服务内部运行状态强大的数据模型强大的查询语言PromQL高效可扩展、易于集成、支持丰富可视化功能原理搭建Prometheus Server运行Exporter服务欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居...
2019-11-10 00:52:53 1297
原创 一次FullGC问题的定位
问题背景一次在查看服务器的gc状态的时候发现,fgc的次数过高(200多次)且远大于ygc(3次),在线上环境和测试环境都有同样的现象,长时间的观察发现ygc的次数基本不变,fgc隔段时间后就会增加一次(ygc的平均时间:27ms, fgc的平均时间:58.28ms, 因为内存几乎没什么数据,fgc的时间不是很特别长)问题分析查看服务器启动期间在线人数和内存使用情况,可以看到在线人数很少,且内存的占用很低,排除内存泄露导致的JVM内存占用过高而触发fgc的原因通过jstat -gccause
2020-11-21 14:40:58 934
原创 Powermock使用笔记
powermock使用mock与spy 的区别语法的区别:Test ms = PowerMockito.mock(Test.class);Test ms = PowerMockito.spy(new Test());Mock对象的区别:mock方法生成的对象为一个空对象,即里面所有的方法均被mock了,所以在调用该对象里面的方法时候,均不会执行该方法,仅会返回方法返回值的零值。spy方法生成的对象是一个真实的对象,即调用该对象里面的方法时,会实际执行方法中的内容。使用场景的区别:mo
2020-11-02 00:14:18 1776
原创 从源码看logback配置文件的加载顺序
从源码看logback配置文件的加载顺序配置文件加载类// 该类实现配置的初始化ch.qos.logback.classic.util.ContextInitializer配置文件public class ContextInitializer { final public static String GROOVY_AUTOCONFIG_FILE = "logback.groovy"; final public static String AUTOCONFIG_FILE = "l
2020-08-07 21:54:16 863
原创 如何使用maven打一个直接可运行的包
如何使用maven打一个直接可运行的包以普通java项目为例,一般会遇到两个问题:1.找不到主类 2.找不到相关依赖的类找不到主类执行jar包查看jar包中的MANIFEST.MF文件,发现没要定义主类解决方式:在pom文件添加主属性信息<build> <plugins> <!--这个主要用来将主清单属性打入到jar包中,保证打包后的jar能够直接使用java -jar xxx.jar的方式直接运行-->
2020-07-04 16:44:44 508
原创 Http服务器-Netty实现
Netty实现http服务器代码实现server实现Handler实现测试Get请求POST请求解析请求中的参数GET请求POST请求代码实现server实现public class HttpServer2 { private int port; public HttpServer2(int port) { this.port = port; } public void start(){ EventLoopGroup boss =
2020-06-25 12:11:08 462
原创 idea中部分字符不显示的解决方案
问题idea编辑器中部分字体不显示,如下图:解决方式方式1:换一种字体方式2:调整字体大小对于字体敏感的可以尝试调整字体大小
2020-06-20 22:28:27 1874 1
原创 vim中多条件查询
与查找同时包含a和b的行,且无先后顺序 ?.*a\&.*b 查找同时包含a和b的行,且有先后顺序?a\&.*b或查找包含a或者b的行?a\|b
2020-06-14 08:57:05 8714
原创 DCL的理解
DCL实现代码三个问题为什么外层要判空外层加判空的目的是为了避免每次获取实例的时候都需要获取锁和释放锁,这样会带来很大的性能消耗,外层判空可以在已经初始化完成后,直接返回实例对象。为什么要内层判空内层判空是为了保证对象的单例,因为在多线程情况下,如果没有内层判空的话,那么多个线程可能在竞争锁之前都已经通过了外层判空逻辑,那么在这种情况下,会出现多个实例对象。所以加上内层判空,那么另一个线程进来后,再次判空的时候对象已经被之前释放锁的线程初始化完成,那么自然不会进入new对象的逻辑中,从
2020-05-19 23:43:35 1609
原创 终端光标快速移动快捷键分享
光标移动快捷键Ctrl + a 移动到行首Ctrl + e 移动到行尾Ctrl + f 右移1个字符Ctrl + b 左移一个字符Ctrl + t 交换光标前两个字符Ctrl + <- 左移一个单词Ctrl + -> 右移一个单词Ctrl + u 删除到行首Ctrl + k 删除到行尾Ctrl + w 删除前一个单词Ctrl + y 粘贴或者恢复上次的删除Ctrl + r 搜索History中的命令Ctrl + z : 后台运行,fg恢复...
2020-05-16 23:15:56 1159
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人