最近在复习Java基础的时候,我发现关于Java这部分的知识很碎很杂,不成体系,感觉知识点东一块西一块,今天我就把关于Java基础的十来个问题整理一下,基本上搞定这十几个问题就差不多了。
1.介绍一下 Object 常见方法?
2.Java为什么被称为平台无关性语言?
3.= =和equals有什么区别?
4.讲一下equals()与hashcode()
5.讲一下重载和重写的区别?
6.抽象和接口的区别?
7.聊一聊你对多态的理解?
8.谈一谈你对 final 关键字的理解?
9.异常连击问题
(1)说一说你对异常的理解?
程序在执行过程中发生了错误,导致程序无法继续执行,就叫异常。
(2)异常有哪些种类,可以举几个例子吗?
(3)throw 和 throws 有啥区别?直接 try catch 不好吗,为啥还要抛呢?
(4)try catch会影响性能吗?为什么抛出异常的时候会影响性能?
(5)try-catch-finally 中,如果 catch 中 return 了,finally 还会执行吗?
9. String 类的问题
(1)String 为什么要设计为不可变类?
(2)String、StringBuffer、StringBuilder 的区别?
10. Java 中的反射是什么意思?有哪些应用场景?有哪些优缺点?
不会。问到就废。
11. 什么是动态代理?有什么用?Java 中可以怎么样实现动态代理?
动态代理就是在不改变原代码的情况下,通过用反射机制来创建代理对象,从而对代码进行功能增强。可以说,通过反射机制来实现动态代理,又通过动态代理来实现面向切面编程(AOP)的设计思想。
讲完动态代理,就可以吹一波 AOP 了。吹完 AOP,又可以吹一波 IOC 了。