由于最近在准备一些笔试复习到的相关Java知识点,不禁感慨:这么多年对Java懂得还太少!
1、关于finally关键字
IBMDeveloperWorks中有一篇已经说明地非常详细:
补充下对Java设计者设计finally语句的初衷想法:我们无法知道异常发生的时间,但是我们需要确保的是无论它是否发生一些关键资源在GC回收内存时得到妥善处理(例如IO流、数据库连接等)。
误区点:return前finally语句的执行机制
2、关键字synchronized,volatile,transient
①synchronized关键字是同步关键字,它包括两种用法:synchronized方法和synchronized代码块。
②volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中读取该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值写回到共享内存中。这样在任何时刻,两个不同线程总是看到某个成员变量的同一个值,它只能用于修饰变量。
③transient关键字表示在该对象被序列化(串行化、持久化)时不保存该属性。它只能用于修饰变量或者常量。
时间: 2024-10-10 23:26:23