Java基础面试问题

169 阅读1分钟

java面经问题及其回答

String类问题

枚举类

  • 为什么使用枚举实现单例的方式最好?

    枚举类里的值是在类被加载时初始化。当一个Java类第一次被真正使用到的时候静态资源被初始化、Java类的加载和初始化过程都是线程安全的。所以,创建一个enum类型是线程安全的。更多内容可以参考www.hollischuang.com/archives/19…

异常

  • Error和Exception的区别

    Error类一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢出等。如java.lang.StackOverFlowError和Java.lang.OutOfMemoryError。对于这类错误,Java编译器不去检查他们。对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和预防,遇到这样的错误,建议让程序终止。

    Exception类表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常。又分为运行时异常(Runtime Exception)和受检查的异常(Checked Exception ) 更多内容可以参考 blog.csdn.net/goodlixueyo…

线程

  • 创建线程的方式

    1.继承Thread类创建线程

    2实现Runnable接口创建线程

    3使用Callable和Future创建线程

    4使用线程池例如用Executor框架

  • 线程生命周期

    新建(New)、就绪(Runnable)、运行(Running)、阻塞(Blocked)和死亡(Dead)5种状态