1)内存管理
java中的内存是由JAVA来管理的,划分为三块区域:栈,堆,方法区。
1.1)堆
存储new出来的对象(包括实例变量)
1. 所谓的垃圾指的是没有任何引用指向的对象,java中的垃圾回收机(GC)不定时到堆中清扫
垃圾,回收过程是透明的(看不到的),不是一发现垃圾就立刻回收,通过调用System.gc()
建议虚拟机尽快调度gc来回收
2. 实例变量的生命周期:创建对象时存储咋堆中,对象被回收时一并被回收
3. 内存泄漏指不再使用的内存还没有被及时的回收,严重的泄漏会导致系统的崩溃,所有建
议不再使用的对象应及时将引用设置为null
1.2)栈
1.存储正在调用的方法中的局部变量(包括方法的参数)
2. 调用方法时在栈中为该方法分配一块对于的栈帧,栈帧中存储局部变量(包括方法参数),
方法调用结束时,栈帧被自动清除,局部变量一并消失
3.局部变量的声明周期:调用方法时存储在栈中,方法调用结束时与栈帧被一并清除
1.3)方法区
1.存储.class字节码文件(包括静态变量,方法)
2.方法只有一份,通过this来区分具体的调用对象
2)面向对象总结
2.1)封装
1.类:封装的是对象的属性和行为
2.方法:封装的是具体的业务逻辑功能实现
3.访问控制修饰符:封装的是具体的访问权限
2.2)继承
1.作用:代码复用
2.超类:所有牌神很累所共有的属性和行为
接口:部分派生类共有的属性和行为
派生类:派生类所特有的属性和行为
3.单一继承,多接口实现,具有传递性
2.3)多态
1.行为的多态:所有抽象方法都是多态的
对象的多态:所有对象都是多态的
2.向上造型,强制类型转换,instanceof判断
3.多态的表现形式:
行为多态:通过方法的重写来表现的
对象多态:通过继承Object,向上造型来表现的