自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸟园管理者

对平时一些知识做一些总结

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

原创 springboot+Prometheus + Grafana监控搭建

前人栽树下面基本都是这篇博客的东西,搭建过程中也遇到一些问题,算是做个备份吧部署Prometheusdocker部署$ docker run --name prometheus -d -p 9090:9090 prom/prometheus-p后不要定义127.0.0.1,不然通过浏览器无法访问,还需要该ports映射关系Prometheus获取springboot项目监控指标拷贝配置文件#查看配置文件内容$ docker exec -it [容器ID] cat /etc/prome

2020-07-05 19:09:46 569

原创 spring boot在启动程序之前执行逻辑

ApplicationContextInitializer接口前人栽树用于在spring容器刷新之前的初始化,个人理解主要是可以获取配置文件中的值,之后可以做一些逻辑处理ApplicationListener接口前人栽树可以通过监听不同事件,做出相应逻辑处理ApplicationStartingEvent程序启动事件,要先于ApplicationContextInitializer启动类如下:public static void main(String[] args) {

2020-06-30 15:56:16 3982

原创 java之对象的逃逸分析

前人栽树:传送门逃逸分析个人理解主要是为了优化gc的技术文章中还提到了锁消除,如果锁对象不发生逃逸,会自动消除synchronized块 public String concatString(String s1, String s2, String s3){ return s1 + s2 + s3; }大家都知道,编译器会对String的连接做自动优化。jdk5之前,会转化为StringBuffer对象的连续append()操作,jdk5及之后,会转化为StringBu

2020-06-15 20:13:48 370

原创 java之this引用逃逸

前人栽树传送门A传送门B文章A中,线程B执行时提到的空指针,我认为就是程序没执行new ThisEscape(),obj永远都是null,所以才会出现NPE异常。我们一般也不会犯这种毛病。线程A那个才是真正意想不到的,因为指令的重排序不归我管…这时候volatile了解一下主要原因this引用逃逸说到底就是其他线程引用了还没有构造完成的类对象,之后还要去访问人家的变量,之后就出现了不可思议的事情(手动狗头)。平时注意1.构造方法中尽量少去开启线程2.就算在构造方法中开启了线程,线程里也不要去

2020-06-15 19:55:22 424

原创 transient关键字

被修饰的变量不会被序列化好多博主有总结,我就不赘述了,大家也可以看下hashmap的序列化,很有意思传送门

2020-06-12 20:10:18 81

原创 java之ThreadLocal相关

ThreadLocal记录线程本地变量,生命周期与线程的生命周期相同set()方法 public void set(T value) { // 获取的当前线程 Thread t = Thread.currentThread(); // 获取当前线程的ThreadLocalMap ThreadLocalMap map = getMap(t); // 将当前threadLocal实例作为key,值作为val存入map

2020-06-12 18:29:17 128

原创 springboot之@EnableWebMvc注解

#@EnableWebMvc注解在使用中误用了@EnableWebMvc注解,导致所有静态资源访问都被拦截springmvc自动注入入口:WebMvcAutoConfiguration类,条件注解@ConditionalOnMissingBean(WebMvcConfigurationSupport.class),当没有WebMvcConfigurationSupport相关bean时,会自动装配mvc的相关配置类而@EnableWebMvc注解会自动引入DelegatingWebMvc

2020-06-09 14:43:53 908

原创 spring自动注入接收多个实现类

spring自动注入可使用List、Map类型来接受多个实现类自定义接口TestInterfacepublic interface TestInterface { void say();}实现类TestApublic class TestA implements TestInterface { @Override public void say() { System.out.println("this is TestA"); }}实现类Tes

2020-06-08 16:25:42 1034

原创 java的几种排序方式

java常用排序方式java中的排序就是通过实现Comparator接口完成的拿奥运会奖牌榜为例定义beanclass Country implements Comparable<Country>{ // 国家名字 private String name; // 金牌数 private Integer a; // 银牌数 private Integer b; // 铜牌数

2020-06-08 15:56:50 285

原创 记一次日志切割问题

logback日志切分问题logback切分日志是在有打印事件时才触发,也就是说如果你设置的按小时切割,如果晚上1:00至3:00 服务没有请求,没有日志打印,那么logback不会生成这段期间内的切分日志,对接运维收集日志时出现了问题,所以我们重写了Appenderpublic class MyRollingFileAppender<E> extends RollingFileAppender<E> { private static List<MyRollingF

2020-06-08 15:20:33 399

原创 spring的AOP代理

动态代理目前遇到的就是jdk动态代理和gclib动态代理两种代理具体实现:传送门两种代理区别:传送门spring都有支持,默认是jdk代理,想使用gclib代理,需要配置<aop:config proxy-target-class=“true”>,springboot 2.1.7.RELEASE使用的是gclib代理,其他版本不是很清楚一个面试常问的实例一个被代理类Apublic class A { public void method01(){ meth

2020-06-08 14:30:18 141

原创 java位操作符相关总结

位操作相关与(&)布尔短路与判断二进制位操作或(|)布尔短路或判断二进制位操作异或(^)二进制位操作与(&)参加运算的两个数据,按二进制位进行“与”运算。布尔短路与判断运算规则:true & true = true;true & false = false;只要有一个为false,结果就是falseboolean result01 = 1 != 1 & 1 == 1; // false, 即使1 != 1已经为false,还会去判断1 == 1的结果boo

2020-06-08 13:29:39 112

空空如也

空空如也

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

TA关注的人

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