java八股文(值得收藏)
Java基础
1. String 和StringBuffer和 StringBuilder的区别?
2. sleep() 区间wait()区间有什么区别?
3. Object 中有哪些方法?其中clone(),怎么实现一个对象的克隆,Java如何实现深度克隆?
ThreadLocal 相关
4. ThreadLocal作用和实现方式 ?
ThreadLocal会不会发生内存泄漏?
ThreadLocal为什么使用弱引用?
5. InheritableThreadLocal作用和实现方式 ?
6. InheritableThreadLocal所带来的问题?
7. 如何解决线程池异步值传递问题 (transmittable-thread-local)?
HashMap ConcurrentHashMap相关
9. HashMap为什么线程不安全
10. HashMap在jdk7和8中的区别
11. HashMap 为啥将链表改成红黑树?
12. ConcurrentHashMap在jdk7和8中的区别?
提到synchronized时候,顺便说一下javaSE1.6对锁的优化?
偏向锁
轻量级锁
重量级锁
其他优化
ReentrantLock和synchronized的区别?
Synchronized
ReentrantLock
13. 为什么重写equals时候被要求重写hashCode()?
14. 什么时候回发生内存泄露?让你写一段内存泄露的代码你会怎么写?
Java内存模型
Java 内存模型中的 happen-before 是什么?
简单聊聊volatile 的特性?以及内存语义
GC垃圾回收
垃圾回收主要是针对 内存区的哪些区域?
垃圾检查有哪些算法?
垃圾回收方法有哪些?
什么时候会触发Full GC
**GC机制**简要说明一下,不同区使用的算法。
两个对象循环引用会不会被被GC?
哪些可以算作根节点?
垃圾收集器 G1有什么样的特性了解吗? CMS呢?
CMS收集器和G1收集器的区别
Jvm相关
Jvm内存结构简要说一些,栈里面一般存储了什么?
Java内存模型简要描述一下?
**类加载机制**简要描述一下?
类的加载方式
类加载的过程
JVM三种预定义类型类加载器
双亲委派加载
由不同的类加载器加载的指定类型还是相同的类型吗(不同)
在代码中直接调用Class.forName(String name)方法,到底会触发那个类加载器进行类加载行为?
在编写自定义类加载器时,如果没有设定父加载器,那么父加载器是?
编写自定义类加载器时,一般有哪些注意点?
如何在运行时判断系统类加载器能加载哪些路径下的类?
在Java的反射中,Class.forName和ClassLoader的区别
Java 类加载机制及常见异常
ClassNotFoundException 发生在加载阶段
ClassNotFoundError 发生在 链接 阶段
NoClassDefFoundError 通常在链接阶段
Exception和Error的区别
平时有没有遇到一些栈溢出或者内存溢出,内存泄露的问题吗?如何去分析这个问题?
如果内存猛增,怎么去排查?
多线程
为什么《阿里巴巴Java开发手册》强制不允许使用Executor创建线程池
ThreadPoolExecutor机制
线程设置越多越好吗?设置到什么值比较合理?
锁
CAS实现机制?
CAS的ABA问题
算法
有哪些常用的排序算法?
RPC框架 DUBBO
dubbo请求流程
dubbo 各个模块?
如果zookeeper挂掉了,dubbo还能正常运行吗?
Dubbo 使用什么通信框架?
Dubbo 支持哪些序列化方式?
Dubbo 有哪些集群容错策略?
Dubbo 服务如何做降级?
Dubbo 如何做限流?
如何自己设计一个类似 Dubbo 的 RPC 框架?
dubbo SPI 机制 与 JAVA SPI?
Zookeeper
zookeeper快速选举描述一下?
有了解过zk的watch机制吗?
那你说说Zookeeper有哪些应用场景?
zookeeper实现分布式锁怎么实现?
zookeeper集群可以部署2台吗?
Redis
redis是单线程还是双线程?
Redis 不仅仅是单线程
Redis6.0为什么网络处理要引入多线程?
为什么redis的性能高?什么决定的?
redis的持久化策略?
redis有哪些数据类型?
你有尝试的去优化redis吗?
rdb和aof工作原理?各有什么优缺点
如何选择合适的持久化方式
Redis持久化数据和缓存怎么做扩容?
Redis 对过期数据的处理
LRU(the least recently used 最近最少使用)算法
Redis线程模型
官方Redis Cluster 方案(服务端路由查询)
Redis的哨兵模式
基于代理服务器分片
redis的有哪些主从同步方式?
redis集群扩容与收缩
Redis底层ZSet跳表是如何设计与实现的
Redis底层ZSet实现压缩列表和跳表如何选择
Redis高并发场景热点缓存如何重建
高并发场景缓存穿透&失效&雪崩如何解决
Redis集群架构如何抗住双十一的洪峰流量
Redis缓存与数据库双写不一致如何解决
Redis分布式锁主从架构锁失效问题如何解决
从CAP角度解释下Redis&Zookeeper锁架构异同
超大并发的分布式锁架构该如何设计
双十一亿级用户日活统计如何用Redis快速计算
双十一电商推荐系统如何用Redis实现
双十一电商购物车系统如何用Redis实现
类似微信的社交App朋友圈关注模型如何设计实现
美团单车如何基于Redis快速找到附近的车
Redis 6.0 多线程模型比单线程优化在哪里了
Spring
请简要描述一下IOC 和AOP?
Spring是怎么解决的循环依赖?
为啥Spring不能解决"A的构造方法中依赖了B的实例对象
Spring 中使用的那种方式来实现动态代理的?
Spring中的事务传播机制?事务嵌套
Spring中同一个类中有方法A 和 B 两个方法都被标记了@Transtional,在A中调用了B,那么B的事务会生效吗?为什么?
Spring 中IOC 和工厂模式的区别,为啥不用工厂模式?
网络
select、poll、epoll之间的区别
BIO、NIO、AIO
BIO
NIO
NIO 和 BIO 对比
netty是用select 还是 epoll
Channel 的基本介绍
说说Reactor线程模型的理解
AIO
Reactor 单线程
Reactor 多线程
Reactor 主从
TCP三次握手四次挥手
四次挥手中TIME_WAIT状态存在的目的是什么?
TCP是通过什么机制保障可靠性的?
TCP粘包,拆包及解决方法
操作系统虚拟内存换页的过程
kafka
Sentinel的简单原理
`服务隔离机制:`线程池隔离或者信号量隔离机制
分布式锁
数据库乐观锁
Redis分布式锁
Mysql
本地事务
隔离型(Isolation) 主要由MVCC和锁实现
MVCC 多版本并发控制
回滚日志 `undo log`
事务日志 `REDO LOG` Write Ahead Log(WAL)策略
锁
索引
索引类型
高性能索引的一些策略
什么是联合索引,为什么建议尽量用联合索引
什么是覆盖索引,以及优点?
为什么使用B+树,而不用其他的例如红黑树做索引
InnoDB 与 MyISAM 结构上的区别
什么是索引下推
分区分表分库
项目介绍
秒杀系统
你做的这个秒杀系统QPS怎么样
你怎么判断需要多少机器来承受?
如果判断一个机器达到了极限?CPU IO 磁盘?
缓存穿透 缓存击穿 缓存雪崩
漏桶算法和令牌桶算法
操作系统
什么是零拷贝
什么是 DMA (DMA控制器Direct Memory Access)
传统拷贝方式
利用 mmap()实现零拷贝 **`应用程序跟操作系统共享这个缓冲区(地址映射)`** 用户空间可以修改数据
sendfile() 方式零拷贝 **`不仅减少了数据拷贝操作,它也减少了上下文切换`** 但是用户空间不可修改数据
带有 DMA 收集拷贝功能的 sendfile() **`不拷贝内容,只拷贝描述符(带地址和偏移量)`**
利用写时复制
Java NIO对文件映射mmap的支持
Java NIO对sendfile的支持就是
Spring
Spring cloud
开放性问题
你觉得一个好的团队应该是什么样的?
解决问题的能力
平时会使用设计模式吗?请讲一个使用的情景
工作中有碰到过线上的问题吗?怎么解决的?
你有过Jvm调优经验吗?
你做了这么多系统,是怎么做系统监控的,系统的稳定性?内存满了,磁盘满了,和cpu高了之类的?
有碰到过数据库死锁的问题吗?怎么解决的?
算法
滑动窗口
反转单链表
复杂链表复制
数组a,先单调地址再单调递减,输出数组中不同元素个数。要求:O(1)空间复杂度,不能改变原数组
给出两个升序数组A、B和长度m、n,求第k个大的数
给出数组A,长度为n,数组中元素的值位于[0, n - 1]之间,求是否有重复元素
镜像二叉树
二叉树多个节点的最近公共祖先
树的非递归先序遍历。
如果本文对你有帮助,别忘记给我个3连 ,点赞,转发,评论,
,咱们下期见! 答案获取方式:已赞 已评 已关~
什么情况?支付牌照又少3张!支付业十年39家退圈现代人,谁也离不开支付。哪家支付机构能卖POS机哪家电商平台能卖礼品卡,都由一张支付牌照说了算。近日,央行公布了首批支付牌照二次续展结果首批27家机构里,支付宝财付通(微信支付的主
再抛减持计划!国家大基金三天两次出手这次目标是A股芯片封测龙头从2015年助力通富微电收购AMD旗下封测资产,到2018年接下富士通中国退出股份,国家集成电路产业投资基金股份有限公司(简称国家大基金)对芯片封测龙头公司通富微电的发展助力可谓不
零信任网络助力工业互联网安全体系建设随着云计算大数据物联网5G边缘计算等IT技术的快速发展,支撑了工业互联网的应用快速落地。作为新基建的重点方向之一,工业互联网发展已经进入快轨道,将加速中国制造向中国智造转型,并推动
相约世界智能大会体验无人驾驶乐趣在即将开启的第五届世界智能大会上,市民可以体验一把无人驾驶的新奇和乐趣了。据悉,将于5月21日至23日举办的2021世界智能驾驶挑战赛全面升级,设置驾驶辅助赛落地先行赛极限挑战赛智
华为确定鸿蒙OS全面开源,小米会心甘情愿放弃安卓吗?一直以来,我都使用小米,自己用,给家人买,帮朋友买,买了不下50部小米手机,还有小米电视,充电宝,耳机,手环等等!可谓是忠实米粉!如果小米不用鸿蒙系统,以后我就不买小米了,什么品牌
华为确定鸿蒙OS全面开源,小米会心甘情愿放弃安卓吗?华为已经确定,鸿蒙OS全面开源,就和安卓系统一样,所有第三方手机厂商都能用。不得不说,华为的时间点选得很巧妙,特意将鸿蒙OS全面开源的消息,选在Android12发布会之前公布。甚
为什么有人宁愿每年买一部千元机,也不愿一次买部高端机?每年都买千元机说明每年只有这些手机预算,一次拿出4000元和分三年拿出4000元还是很不一样的。千元机虽然不高端但是够用,而且每年总能换新的用。何况这年头手机更新换代这么快,你就真
bose音箱和BampampO的区别是什么?Bose是美国麻省理工学院教授AmarG。Bose博士于1964年创办的。是美国最大的扬声器厂家之一,不仅在比如大型体育场音乐厅等公共场所等所需的商用专业音响有一定的市场,在家庭影
有什么轻薄的5G手机推荐吗?一说到轻薄手机,那多数人首先就会想到小屏手机,毕竟大屏手机还能保持轻薄的真心不多。在我们的认识中,纯正的小屏手机只有三星的Galaxy20苹果的iPhone11Pro华为的P40,
最近这几年武汉为什么发展的这么好?武汉是一座没有短板的城市,所有的方面极便不是最好,但都非常的好,因此武汉的发展是全方位的,发展速度呈几何级数上升,城市越发展,就越有吸引力,人口越增长,各方面的发展相互促进,发展就
如何评价朱萧木这个人,他算不算老罗最忠实的拥趸?我觉得算是。从2013年开始,朱萧木就是锤子科技的一号员工。是老罗从事手机行业的第一位下属。在锤子科技时期,他是锤子科技的产品经理,尤其是在系统软件方面,朱萧木做了很多工作。后来随