面经
文章平均质量分 96
java 面经
奇迹是执着的人创造的
这个作者很懒,什么都没留下…
展开
-
java面经03-虚拟机篇-jvm内存结构&垃圾回收、内存溢出&类加载、引用&悲观锁&HashTable、引用&finalize
解决:使用引用队列,将Entry和某个引用队列关联上,当Entry的key被回收时,整个Entry对象会被放到引用队列里面去,然后直接将已经在引用队列中的Entry对象的Map引用去掉就行了(或者说看看当前Entry在不在Map中,在就将Map里面记录Entry的数组对应引用设置为null),没有引用指向它,下次回收时就会被回收了。也即是: 数值较大,会复制到类A自己的常量池中,每个类都有自己的常量池(一个常量列表,且1,2,3,…地给每个常量编好了号,给出编号,直接到常量池中取那个常量的值)原创 2023-06-15 22:52:52 · 983 阅读 · 2 评论 -
java面经02-并发篇-线程六态、线程池、wait&sleep、lock&synchronized、volatile、悲观锁&乐观锁、Hashtable、ThreadLocal
方法体代码太简单,导致他0.1s可以循环1千万次,而每次都去内存里面读stop的值,相比较而言实在是太慢了,JIT看到后坐不住了,就给他优化了一下,直接将 编译-解释-》最后的 机器指令 while(!2、waitting queue: 争抢到了锁的线程执行锁内代码时发现条件不满足(eg:需要等待另一个线程的结果导致的同步问题),此时线程主动执行conditon1.await()方法自我阻塞,这个时候就进入条件变量conditon1的等待队列中等待了。stop)死循环执行1千万次了,远远超过阈值。原创 2023-05-11 21:14:08 · 343 阅读 · 0 评论 -
java面经01-基础篇-排序算法、ArrayList、Iterator、LinkedList、HashMap、单例模式
(capacity-1) 其实也是映射到 0~(capacity-1) 【因为capacity-1高位全部是0,&之后不会比capacity-1大,最最大也就是全1的二进制和capacity-1的二进制相与,最大也就是capacity-1】但是肯定有缺点,还记得否学数据结构Hash表时,数组容量(或者说mod的那个值)应该选取一个质数的,这样分布是最均匀的。使用二分法在序列 1,4,6,7,15,33,39,50,64,78,75,81,89,96 中查找元素 81 时,需要经过( )次比较。原创 2023-04-18 18:06:34 · 404 阅读 · 0 评论