![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java面试题
文章平均质量分 90
风幕浦
通过此博客平台来分享我踩过的坑和一些学习心得,记录我一步步成长的历程,共勉……
展开
-
ConcurrentHashMap如何保证线程安全及源码解析
1. ConcurrentHashMap 和 HashMap 两者的异同相同之处:数组、链表结构几乎相同,所以底层对数据结构的操作思路是相同的(只是思路相同,底层实现不同);都实现了 Map 接口,继承了 AbstractMap 抽象类,所以大多数的方法也都是相同的,HashMap 有的方法,ConcurrentHashMap 几乎都有,所以当我们需要从 HashMap 切换到 ConcurrentHashMap 时,无需关心两者之间的兼容问题。不同之处:红黑树结构略有不同,HashMap原创 2021-04-14 15:04:16 · 542 阅读 · 0 评论 -
JVM笔记(对象的结构、内存模型、垃圾回收算法、垃圾回收器)
JVM内存区域1. 程序计数器线程私有的,可以看作是当前线程说执行的字节码的行号指示器, 保存的是程序当前执行的指令的地址(也可以说保存下一条指令的所在存储单元的地址) ,保证每个线程都在线程切换后能够恢复在切换之前的程序执行位置 。在JVM规范中规定,如果线程执行的是非native方法,则程序计数器中保存的是当前需要执行的指令的地址;如果线程执行的是native方法,则程序计数器中的值...原创 2019-12-17 09:42:33 · 305 阅读 · 0 评论 -
ConcurrentHashMap源码解析(每行都有完整解析)
为什么HashMap和ConcurrentHashMap的链表数目>=8才转换成红黑树?为什么<=6才从树转换成链表?当hashCode离散性很好的时候,树型转化用到的概率非常小,因为数据均匀分布在每个桶中,几乎不会有桶中链表长度会达到阈值。但是在随机hashCode下,离散性可能会变差,然而JDK又不能阻止用户实现这种不好的hash算法,因此就可能导致不均匀的数据分布。不过理想...原创 2020-05-14 18:25:19 · 140 阅读 · 0 评论 -
MySQL数据库中的索引(各种索引的区别、索引索引失效原因、索引优化、面试中常问的问题详解)
索引模块1.为什么要使用索引?当查询数据量较小的表时(如只有几十行数据的表),全表扫面的速度依旧很快,当访问数据库较大的表时全表扫面的效率会十分低下,所以要使用索引的方式。避免全表扫描,快速查询数据:设计思想类似于字典2.什么样的信息能成为索引?主键、唯一键、普通键等(具有较好的区分度的字段都可以)3.索引的数据结构二叉查找树特点:左子树小于右子树查找方式:二分查找时间复...原创 2019-12-12 16:21:25 · 539 阅读 · 0 评论 -
int和integer之间的比较(笔试题)
int和integer之间的比较(笔试题)1. int与integer之间的比较int和integer之间的比较就是数值之间的比较,只要数字相等比较结果就为true(依赖于自动装箱与拆箱的机制)2.integer之间的比较Integer i2;Integer.valueOf(int i);:这个方法赋值分两种情况,当i的区间在 [-127,127] 之间时,时在常量池中直接获取数...原创 2019-12-20 15:32:20 · 552 阅读 · 1 评论 -
Java面试题,学会20K+!
这些面试题都会20K+绝对没问题,实话说会前十三个不怕找不到工作,奉献给各位,给个赞谢谢。想要答案或者更全面试题的朋友可以在评论区留言,或者私我(不直接贴出来是因为怕篇幅太长,看着头疼哈哈)文章目录一、Java 基础二、集合三、多线程四、反射五、对象拷贝六、Java Web七、异常八、网络九、设计模式十、Spring/Spring MVC十一、Spring Boot/Spring Cloud十...原创 2019-10-12 10:54:18 · 482 阅读 · 0 评论