一、内存管理:
由JVM来管理的
- 堆
1.1 储存所有new出了的对象(包括实例变量)
1.2 垃圾:没有任何引用所指向的对象
垃圾回收器(GC)不定时的取内存堆中清扫垃圾,回收过程是透明的(看不到的),不一定一发现垃圾就立刻回收,通过调用System.gc()可以建议虚拟机尽快调度GC来回收。
1.3 内存泄漏:不再使用的内存没有被及时回收,严重的泄漏会导致系统的崩溃
建议:不再使用的对象及时将引用设置为null
1.4 实例变量的生命周期:
创建 (new)对象时存在堆中,对象被回收时一并被回收 - 栈
2.1 储存正在调用的方法中的局部变量(包括方法中的参数)
2.2 调用方法时会在栈中为该对象分配一块对应的栈帧,栈帧中储存方法副局部变量(包括方法的参数),方法调用结束时,栈帧被清除,局部变量一并被清除
2.3 局部变量的声明周期: - 方法区
3.1 储存class字节码文件(包括方法、静态变量)
3.2 方法只有一份,通过this点来区分具体对象
面向对象的三大特征——————常见面试题
- 封装:
1.1 类:封装是对象的属性和行为
1.2 方法:封装一段特定的业务逻辑功能实现
1.3 访问控制修饰符: 封装集体的访问权限
1.4 - 继承
2.1 作用:代码复用
2.2 超类:所有派生类所共有的属性和行为
接口:部分派生类所共有的行为和属性
派生类:派生类所特有的属性和行为
2.3 单一继承,多接口实现,传递性,所有类都直接或间接的继承了object - 多态
3.1 行为的多态:所有抽象方法都是多态的
对象的多态:所有对象都是多态的
3.2 向上造型,强转类型转换,instanceof判断强转是否可行
3.3 多态的表现形式:重写