摘要: 关于top命令 经常问load average 参考:load average 定义(网易面试) jvm dump的使用 参考:Jvm dump jstack jmap jstat 介绍与使用(内存与线程) 以及使用jstack定位问题 查看端口:如何在Windows,Linux下查看JAVA端口占 阅读全文
posted @ 2019-09-06 17:07 aspirant 阅读(5912) 评论(0) 推荐(2) 编辑
摘要: redis使用跳表不用B+数的原因是:redis是内存数据库,而B+树纯粹是为了mysql这种IO数据库准备的。B+树的每个节点的数量都是一个mysql分区页的大小(阿里面试) 还有个几个姊妹篇:介绍mysql的B+索引原理 参考:一步步分析为什么B+树适合作为索引的结构 以及索引原理 (阿里面试) 阅读全文
posted @ 2019-09-06 15:57 aspirant 阅读(15706) 评论(5) 推荐(14) 编辑
摘要: 二分查找法的时间复杂度:O(logn) redis,kafka,B+树的底层都采用了二分查找法 参考:二分查找法 redis的索引底层的 跳表原理 实现 聊聊Mysql索引和redis跳表 redis的跳表原理 时间复杂度O(logn)(阿里) 参考:二分查找法 kafka如何实现高并发存储-如何找 阅读全文
posted @ 2019-09-06 09:12 aspirant 阅读(5651) 评论(0) 推荐(0) 编辑
摘要: Hashtable 初始容量是11 ,扩容 方式为2N+1; HashMap 初始容量是16,扩容方式为2N; 阿里的人突然问我为啥扩容因子是0.75,回来总结了一下; 提高空间利用率和 减少查询成本的折中,主要是泊松分布,0.75的话碰撞最小, HashMap有两个参数影响其性能:初始容量和加载因 阅读全文
posted @ 2019-09-06 08:58 aspirant 阅读(35853) 评论(5) 推荐(11) 编辑
摘要: 还有一篇 讲解lock的实现原理,参考:解决多线程安全问题-无非两个方法synchronized和lock 具体原理以及如何 获取锁AQS算法 (百度-美团) synchronized 不管是读还是写,如果前面有锁,只能是等待, lock中有读写锁,可以做到读读并发,读写互斥,写写互斥,但是sync 阅读全文
posted @ 2019-09-06 08:29 aspirant 阅读(93259) 评论(23) 推荐(43) 编辑