Java
文章平均质量分 73
伪文艺编程妞
这个作者很懒,什么都没留下…
展开
-
Java之访问子类对象的实例变量
子类的方法可以访问父类的实例变量,这是因为子类继承父类就会获得父类的成员变量和方法。父类的方法不能访问子类的实例变量,父类无从知道它将被哪个子类继承,它的子类将会增加怎样的成员变量。Java对象不是由构造器创建的,只是负责对Java对象实例变量执行初始化。在执行构造器之前,该对象所占的内存已经被分配下来,这些内存里的值默认是空值。基本数据类型的默认值为0或false,引用类型的变量的默认值原创 2016-05-24 17:01:41 · 877 阅读 · 0 评论 -
Java的内存回收之内存泄漏与垃圾回收
内存泄漏程序运行过程中会不断地分配内存空间,那些不再使用的内存空间应该即时回收它们,从而保证系统可以再次使用这些内存,如果存在无用的内存没有被回收起来,那就是内存泄漏。垃圾回收机制垃圾回收:1:跟踪并完成每个Java对象,当某个对象处于不可达状态时,回收该对象所占用的内存;2.清理内存分配、回收过程中产生的内存碎片实现高效jvm的一个重要方面就是提供高效原创 2016-06-21 17:31:43 · 1721 阅读 · 0 评论 -
Java内存回收(一)
通过关键字new创建Java对象,可视作为Java对象申请内存空间,JVM会在堆内存中为每个对象分配空间;当一个Java对象失去引用时,JVM的垃圾回收机制会自动清除它们,并回收它们所占的内存空间。Java内存管理包括内存分配(创建Java对象时)和内存回收两个方面(回收Java对象时)。对于Jvm的垃圾回收机制来说:是否回收一个对象的标准在于:是否还有引用变量引用该对象?只要原创 2016-06-16 17:02:46 · 513 阅读 · 0 评论 -
面向对象之instanceof
instanceof是一个简单的操作运算符。它的前一个操作数通常是一个引用类型的变量,后一个操作数通常是一个类,用于判断前面的对象是否是后面的类或其子类、实现类的实例。根据Java语言的规范,使用instanceof运算符有一个限制:instanceof运算符前面操作数的编译时类型必须是如下3种情况: 要么与后面的类相同 要么是后面类的父类 要原创 2016-06-28 15:08:30 · 771 阅读 · 0 评论 -
Java之父类构造器
当创建任何Java对象时,程序总会依次调用每个父类非静态初始化块/父类构造器执行初始化,最后调用本类的非静态初始化块/构造器执行初始化。一 隐式调用和显式调用当调用某个类的构造器来创建Java对象时,系统总会调用父类的非静态初始化块进行初始化。这个调用是隐式执行,而且父类的静态初始化块总是会被执行。接着会调用父类的一个或多个构造器执行初始化,这个调用既可以通过supe原创 2016-05-23 22:54:22 · 565 阅读 · 0 评论 -
Java之实例变量和类变量
Java程序的变量大体分为成员变量和局部变量。局部变量可以分为三类: 1 形参:在方法签名中定义的局部变量,由方法调用者负责为其赋值,随方法的结束而消亡。 (方法签名由方法名称和一个参数列表(方法的参数的顺序和类型)组成) 2 方法内局部变量:在方法内定义的局部变量,必须在方法内对其进行显式原创 2016-05-23 21:46:31 · 559 阅读 · 0 评论 -
Java之数组
一 数组 Java语言的数组变量是引用类型的变量。是多个类型相同变量的集合。Java的数组是静态数组。必须经过初始化方可使用。(为数组对象的元素分配内存空间,为每个数组元素指定初始值 也就是通过new建立实例)。二 数组初始化 数组初始化有两种初始化方式:1 静态初始化:初始化时由程序员显示指定每个数组元素原创 2016-05-22 23:15:20 · 541 阅读 · 0 评论 -
Java之集合的实现细节(一)
Set和Map通过继承关系体系,我们可以得出SetMapEnumSetEnumMapSortedSetSortedMapTreeSetTreeMapNavigableSetNavigableMapHashSetHashMapLinkedHashSetLinkeHashMap表面上这两种集合没有太大关系,但是如果只考虑Map集合原创 2016-06-02 18:24:25 · 711 阅读 · 0 评论 -
Java之final修饰变量
final修饰的实例变量被final修饰的实例变量必须显示指定初始值,而且只能在如下3个位置指定初始值:1.定义final实例变量时指定初始值;2.在非静态初始化块中为final实例变量指定初始值3.在构造器中为final实例变量指定初始值对于普通实例变量,Java程序可以对它执行默认的初始化,也就是将实力变量的值指定为默认的初始值0或null,原创 2016-05-31 15:25:20 · 4768 阅读 · 2 评论 -
Java之父、子实例的内存控制
1继承成员变量和继承方法的区别如果在子类重写了父类方法,意味着子类里定义的方法会彻底的覆盖父类里同名的方法,系统将不可能把父类里的方法转移到子类中。对于实例变量则不存在这样的现象,即使子类中定义了与父类完全同名的实例变量,这个实例变量依然不可能覆盖父类中定义的实例变量。因为继承成员变量和继承方法之存在这样的差别,该实例变量的值取决于声明该变量时的类型;当通过该变量来调用它所引用的对象的原创 2016-05-26 18:09:11 · 583 阅读 · 1 评论 -
Java之调用被子类重载的方法
有一种特殊的重写方法,就是当子类重写父类方法,父类表面上只是调用属于自己的、被子类重写的方法,但随着contex的执行改变,将会变成父类直接调用子类的方法。public class Animal { private String desc; public Animal() { System.out.println("Animalgouzao"+desc); // TODO Aut原创 2016-05-26 15:48:45 · 2411 阅读 · 0 评论 -
Java内存之内存管理的小技巧
1尽量使用直接量当需要使用字符串,还有Byte、Short、Integer、Long、Float、Double、Boolean、Character包装类的实例时,程序不应该采用new的方式来创建对象,而应该直接采用直接量来创建它们。2使用StringBuilder和Stringbuffer进行字符串连接String、StringBuilder和StringBuffer都可代原创 2016-06-22 11:01:33 · 735 阅读 · 0 评论