java 重新学习 (一)
一 垃圾回收特点
1.垃圾回收的工作目标是回收物对象的内存空间,这些内存空间都是jvm堆内存里的空间,垃圾回收器值回收内存资源,对他的物理资源:数据库连接,磁盘I/O等资源则无能为力
2.更快进行垃圾回收,代码可以设置引用变量为null,通过这种暗示垃圾回收器回收该对象。
3.垃圾回收不可以预知性:内存消耗出现极限 或 CPU空闲
4.Runtime对象的gc()或System.gc();方法不能准确空值垃圾回收机制的执行。
5.java8 删除了 永生代内存PermGen ,而是改为使用本地内存来存储类的元数据信息,元空间Metaspace 。注:(永生代内存主要用于存储一些需要常驻的内存,通常不会被回收的信息。)
6.java8 删除了传统的CMS 垃圾回收器 ,java9 默认采用低暂停的G1垃圾回收器。
二 封装:将对象的实现细节隐藏起来,通过一些公共方法暴露该对象的功能。
继承:软件复用,子类直接获得父类的属性和方法
多肽:子类对象可以赋给父类变量,同一类型的对象在执行同一个方法是,可能表现出多种行为特征。
三 基本类型:boolean 和 数值类型
数值类型:整数类型 byte,short,int (默认),long,char 浮点类型 float,double(默认)
引用类型:类,接口,数组类型
四 常用转义字符
\t \n \" \' \\
五 char类型参与数值类型运算时 表达式自动提升为数值类型 除去(short,byte),所以char值需要对应ASCII值
byte a = 16;char b = 'A' ;
//打印结果为 81
System.out.println(a+b);
View Code
六.常量池 里 包括类、方法、接口、中的常量,也包括字符串的直接量,常量池值得是编译期被确定,并被保存在已编译的.class文件中的一些数据
String sq = "hello";String sq2 = "hello";
String sq3 = "hel"+"lo";
//返回结果为true ture ture
System.out.println(sq==sq2);
System.out.println(sq==sq3);
System.out.println(sq2==sq3);
java 会确保每个字符串常量只有一个,不会产生多个副本,sq3编译期就为hello 所以sq3也是常量池的引用
View Code
七.除法运算符中,两个操作数有一个为浮点数,或者两个都为浮点数时,计算结果为无穷大
//显示结果Infinity 无穷大的意思System.out.println(5/0.0);
View Code
八.i++ ,++i
i++ 先运算,运算后再赋值 ++i先赋值,赋值后的值参与运算
以上是 java 重新学习 (一) 的全部内容, 来源链接: utcz.com/z/392169.html