1、Exception是九大内置对象之一,其实例代表其他页面的异常和错误,只有在属性isErrorPage=true才可以使用
2、一旦一个共享变量(如类的成员变量,类的静态成员变量)被volatile修饰,具备两层语义:
2.1不同线程对这个变量进行操作的可见性
2.1禁止进行指令重排序(volatile只提供了保证访问该变量的时候,每次都从内存中取出最新值,对于变量的改变,不提供原子性保护;多线程下计数器需要加锁保护)
3、子类、父类构造方法
子类构造方法优先调用父类构造方法,如果子类的构造方法没有明显的指出父类的构造方法,则默认调用父类的无参构造方法,若父类没有无参的构造方法,则需要显示的调用父类的构造方法
4、当try和catch中有return时,会执行完fianally在执行return;如果try、finally语句中均有return,忽略try的return,而使用finally的return。
(这是一条分界线)
1、Javac.exe是编译功能JavaCompiler;java.exe是执行class
javac Name.java
java Name
2、forward、redirect
其中forward服务器获取跳转页面内容传给用户,而用户地址栏不变
redirect是服务器向用户发送转向地址,redirect后地址栏变成新的地址。
3、fileInputStream提供了对文件的字节读取
fileReader提供了对文件字符读取
fileWriter提供了对文件的字符写入
file类提供了对文件的基本操作,包括删除 、文件路径等操作。
4、Java Object类默认的方法
getClass(),hashCode(),equals(),clone(),toString(),notify(),notifyAll(),wait(),finalize();
5、hashMap允许Null作键
6、关于super和this
首先,super:用于调用父类的某一构造函数,this用于调用同类中的其他构造函数。
super()和this()均需放在第一行,两者都是指的对象,所以不可在Static环境中使用。
this可以调用一个构造器,但是不能调用多个。
super和this不能同时存在,因为this回调用其他的构造函数,其他的构造函数也会有super语句的存在,所以在同一个构造函数里面有相同的语句,就失去了语句的意义,编译器也不会通过。
7、对线程控制:Object类(wait,notify,notifyAll),Thread类(sleep);Condition接口(await(),signal())补充:其中Thread.sleep()和Object.wait()都可以抛出InterruptedException,不能忽略,因为它是一个检查异常。
8、抽象方法不能有函数体!!!
9、注意子类的权限不能比父类的要低!!接口中默认的修饰符为public abstract
10、<<左移 >>右移 >>>无符号右移
11、Java用监视器机制实现了进程之间的同步执行(相当于线程的异步执行——通过使用监视器锁来实现不同线程的异步执行,语法中表现得是synchronized)