• Java面试题和解答(四)


    1、JVM什么情况下会GC,GC策略有哪些

    当应用程序分配新的对象,GC的代的预算大小已经达到阈值,比如GC的第0代已满;代码主动显式调用System.GC.Collect();其他特殊情况,比如,系统报告内存不足、CLR卸载AppDomain、CLR关闭,甚至某些极端情况下系统参数设置改变也可能导致GC回收

    http://www.cnblogs.com/jeffwongishandsome/p/talk-about-GC-and-how-to-use-GC-better.html

    http://www.cnblogs.com/tang9139/p/4519415.html

    2、什么是OutOfMemoryError和StackOverflow

    如果虚拟机在扩展栈时无法申请到足够的内存空间,则抛出OutOfMemoryError异常,一般是因为申请的数组或者ArrayList、HashMap之类的数据量太大所导致的。

    如果线程请求的栈深度大于虚拟机所允许的最大深度,将抛出StackOverflowError异常,一般是由于大量的递归运算而导致栈内存不够。

    一般在单线程程序情况下无法产生OutOfMemoryError异常,使用多线程方式也会出现OutOfMemeoryError,因为栈是线程私有的,线程多也会方法区溢出

    3、JVM栈空间分配过大会导致什么问题

    http://blog.csdn.net/qq_30739519/article/details/51042584

    4、JVM中怎么检测死循环和死锁

    死锁:http://www.cnblogs.com/ilahsa/archive/2013/06/03/3115410.html

    死循环:http://blog.csdn.net/sinat_36246371/article/details/53036544

    5、解释一下BIO,NIO,NIO2,AIO

    http://blog.csdn.net/zhangzeyuaaa/article/details/50520458

    http://www.cnblogs.com/handsome1013/p/4882862.html

    6、NIO包下的Poll和Select区别?

    http://www.cnblogs.com/Anker/p/3265058.html

    7HTTP/1.1基础

    http://www.cnblogs.com/cxd4321/p/3504632.html

    http://blog.csdn.net/macrossdzh/article/details/5256565

    8、TCP协议中的三次握手和四次挥手

    http://blog.csdn.net/whuslei/article/details/6667471/

  • 相关阅读:
    三种方式循环打印1-100的值
    线程中put(None)和主函数中put(None)的区别和用法
    进程、线程这篇博客,让你傻傻的一次就能记清楚
    单生产者进程和单消费者进程
    队列
    初始线程
    常见面试题之*args
    常见面试题之*args 和 **kwargs 的使用
    闭包函数之函数加括号和不加括号的意义
    仓鼠找sugar II
  • 原文地址:https://www.cnblogs.com/xiaoyangjia/p/6908901.html
Copyright © 2020-2023  润新知