摘要:
聊聊JVM的年轻代 1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕 阅读全文
posted @ 2020-12-11 15:11
白露~
阅读(123)
评论(0)
推荐(0)
|
摘要:
聊聊JVM的年轻代 1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用,这样就会对堆的所有区域进行扫描。而我们的很多对象都是朝生夕 阅读全文
posted @ 2020-12-11 15:11
白露~
阅读(123)
评论(0)
推荐(0)
摘要:
1 为什么要有Survivor区 先不去想为什么有两个Survivor区,第一个问题是,设置Survivor区的意义在哪里? 如果没有Survivor,Eden区每进行一次Minor GC,存活的对象就会被送到老年代。老年代很快被填满,触发Major GC(因为Major GC一般伴随着Minor 阅读全文
posted @ 2020-12-11 15:09
白露~
阅读(365)
评论(0)
推荐(0)
摘要:
MySQL InnoDB 引擎现在广为使用,它提供了事务,行锁,日志等一系列特性,本文分析下 InnoDB 的内部实现机制,MySQL 版本为 5.7.24,操作系统为 Debian 9。 1、InnoDB 架构 Innodb 架构图 InnoDB 的架构分为两块:内存中的结构和磁盘上的结构。Inn 阅读全文
posted @ 2020-12-11 13:49
白露~
阅读(408)
评论(0)
推荐(0)
摘要:
继承关系 ReadLock和WriteLock是ReentrantReadWriteLock的两个内部类,Lock的上锁和释放锁都是通过AQS来实现的。 AQS定义了独占模式的acquire()和release()方法,共享模式的acquireShared()和releaseShared()方法.还 阅读全文
posted @ 2020-12-11 00:42
白露~
阅读(114)
评论(0)
推荐(0)
摘要:
分库分表适用场景 分库分表用于应对当前互联网常见的两个场景——大数据量和高并发。通常分为垂直拆分和水平拆分两种。 垂直拆分是根据业务将一个库(表)拆分为多个库(表)。如:将经常和不常访问的字段拆分至不同的库或表中。由于与业务关系密切,目前的分库分表产品均使用水平拆分方式。 水平拆分则是根据分片算法将 阅读全文
posted @ 2020-12-11 00:27
白露~
阅读(715)
评论(0)
推荐(0)
|