lotus

贵有恒何必三更眠五更起 最无益只怕一日曝十日寒

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2020年12月11日

摘要: 聊聊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)