1.同步和异步
同步: 可以理解为在执行完一个函数或方法之后,一直等待系统返回值或消息,这时程序是出于阻塞的,只有接收到返回的值或消息后才往下执行其他的命令。
异步: 执行完函数或方法后,不必阻塞性地等待返回值或消息,只需要向系统委托一个异步过程,那么当系统接收到返回值或消息时,系统会自动触发委托的异步过程,从而完成一个完整的流程。
2.强制性异常和非强制性异常
java中的异常分为两大类,强制性异常(CheckedException)和非强制性异常(UncheckedException)。而java中除了RuntimeException外,都是强制性异常。 强制性异常:所谓强制性异常就是在编写程序的过程中必需在抛出异常的部分try catch 或者向上throws异常。 非强制性异常:所谓非强制性异常就和上面相反了。不过你当然也可以try catch或者thows,只不过这不是强制性的。
3.静态代码块
随着类的加载而执行,且只执行一次。
4.IO流
5. 什么是 java 序列化,如何实现 java 序列化?
序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。 序 列 化 的 实 现 : 将 需 要 被 序 列 化 的 类 实 现 Serializable 接 口 , 该 接 口 没 有 需 要 实 现 的 方 法 , implements Serializable 只是为了标注该对象是可被序列化的,然后使用一个输出流(如: FileOutputStream)来构造一个 ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream 对象的writeObject(Object obj)方法就可以将参数为 obj 的对象写出(即保存其状态),要恢复的话则用输入流。 序列化原文链接
6.eclipse报PermGen space异常
问题原因 内存溢出 解决办法 1.修改eclipse的Run->Run Configurations 在tomcat的Arguments选项,VM arguments中加入下面代码
-Xms256m –Xmx512m –XX:MaxNewSize=256m –XX:MaxPermSize=256m
2.Window->Java->Installed JREs->jre6->Edit 在Default VM Arguments:中加入
-XX:MaxPermSize=500m
7.老版本的Chrome 不支持部分ES6语法
今天遇到不支持 for…of…
for (variable of iterable) {
statement
}
variable:每个迭代的属性值被分配给该变量。 iterable:一个具有可枚举属性并且可以迭代的对象。 以map集合为例,for…of 循环将为每次迭代返回一个 key-value(键值) 数组
const iterable = new Map([['one', 1], ['two', 2]]);
for (const [key, value] of iterable) {
console.log(`Key: ${key} and Value: ${value}`);
}
// Output:
// Key: one and Value: 1
// Key: two and Value: 2