240 发简信
IP属地:浙江
  • 狼哥 还有堆外内存溢出

    JVM 发生 OOM 的 8 种原因、及解决办法

    撸Java的同学,多多少少都会碰到内存溢出(OOM)的场景,但是造成OOM原因却不止一个。 堆内存不足 这种场景最为常见,报错信息: 原因 1、代码中可能存在大对象分配2、可...

  • 120
    mysql锁(九)innodb下的记录锁,间隙锁,next-key锁

    ****你需要知道的****之前我们介绍了排他锁,其实innodb下的记录锁(也叫行锁),间隙锁,next-key锁统统属于排他锁。 ****行锁****记录锁其实很好理解,...

  • 共享锁这块讲的并不清晰,并没有说明在哪个地方可以支持多线程访问

    java并发编程之AbstractQueuedSynchronizer

    引言 AbstractQueuedSynchronizer,队列同步器,简称AQS,它是java并发用来构建锁或者其他同步组件的基础框架。 一般使用AQS的主要方式是继承,子...

  • 面试官:“你重写过 hashcode 和 equals 么,为什么重写equals时必须重写hashCode方法?”

    1.hashCode介绍 hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个散列码的作用是确定该对象在散列表中的索引位置,如果有看我的...

  • 120
    详解Condition的await和signal等待/通知机制

    原创文章&经验总结&从校招到A厂一路阳光一路沧桑 详情请戳www.codercc.com 1.Condition简介 任何一个java对象都天然继承于Object类,在线程间...

  • String s1 = new StringBuilder().append("StringTest").toString();
    or
    String s1 = new StringBuilder("StringTest").toString();
    System.out.println(s1.intern() == s1) 输出的效果是一样的,都是false,因为在编译期常量池就已经存在了"StringTest",String s1 = new StringBuilder().append("String").append("Test").toString();
    System.out.println(s1.intern() == s1)这个在编译期是String 和 Test存在堆中,s1.intern()会在常量池加载"StringTest"并返回s1 的引用,所以比较结果为true

    浅谈Java String.intern()

    简书 占小狼转载请注明原创出处,谢谢! String.intern()原理 String.intern()是一个Native方法,底层调用C++的 StringTable::...

  • 就是buddy算法呀

    深入浅出Netty内存管理 PoolChunk

    多年之前,从C内存的手动管理上升到java的自动GC,是历史的巨大进步。然而多年之后,netty的内存实现又曲线的回到了手动管理模式,正印证了马克思哲学观:社会总是在螺旋式前...

  • 120
    2019-05-24 pipeline 事件及异常的传播

    netty中事件的传播主要包含inBound事件和outBound事件 首先我们看下ChannelInboundHandler接口,主要包含以下方法,基本都是用和连接事件相关...

个人介绍
每天多一份沉淀,做个有梦想的年轻人