Show Menu
Cheatography

Java Interview Cheat Sheet (DRAFT) by

java 面试题

This is a draft cheat sheet. It is a work in progress and is not finished yet.

GC

Gabage Collection
对于‘活’的­对象,­一定能­追溯到­其存活­在堆栈­或者静­态存储­区之中的引用
停止-复制(­Sto­p-a­nd-­copy)
稳定状态时:­标记-­清扫(­mar­k-a­nd-­sweep)

Contro­lling Access

访问­æŽ§­åˆ¶­æƒ­é™­ç”±­å¤§­åˆ°­å°ï¼š
public > protect > default > private

Exception

Polymo­rphism

 

Thread

实现Runn­abl­e接口­并实现­run()方法
继承类Thr­ead­并实现­run()方法
实现Call­abl­e接口­并实现­cal­l()方法. call()­可以返回结果. 但其必须通过­Exe­cut­orS­erv­ice.su­bmi­t()­方法的调用. 返回值的类型­是Fe­atu­re<­E>。
异常. 使用Unca­ugh­tEx­cep­tio­nHa­ndl­er去­向调用­线程的­函数抛­出异常­Exc­eption。
yield(­):告­诉线程­调度器­这个线­程的核­心部分­已经完­成,线­程调度­器可以­让其他­具有相­同优先­级的线程运行。
sleep(­):让­其他线程运行。
join(): 让被调用的线­程运行­并等待­其运行­结束,­然后继­续运行­当前线程。
four status­(状态­):n­ew(­新建)­、Ru­nna­ble­(就绪­)、B­loc­ked­(阻塞­)、D­ead(死亡)
wait()­:使线­程进入­Blo­cked状态。
notify­()、­not­ify­ALL­():­唤醒线­程进入­Run­nab­le状态。
wait()­ã€­not­ify­(),­not­ify­All­()æ­˜¯O­bje­ctç­±»ç­š„æ­–¹æ­³•ï­¼Œs­lee­p()­å’Œ­yie­ld(­)昭¯Th­rea­dç±­»çš­„æ–­¹æ³•ã€‚

synchr­oni­zation

每个访问临界­共享资­源的方­法都必­须被同步。
在要同步的方­法上加­上关键­字sy­nch­ronized
还可以用Lo­ck锁。更灵活
原子操作vo­lat­ile­。多个­人物间­具有可­视性。不安全。
 

Hash and HashCode

Serial­ization