标签:nal 内存 loading 标签 类型 区分 出现 info img
1.JVM新加“即时编译”,将热点代码直接编成底层代码,减少增加翻译之后可能存在的通信歧义或效率问题;
2.字符集和字符编码
字符集:Unicode
字符编码:
utf-8(这个是可变编码,需要1位用1位,需要15位放15位,最大可扩容到4字节,标记隔离的方式是这个字符的前2位来标识是否继续读);
utf-16(可变的,1个字节或2字节,比utf-8容易,比utf-32短);
utf-32
3.引用类型的有:对象、数组、枚举
4.java内存(类只被加载一次):
方法区:
静态成员变量,代码
栈(和线程绑定,几个线程几个栈空间):
局部变量,方法的参数
堆:
对象、数组、枚举;
5.java默认的&&和||都是短路的;
6.语句分类:赋值语句、声明语句、流程语句;
7.switch->byte,short,int,char(及包装类)、枚举、1.7之后String;
8.for each后可接数组和实现了iterable接口的;
9.如果想用break跳出两层循环,可以用标签;
例子:
out: for (int i = 0; i < 8; i++) { for (int j = 0; j < 6; j++) { if(i==2){ break out; } } }
10.方法修饰符:
访问控制符<防止无调用>
default(1.8以后接口中用这个来写方法体)
final可修饰在类、方法、变量<成员变量 and 局部变量>(只能赋值一次)、方法参数(参数不可赋值);
final,finally,finalize区别:
final:修饰变量时,该变量为常量,只能赋值一次;
修饰方法时,该方法不可被重写;
修饰类时,该类不可被继承;
修饰方法参数,该参数不可被修改;
finally:try-catch后的必然执行的;
11.GC处理:内存不够时、CPU空间时、主动调用System.gc();
12.方法签名:方法名和参数构成方法签名,方法签名用于区分函数;
13.Java本身不会有内存泄漏,出现内存泄漏是因为程序员认为操作失误导致的;
标签:nal 内存 loading 标签 类型 区分 出现 info img
原文地址:https://www.cnblogs.com/jokerWzz/p/13300236.html