容易忽略的Java知识点(整理ing)

由于最近在准备一些笔试复习到的相关Java知识点,不禁感慨:这么多年对Java懂得还太少!

     1、关于finally关键字

      IBMDeveloperWorks中有一篇已经说明地非常详细:

      关于 Java 中 finally 语句块的深度辨析

      补充下对Java设计者设计finally语句的初衷想法:我们无法知道异常发生的时间,但是我们需要确保的是无论它是否发生一些关键资源在GC回收内存时得到妥善处理(例如IO流、数据库连接等)。

      误区点:return前finally语句的执行机制

     2、关键字synchronized,volatile,transient

     ①synchronized关键字是同步关键字,它包括两种用法:synchronized方法和synchronized代码块。

     ②volatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中读取该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值写回到共享内存中。这样在任何时刻,两个不同线程总是看到某个成员变量的同一个值,它只能用于修饰变量。

     ③transient关键字表示在该对象被序列化(串行化、持久化)时不保存该属性。它只能用于修饰变量或者常量。

你可能感兴趣的:(Java)