当前位置:   article > 正文

Java架构师面试网整理-JVM面试专题(共8题含答案)_java8堆栈面试题

java8堆栈面试题

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

1、什么情况下会发生栈内存溢出? 答:如果线程请求分配的栈容量超过java虚拟机栈允许的最大容量的时候,java虚拟机将抛出一个StackOverFlowError异常

2、你知道哪几种垃圾收集器,各自的优缺点,重点讲下cms和G1,包括原理,流程,优缺点。 答:Serial收集器、Parallel(并行)收集器、CMS收集器(基于“标记-清除”算法实现的)、G1收集器(基于“标记-整理”算法实现的)

3、双亲委派模型 答:双亲委派模型工作过程是:如果一个类加载器收到类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器完成。 每个类加载器都是如此,只有当父加载器在自己的搜索范围内找不到指定的类时(即ClassNotFoundException),子加载器才会尝试自己去加载。 防止黑客恶意篡改某些java类,进行注入恶意代码。

4、如何打破双亲委派机制 答:1、自己写一个类加载器2、重写loadclass方法3、重写findclass方法

5、怎么打出线程栈信息? 答:一、通过命令pidof java找到已经启动的java进程ID。二、使用命令kull-3 <java进行的pid> 打印出java程序的线程堆栈信息

6、简单讲讲tomcat结构,以及其类加载器流程,线程模型等 答:Tomcat启动时,会创建以下四个类加载器 1)Bootstrap引导类加载器:(主要加载JVM启动所需要的类)。 2)System系统类加载器:(主要加载Tomcat启动时的类) 3)Common通用类加载器(主要加载tomcat使用以及应用通用的一些类) 4)webapp应用类加载器(主要加载每个应用的class文件)

7、tomcat如何调优,涉及哪些参数 • -server:启用jdk的server版本。 • -Xms:虚拟机初始化时的最小堆内存。 • -Xmx:虚拟机可使用的最大堆内存。 #-Xms与-Xmx设成一样的值,避免JVM因为频繁的GC导致性能大起大落 • -XX:PermSize:设置非堆内存初始值,默认是物理内存的1/64。 • -XX:MaxNewSize:新生代占整个堆内存的最大值。 • -XX:MaxPermSize:Perm(俗称方法区)占整个堆内存的最大值,也称内存最大永久保留区域。

8、调用system.gc()马上就执行gc吗? 并不会马上执行gc,甚至不一定会执行gc。这句话只是建议jvm进行gc,当我们代码这样写的话会把gc请求记录下来 等到变量runFinalization=true的时候才会去执行gc。如果真需要马上gc代码应该是 System.gc(); runtime.runFinalizationSync(); System.gc(); 不过虚拟机有自己的gc策略,不建议手动gc

本文由博客群发一文多发等运营工具平台 OpenWrite 发布

2021年Java中高级面试必备知识点总结

在这个部分总结了2019年到目前为止Java常见面试问题,取其面试核心编写成这份文档笔记,从中分析面试官的心理,摸清面试官的“套路”,可以说搞定90%以上的Java中高级面试没一点难度。

本节总结的内容涵盖了:消息队列、Redis缓存、分库分表、读写分离、设计高并发系统、分布式系统、高可用系统、SpringCloud微服务架构等一系列互联网主流高级技术的知识点。

目录:

(上述只是一个整体目录大纲,每个点里面都有如下所示的详细内容,从面试问题——分析面试官心理——剖析面试题——完美解答的一个过程)

部分内容:

对于每一个做技术的来说,学习是不能停止的,小编把2019年到目前为止Java的核心知识提炼出来了,无论你现在是处于什么阶段,如你所见,这份文档的内容无论是对于你找面试工作还是提升技术广度深度都是完美的。

不想被后浪淘汰的话,赶紧搞起来吧,高清完整版一共是888页,需要的话可以点赞+关注
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!
讲解视频+实战项目源码》点击传送门,即可获取!**

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/960333
推荐阅读
相关标签
  

闽ICP备14008679号