-
JVM类加载过程?
-
JVM内存分配?
-
描述下JVM加载Class文件的原理机制?
-
GC是什么?为什么要有GC?
-
简述Java垃圾回收机制?
-
如何判断一个对象是否存活?(GC对象的判定方法)
-
垃圾回收的优点和原理。并考虑2种回收机制?
-
垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
-
Java中会存在内存泄漏吗,请简单描述。
-
深拷贝和浅拷贝
-
System.gc()和Runtime.gc)会做什么事情?
-
finalize(方法什么时候被调用?析构函数(finalization)的目的是什么?
-
如果对象的引用被置为null,垃圾收集器是否会立即释放对象占用的内存?
-
什么是分布式垃圾回收(DGC)?它是如何工作的?
-
串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?
-
在Java中,对象什么时候可以被垃圾回收?
-
简述Java内存分配与回收策略以及 Minor GC和Major GC。
-
JVM的永久代中会发生垃圾回收么?
-
Java中垃圾收集的方法有哪些?
-
什么是类加载器,类加载器有哪些?
-
类加载器双亲委派模型机制?
-
…
微服务架构
=====
-
SpringCloud
-
SpringBoot
-
Dubbo
1、SpringCloud面试整理
-
什么是Spring Cloud?
-
使用Spring Cloud有什么优势?
-
服务注册和发现是什么意思?Spring Cloud如何实现?
-
负载平衡的意义什么?
-
什么是Hystrix?它如何实现容错?
-
什么是Hystrix断路器?我们需要它吗?
-
什么是Netflix Feign?它的优点是什么?
-
什么是Spring Cloud Bus?我们需要它吗?
-
…
2、SpringBoot面试整理
-
什么是Spring Boot?
-
Spring Boot有哪些优点?
-
什么是JavaConfig?
-
如何重新加载Spring Boot上的更改,而无需重新启动服务器?
-
Spring Boot中的监视器是什么?
-
如何在Spring Boot中禁用Actuator端点安全性?
-
如何在自定义端口上运行Spring Boot应用程序?
-
什么是YAML?
-
如何实现Spring Boot应用程序的安全性?
-
如何集成Spring Boot和ActiveMQ?
-
如何使用Spring Boot实现分页和排序?
-
什么是Swagger?你用Spring Boot实现了它吗?
-
什么是Spring Profiles?
-
什么是Spring Batch?
-
什么是FreeMarker模板?
-
如何使用Spring Boot实现异常处理?
-
您使用了哪些starter maven依赖项?
-
什么是CSRF攻击?
-
什么是WebSockets?
-
什么是AOP?
-
什么是Apache Kafka?
-
我们如何监视所有Spring Boot微服务?
-
…
3、Dubbo面试整理
-
Dubbo中zookeeper做注册中心,如果注册中心集群都挂掉,发布者和订阅者之间还能通信么?
-
dubbo服务负载均衡策略?
-
Dubbo在安全机制方面是如何解决的
-
dubbo连接注册中心和直连的区别
-
…
并发编程高级面试
========
-
Synchronized用过吗,其原理是什么?
-
你刚才提到获取对象的锁,这个“锁”到底是什么?如何确定对象的锁?
-
什么是可重入性,为什么说Synchronized是可重入锁?
-
JVM对Java的原生锁做了哪些优化?
-
为什么说Synchronized是非公平锁?
-
什么是锁消除和锁粗化?
-
为什么说Synchronized是一个悲观锁?乐观锁的实现原理又是什么?什么是CAS,它有什么特性?
-
乐观锁一定就是好的吗?
-
跟Synchronized相比,可重入锁ReentrantLock其实现原理有什么不同?
-
那么请谈谈AQS框架是怎么回事儿?
-
请尽可能详尽地对比下Synchronized和ReentrantL ock的异同。
-
ReentrantLock 是如何实现可重入性的?
-
除了ReetrantL ock,你还接触过JUC中的哪些并发工具?
-
请谈谈ReadWriteLock和StampedLock。
-
如何让Java的线程彼此同步?你了解过哪些同步器?请分别介绍下。
-
CyclicBarrier 和CountDownl _atch看起来很相似,请对比下呢?
-
Java中的线程池是如何实现的?
-
创建线程池的几个核心构造参数?
-
线程池中的线程是怎么创建的?是一开始就随着线程池的启动创建好的吗?
-
既然提到可以通过配置不同参数创建出不同的线程池,那么Java中默认实现好的线程池又有哪些呢?请比较它们的异同。
-
如何在Java线程池中提交线程?
-
什么是Java的内存模型,Java 中各个线程是怎么彼此看到对方的变量的?
-
请谈谈volatile 有什么特点,为什么它能保证变量对所有线程的可见性?
-
既然volatile能够保证线程间的变量可见性,是不是就意味着基于volatile变量的运算就是并发安全的?
-
请对比下volatile对比Synchronized的异同。
-
请谈谈ThreadLocal是怎么解决并发安全的?
-
很多人都说要慎用ThreadLocal,谈谈你的理解,使用ThreadLocal需要注意些什么?
-
…
开源框架面试
======
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
最后
文章中涉及到的知识点我都已经整理成了资料,录制了视频供大家下载学习,诚意满满,希望可以帮助在这个行业发展的朋友,在论坛博客等地方少花些时间找资料,把有限的时间,真正花在学习上,所以我把这些资料,分享出来。相信对于已经工作和遇到技术瓶颈的朋友们,在这份资料中一定都有你需要的内容。
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
,让我们一起学习成长!**](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算