Java面试题和解答(四)
程序员文章站
2022-05-29 10:42:10
...
1、JVM什么情况下会GC,GC策略有哪些
当应用程序分配新的对象,GC的代的预算大小已经达到阈值,比如GC的第0代已满;代码主动显式调用System.GC.Collect();其他特殊情况,比如,系统报告内存不足、CLR卸载AppDomain、CLR关闭,甚至某些极端情况下系统参数设置改变也可能导致GC回收
2、什么是OutOfMemoryError和*
如果虚拟机在扩展栈时无法申请到足够的内存空间,则抛出OutOfMemoryError异常,一般是因为申请的数组或者ArrayList、HashMap之类的数据量太大所导致的。
如果线程请求的栈深度大于虚拟机所允许的最大深度,将抛出*Error异常,一般是由于大量的递归运算而导致栈内存不够。
一般在单线程程序情况下无法产生OutOfMemoryError异常,使用多线程方式也会出现OutOfMemeoryError,因为栈是线程私有的,线程多也会方法区溢出
3、JVM栈空间分配过大会导致什么问题
4、JVM中怎么检测死循环和死锁
死锁:
死循环:
5、解释一下BIO,NIO,NIO2,AIO
6、NIO包下的Poll和Select区别?
7、HTTP/1.1基础
8、TCP协议中的三次握手和四次挥手
以上就是Java面试题和解答(四)的详细内容,更多请关注其它相关文章!
推荐阅读
-
JAVA实现单例模式的四种方法和一些特点
-
Java常见面试题之多线程和高并发详解
-
java环境变量为什么要配置path和classpath详细解答
-
linkedlist和arraylist的区别是什么(java的四种引用关系从强到弱)
-
linkedlist和arraylist的区别是什么(java的四种引用关系从强到弱)
-
java应届生面试题及答案(java创建线程的四种方式)
-
java应届生面试题及答案(java创建线程的四种方式)
-
java环境变量为什么要配置path和classpath详细解答
-
Java 复习题(四)InetAddress和URL
-
J04-Java IO流总结四 《 FileReader和FileWriter 》