240 发简信
IP属地:湖南
  • Netty

    NIO相较于普通BIO的几个特征1.BIO 1个主线程轮询是否有新连接,新连接进来后开新线程。总数1+N。NIO 1个主线程轮询新连接,新连接来了后注册到Selector中,...

  • 120
    log4j并发打印日志导致线程Block问题排查记录

    现象:对固定接口测试环境做压测。qps保持在单机37左右,各服务未出现异常。但是压测持续30分钟左右时,突然出现大量线程block告警。 查看阻塞线程,大部分线程阻塞于Thr...

  • 120
    缓存

    缓存类别 1.线程级缓存:ThreadLocal适用场景:同个线程内需要多次请求耗时接口,例如需要根据权限范围查询具体数据,多次查权限。2.单机缓存:GuavaCache适用...

  • 120
    redis的哨兵模式和集群模式

    哨兵模式 哨兵模式是redis高可用的实现方式之一使用一个或者多个哨兵(Sentinel)实例组成的系统,对redis节点进行监控,在主节点出现故障的情况下,能将从节点中的一...

  • Redis

    1.键过期清理策略: 1.定时清理:创建key的时候开启异步线程轮询,等时间到了之后清理key。2.懒惰清理:不清理。查询的时候,判断key是否过期,如过期过滤结果并清除ke...

  • 120
    ZGC,一个超乎想象的垃圾收集器

    Z Garbage Collector,即ZGC,是一个可伸缩的、低延迟的垃圾收集器,主要为了满足如下目标进行设计: 停顿时间不会超过10ms 停顿时间不会随着堆的增大而增大...

  • GC

    1.年轻代 Eden,S0,S1 。对象到一定年龄(minor gc次数)晋升到老年代2.老年代3.永久代,方法区,MetaSpace。存放类相关信息,静态变量,常量等。 ...

  • 动态代理JDK,Cglib

    1.JDK动态代理 通过接口+反射实现代理1.根据接口创建代理类的字节码文件2.使用ClassLoader将字节码文件加载到JVM3.创建代理类实例对象反射调用代理类的具...

  • 分布式锁

    1.互斥2.不会死锁。3.同个线程加锁解锁。 https://www.hollischuang.com/archives/1716https://www.cnblogs.co...

  • 120
    MQ

    1.优点: 1.解耦2.异步3.削峰 2.MQ如何解决消息丢失问题 1.生产者丢失。1.1RocketMq在往消息队列中发送消息的时候,会开启一个事务,如果消息发送失败了,回...

  • 120
    java类加载

    1.类加载器1.BootStrapClassLoader 启动类加载器。加载rt.jar 以及 java. 开头的类。2.ExtClassLoader 扩展类加载器。 E...

  • Innodb事务隔离级别和锁之间的关系

    1.事务特性: 2.事务隔离级别: 1.读未提交。 脏读,不可重复读,幻读。2.读已提交。 不可重复读。3.可重复读。 幻读。4.序列化读。 3.读未提交:脏读。 事务A读取...

  • 120
    Java中的锁

    1.是否需要锁住资源1.1需要锁住,悲观锁。CAS1.2不需要锁住,乐观锁。 2.获取锁失败时,线程是否需要阻塞。2.1阻塞。2.2自旋。1.自旋锁。2.适应性自旋锁。 3....

  • 120
    SpringAOP

    拦截器可以配置。Advice Advisor InterceptorAdvice :方法加强的类。MethodBeforeAdvice , AfterReturningAdv...

  • SpringIOC源码分析

    BeanFactoryPostProcessor与BeanPostProcessor执行顺序 整体顺序: BeanFactoryPostProcessor中 postProc...

  • Guava中EventBus使用

    1.使用的好处:将发生事件的代码和处理事件的代码进行了解耦。比如发送消息。当某一件事情发生了之后,需要触发消息通知。可能需要短信,微信,邮件同时通知。在处理事件的代码中,可以...

  • Condition

    运行结果:线程1拿到锁了线程1等待信号线程2拿到锁了线程2发出信号线程1拿到信号 跟sychronized类似。reentrantLock.lock() 相当于sychron...

  • 120
    java中的volatile

    https://www.cnblogs.com/chengxiao/p/6528109.html 1.JMM决定一个线程对共享变量的写入何时对另一个线程可见,JMM定义了线程...