J2SE温故知新

Path:Windows系统执行命令时要搜索的命令
Classpath:java在编译和运行时要找的class所在的路径
Java采用Unicode编码,每个字符占用两个字节,因此可以用十六进制来表示
不像C语言在不同的操作系统下数据类型占用的大小也不一样,java中所有的类型大小都是不变的,因此可以一次编译处处运行,真正实现程序的可移植
Java中没有unsigned整数,所有的数都是有符号的
Java语言整型常量的3种表现形式:十进制、八进制(要求以0开头)、十六进制(要求以0x或0X开头)
Java浮点类型常量有两种表现形式:十进制和科学计数法
Java中boolean类型的变量不能转换成其他类型的变量
Byte、short、char—>int—>long—>float—>double
前三种类型之间不会相互转换,在计算时首先转换成int类型
如byte b1=1,b2=2;是对的,但byte b3=b1+b2;就错了,因为b1+b2是int类型,要强制转换为byte
Jar –cvf test.jar *.*  把自己的文件打成一个包,然后通过设置classpath到这个包就可以用了
子类在自己的构造方法中使用super(——)来调用基类的构造方法,且必须写在子类构造方法的第一行。使用this(——)来调用本类的另外的构造方法。
子类的构造的过程中必须调用基类的构造方法。如果子类的构造方法中没有显示的调用基类的构造方法,则系统默认调用父类无参数的构造方法,如果子类构造方法中既没有显示的调用,父类又没有默认的构造方法,则编译出错。
RunTimeException可以不处理,但其他的异常一定要处理
J2SDK所提供的容器API位于java.util包内
Set中的数据对象没有顺序且不可以重复
List中的数据对象有顺序且可以重复
容器中存放的只能是对象,不能存放基础类型


Windows系统下java路径用两个反斜杠或一个正斜杠表示,否则会找不到文件
对不变的data和object reference 使用final
一旦不再需要object reference ,就将它设为null,协助垃圾回收器取回内存
许多垃圾回收算法会在它们运转之前先suspend其他所有的线程,这种做法可以确保一旦垃圾回收器开始运转,能够拥有heap的完整访问权,可以安全完成任务而不受其他线程的威胁,一旦垃圾回收器完成运转,就resume之前所有被suspend的线程。因此通过System.gc()显示调用,要求垃圾回收器运行,得冒因执行回收工作而带来延迟的风险,延迟程度取决于JVM所采用的垃圾回收器算法。
int i=5;//primitive type
Integer j=new Integer(5);//object reference
不论是int和Integer都在stack中占据32bits空间但Integer对象在stack中记录的并不是对象本身,而是对象的reference
==和equals的区别:
使用= =测试两个基本类型是否完全相同,或测试两个object reference是否指向同一个对象,使用equals比较两个对象的值是否相等。
注:不要依赖equals()的缺省实现:要比较自己定义的两个对象是否相等,要重写equals方法,否则调用的是Object类的equals方法,比较的是两个对象是否指向同一个对象,则永远也不可能相等
处理先前抛出之异常时,如果catch段或finally区段又抛出异常,某些异常会因此被遮掩,只剩最后生成的那个异常才会传播给调用端。如果你想知道造成函数失败的罪魁祸首,那么你最好不要遮掩异常

你可能感兴趣的:(java,jvm,算法,windows,J2SE)