9.剑指JavaOffer-常用类库及技巧

image.png
image.png

err举例:outofmemoryerror和stackoverflowerror
StackOverflowError:抛出这个错误是因为递归太深.其实真正的原因是因为Java线程操作是基于栈的,当调用方法内部方法也就是进行一次递归的时候就会把当前方法压入栈直到方法内部的方法执行完全之后,就会返回上一个方法,也就是出栈操作执行上一个方法。
OutOfMemoryError:因为内存溢出,JVM不能分配给对象的创建空间.并且GC也不能够回收足够的空间.当你创建对象的速度快于JVM回收空间的时候就会发生空间不足这个问题

image.png

运行时异常:空指针
非运行时异常:打开文件 filenotfound这种的,编译器会校验的


image.png

image.png

image.png

image.png

这几个问题需要继续整理


image.png

image.png
image.png

这里补充下hashcode和equals,为什么重写了equals必须重写hashcode,因为当你重写之后,两个对象equals相等,但是没重写hashcode,hashcode不相等,这就会出现一个什么问题呢,比如一个hashmap。如果我们两个对象的equals方法相等,而hashCode方法的值可以不相等,那是不是就意味着两个逻辑上相同的对象可以放在不同的位置。


image.png
image.png

image.png

image.png

image.png

image.png

image.png

image.png
image.png

image.png

Java I/O:


image.png

第一阶段非阻塞,第二阶段阻塞
image.png

image.png

SELECT POLL EPOLL再了解一下


image.png
image.png

AIO很像Node.js的fs模块


image.png

你可能感兴趣的:(9.剑指JavaOffer-常用类库及技巧)