分享

admin:
微服务日志情况
1、zipkin slueth
追踪微服务链
hystrix tubine
微服务的整体压力情况
static final
static final List list = new List<String>; // list是引用传递,static final List list表示list的地址不变
list.add("dasf");(X)
list = new List();(√)
static final String a = "sfd";
a="safd";(x) 这样相当于a = new String("safd"); 改变了指针的地址

null
函数的返回值一般情况下返回null是不好的
enum if
threadLocal
两个线程都用了同一个类
ThreadLocal 同一个key,不同的map
弱引用
Thread.threadLocal // 是一个map
ThreadLocal.get();

Integer a = 4;
list.add(a);
a=null;
list.get(0); // 能够取到值,gc不能回收a

Thread生存周期很长,但是threadLocal生存周期暂时的,所以当threadLocal被销毁时,Thread有引用到,所以gc不能回收,但是
如果threadLocal是弱引用的,threadLocal是null,虽然有被引用到,gc可以回收

gc回收原理:通过一系列称为“GC Roots”的对象作为起始点,从这些节点向下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots没有任何引用链(即GC Roots到对象不可达)时,则证明此对象是不可用的。
https://www.cnblogs.com/xiaoxi/p/6486852.html

原文地址:https://www.cnblogs.com/smallpigger/p/9936530.html