欢迎来到天天文库
浏览记录
ID:37762171
大小:37.87 KB
页数:10页
时间:2019-05-30
《快速学习 java》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据存储:1.寄存器,程序里没有直接控制权。2.堆栈,常驻内存的区域,存放对象句柄。3.堆,内存池,存放对象。4.静态存储,内存中固定位置,存放static修饰的数据。5.常数存储,通常置于程序代码内部。6.非RAM存储,数据独立于程序之外,如流式对象,主数据类型存储:非句柄的自动变量,此变量容纳了其具体的值,并置于堆栈中。boolean1char16byte8short16Int32long64float32double64数值类型都是有符号的。主数据类型都有自己的封装器类:用对象表示主数据类型,其作为方法参数时,同主数据类型一样在
2、方法内并不能改变其值。高精度数字:BigInteger和BigDecimal,没有对应的主类型,不能使用运算符,必须使用函数调用。其支持任意精度的整数和定点数字。垃圾回收器:会查找用new创建的所有对象,并辨别哪些不再被引用,其辉自动释放哪些内存。主数据类型作为类成员,会有默认值。boolean为false,char为null,byte、short、int为0,long为0L,float为0.0f,double为0.0d。“==”运算符只用于堆栈内容的比较,对于String类型若比较内容则需使用equals。如果在函数里主数据类型没有
3、初始化会得到一个随机值,但会报编译期错误。Stirngs=newString(“aa”);Strings1=newString(“aa”);Strings2=”aa”;Strings3=”aa”;System.out.println(s==s1);System.out.println(s2==s3);会输出false和true:使用new创建的字符串会在先在字符串池看是否存在此字符串,如果没有则写入字符串常量池,并且在堆中创建此字符串对象,因此会产生两个对象。直接赋值方法则会在字符串池中查找有无此字符串,若无则添加,并且将放在堆栈中的
4、句柄指向此串。故s2和s3指向的都是字符串池中的同一地址,而s和s1分别指向的堆中的不同对象。String类型作为函数参数不会改变其值。for(inti=1,j=i+10;i<5;i++,j=i*2){System.out.println("i="+i+"j="+j);}Java中唯一用到label的地方就是循环语句之前,用于跳出外层循环。label1:外部循环{内部循环{//...break;//1//...continue;//2//...continuelabel1;//3//...breaklabel1;//4}}将一个flo
5、at或double值造型成整数值后,总是将小数部分“砍掉”,不作任何进位处理。重载:参数列表不同,可以是顺序不同,但返回值类型必须一致。如果类中没有提供构造方法,则编译器会自动创建一个不带参数的构造方法,如果定义了一个构造器,无论是否带参数,编译器都不会再创建。在static方法内不可以使用this关键字。This为当前对象的句柄,super为父类句柄。在构造器中调用另一个构造器用this().不能从一个static方法内发出对本类中非static方法的调用。垃圾回收器只能回收用new出来的对象。垃圾收集器不能强制执行,只能通过调用S
6、ystem.gc()建议jvm进行垃圾回收。垃圾回收器线程作为低优先级线程运行。每个对象都有finalize()方法,是从objcet类继承而来。Finalize()方法用来回收内存以外的资源,每个对象只可以调用finalize方法一次。Finalize方法可以明确调用,但其不能进行垃圾收集。进行垃圾收集时,先会调用对象的finalize方法,使得不可到达的对象再次复苏为可到达的对象,每个对象只能复苏一次。垃圾回收器回收标准:当一个对象赋值为null(且不被监听)或重定向了该对象的引用。初始化顺序:父类静态成员变量或父类静态代码块,子
7、类静态成员变量或子类静态代码块,父类普通成员变量,父类构造方法,子类普通成员变量,子类构造方法。数组初始化,用new创建后int为初始化0。初始化非主类型数组必须使用new。构造方法不可以重写。数组名或对象名作为参数可以改变原值。Java访问权限修饰符:1.Class类的访问权限:public和默认(没有修饰符,同一包中的类可以访问),每个类文件至多有一个public的class,此publicclass必须和类文件同名,可以没有public的class,也可以没有和类文件同名的class。2.类成员变量和方法访问权限:public,
8、private,默认(包访问权限,同一包中的其他类中定义的该对象可以访问),protected(对于同一包中的类与默认相同,不同包的类子类可以继承protected属性或方法,所以只能在其子类中访问父类的protecte
此文档下载收益归作者所有