`
majm
  • 浏览: 34468 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

对象和内存

    博客分类:
  • Java
阅读更多
JVM的垃圾回收是一条后台线程完成。本身就很消耗性能。
1.不断分配额使得系统的可用内存减少,降低程序性能。
2.大量分配内存回收,使得垃圾回收负担加重。降低程序运行性能。

形参:在方法签名中定义的局部变量。
方法内部的局部变量,早方法内部定义的。随方法结束而消亡。
代码块中的局部变量,代码块中定义的。随代码块结束而消亡。


成员变量(field)
Javap <options> <class>
      -c;        分解方法的代码
      -l;        用于指定显示行号和局部变量
      -public;   显示级别
      -verbose;  更进一步的详细信息

父类的构造器,先静态初始化块,非静态初始化块构造器。

如果即没有super调用,也没有this调用,系统会在执行子类构造器之前,隐式调用父类无参构造器。

当this在构造器中,this代表正在初始化的java对象。

子类会隐式调用父类的构造器。
当父类构造this代表着谁初始类的实例。

Java处理成员变量,与成员方法是有区分的。
成员变量表现的是声明是的值。
成员方法表现的是该对象实际的内存值。如:JavaBean

当通过引用变量来访问它所引用对象实例时,该实例变量的值取决于是声明是所用的类型。

当在父子类关系时,
创建了类时,内存中有类的对象,其中也保存类他所有父类定义的全部实例变量。

父类中有同名的子类变量时,会隐常但不会被覆盖。

final是变量的修饰符。
final修饰的变量,不能对他重新赋值。

final只能在2个地方值定义初始值。
final的变量必须显式指定初始值。
在静态块中为final变量进行初始值。

宏替换,final,就是在编译时被确定下来。
final,初始赋值,在编译时,被当成了直接量。

在内部类中访问局部变量时,局部变量要用final来修饰。
Overried。注释修饰的方法,必须重写父类的方法。

对于普通局部变量而言,他的作用域就是停留在该方法中。当方法执行结束时,该局部变量也就消失了。
但是内部类可能产生隐式“闭包”闭包使得局部变量,脱离它所在的方法,继续存在。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics