发表于: 2019-12-13 22:54:29

3 1118


今天做了什么

复盘做的差不多了

看看面试题

收获:

  1. String和StringBuilder、StringBuffer的区别?

String,只读字符串,引用的内容不能改变

而后两者可以

StringBuilder单线程 不同步 效率高

  1. 重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?

都是实现多态的方式

重载指 同名方法参数列表不同,是编译时多态

重写发生在子类和父类间, 里氏:相同返回类型;比父类更好访问;比父类更稳定

  1. JVM加载class文件的原理机制?

加载:.class读入内存.产生class对象

连接:验证,准备(静态变量分配内存,设置初始值),解析(符号引用换成直接引用)

初始化:1.优先初始化父类 2.类中若有初始化语句则执行

  1. 抽象类(abstract class)和接口(interface)有什么异同?

相同点:都不能实例化,类若继承抽象类或实现接口,需要实现其全部抽象方法

接口比抽象类更抽象.抽象类中可存在构造器和具体方法, 接口中全是抽象方法

抽象类成员权限任意,接口全public

5.静态嵌套类Static Nested Class和内部类Inner Class

区别在于其实例化是否依赖于外部类,前者不依赖于外部类

6.Java内存泄露

可能发生场景 1Hibernate一级缓存对象属于持久态,GC不回收

2pop方法弹出栈中对象后,因为栈内部维护着过期引用,不会被GC回收

核心是无意识的对象保持

7.abstract,static,native,synchronized关键字:

abstrace方法需要被子类重写

static方法无法被重写

native方法由本地代码(如C代码)实现

对象的synchronized方法无法同时被多个线程访问

8.对象克隆:

1.实现Cloneable接口并重写clone(方法)

2.实现Serializable接口,通过对象的序列化和反序列化实现克隆

2优于1.  因为可通过泛型限定检查出要克隆的对象是否支持序列化,可让编译器检查异常而不是运行时再抛出异常

9.Error与Exception:

Error:系统级错误   严重   程序不必处理

Exception:需要捕捉 需要程序处理  是设计或实现问题

10.实现多线程方式:

继承Thread类

实现Runnable接口

实现Callable接口

11.线程基本状态:

runnable:就绪

running:运行

blocked:阻塞. 原因是:调用了wait() 或sleep() 或join()方法

12.过滤器的作用和用法

可截取客户端和服务端之间的请求与响应信息, 并进行过滤

问题

明天的计划

后台-角色管理




返回列表 返回列表
评论

    分享到