【从Java面试题看源码】-Java性能优化
性能分析的方法自顶向下:通过软件栈顶层的应用,从上往下寻找优化机会和问题自底向上:从软件栈底层的CPU统计数据(如CPU高速缓存未命中率)开始,逐渐上升到应用自身的结构或使用方式,从而发现优化机会收集系统、jvm信息查看进程dumpjstack pid进程id > dump.txt查看IO是否有问题iostat -dx 1主要看%util,cpu在IO上花的资源查看哪个进程IO占用高,安.....
【面试题看源码】-HashMap 初始容量 计算方法
HashMap 初始容量 计算方法如果在new HashMap的时候,没有指定初始initialCapacity,则初始initialCapacity为16,负载因子为0.75,下次扩容阈值为 16*0.75=12这个初始容量 不一定等于初始化完成后底层数组实际的容量,因为存在阈值的计算,方法如下;也不是初始容量是多少开始就能存多少个元素,因为存在负载因子,在底层数组还没满的时候就会进行扩容。.....
Livedata源码详细解析-面试这么讲就ok
时序图不太擅长画图,勉强画了一幅如果您对Livedata的源码有一定了解看了这个图应该就差不多了。如果对Livedata源码了解不多,那么粗略看一下图,然后直接看后面的逻辑。看完逻辑回过头再细看时序图效果更佳Livedata 方法调用简单说明既然是源码解析,自然入口就是我们的方法调用,这里简单把注册 Livedata 的数据监听和 Livedata.setValue 方法进行简单说明注册监听代码....
面试官问我zookeeper选举过程,我当场给他讲了源码
集群概述zookeper 在生产环境中通常都是通过集群方式来部署的,以保证高可用, 下面是 zookeeper 官网给出的一个集群部署结构图:从上图可以得出, zookeeper server 的每个节点都和主节点保持通讯的,每个节点上面都存储有数据和日志的备份,只有当大多数节点可用集群才是可用的。本文主要是基于 zookeeper 3.8.0 讲解, 主要是通过源码的维....
用css3实现惊艳面试官的背景即背景动画(高级附源码)
我们传统的前端更多的是用javascript实现各种复杂动画,自从有了Css3 transition和animation以来,前端开发在动画这一块有了更高的自由度和格局,对动画的开发也越来越容易。这篇文章就让我们汇总一下使用Css3实现的各种特效。这篇文章参考《css揭秘》这本书,并作出了自己的总结,希望能让大家更有收获,也强烈推荐大家看看这本书,你值得拥有。我们将学到Css3outlinera....
阿里面试官:没看过spring源码,简历上竟然敢写精通,早点回家吧!
前言springmvc,springboot,springcloud以及他们很多配套框架,比如各种stater,springsecurity等所有的基础是spring,作为spring家族的源码分析最基础的部分,这篇文章把spring给大家尽量用最简单的方法,把主要流程讲清楚。为后续的springboot,springcloud,以及其他相关框架分析打下基础。spring框架简单的例子引入依赖:....
面试:为了进阿里,死磕了ConcurrentHashMap源码和面试题(二)
在上篇《面试:为了进阿里,死磕了ConcurrentHashMap源码和面试题(一)》,研究了基础原理,以及ConcurrentHashMap数据put的流程等线程安全的,来回顾一下面试的问题点:ConcurrentHashMap的实现原理ConcurrentHashMap1.7和1.8的区别?ConcurrentHashMap使用什么技术来保证线程安全ConcurrentHashMap的put....
面试:为了进阿里,死磕了ConcurrentHashMap源码和面试题(一)
前言在平时中集合使用中,当涉及多线程开发时,如果使用HashMap可能会导致死锁问题,使用HashTable效率又不高。而ConcurrentHashMap在保持同步同时并发效率比较高,ConcurrentHashmap是最好的选择,那面试中也会被常常问到,那可能的问题是:ConcurrentHashMap的实现原理ConcurrentHashMap1.7和1.8的区别?ConcurrentHa....
一次面试引发的Kafka源码之旅
引子之所以写这篇文章是因为之前面试时候被面试官问到(倒)了,面试官说:“你说你对Kafka比较熟?看过源码? 那说说kafka日志段如何读写的吧?”我心里默默的说了句 “擦...我说看过一点点源码,不是亿点点。早知道不提这句了!”,那怎么办呢,只能回家等通知了啊。但是为了以后找回场子,咱也不能坐以待毙,日拱一卒从一点点到亿点点。今天我们就来看看源码层面来Kafka日志段的是如何读写的。Kafka....
面试官:你分析过线程池源码吗?(下)
线程池状态的转换模型:构造器public ThreadPoolExecutor(int corePoolSize,//线程池初始启动时线程的数量 int maximumPoolSize,//最大线程数量 long keepAliveTime,//空闲线程多久关闭? ...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
面试更多源码相关
Java面试那些事儿
手把手带您学习Java,开启编程之路。
+关注