Java中四个关键字用法的简要介绍计算机等级考试

文章作者 100test 发表时间 2010:01:01 12:21:03
来源 100Test.Com百考试题网


  一:transient
  使用对象:属性
  字段不是对象持久状态的一部分,不应该把字段和对象一起串起。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的。当串行化某个对象时,如果该对象的某个变量是transient,那么这个变量不会被串行化进去。也就是说,假设某个类的成员变量是transient,那么当通过ObjectOutputStream把这个类的某个实例保存到磁盘上时,实际上 transient变量的值是不会保存的。源:www.examda.com
  二: strictfp
  使用对象:类、方法
  自Java2以来,Java语言增加了一个关键字strictfp,虽然这个关键字在大多数场合比较少用,但是还是有必要了解一下。源:www.examda.com
  strictfp的意思是FP-strict,也就是说精确浮点的意思。在Java虚拟机进行浮点运算时,如果没有指定strictfp关键字时, Java的编译器以及运行环境在对浮点运算的表达式是采取一种近似于我行我素的行为来完成这些操作,以致于得到的结果往往无法令你满意。而一旦使用了 strictfp来声明一个类、接口或者方法时,那么所声明的范围内Java的编译器以及运行环境会完全依照浮点规范IEEE-754来执行。因此如果你想让你的浮点运算更加精确,而且不会因为不同的硬件平台所执行的结果不一致的话,那就请用关键字strictfp。
  你可以将一个类、接口以及方法声明为strictfp,但是不允许对接口中的方法以及构造函数声明strictfp关键字,例如下面的代码:
  1. 合法的使用关键字strictfp
  strictfp interface A {}
  public strictfp class FpDemo1 {
  strictfp void f() {}
  }
  2. 错误的使用方法
  interface A {
  strictfp void f().
  }
  public class FpDemo2 {
  strictfp FpDemo2() {}
  }
  一旦使用了关键字strictfp来声明某个类、接口或者方法时,那么在这个关键字所声明的范围内所有浮点运算都是精确的,符合IEEE-754规范的。例如一个类被声明为strictfp,那么该类中所有的方法都是strictfp的。
  三: volatile
  使用对象:属性
  介绍:因为异步线程可以访问字段,所以有些优化操作是一定不能作用在字段上的。volatile有时可以代替synchronized。
  四:final
  对与java中的final变量,java编译器是进行了优化的。每个使用了final类型变量的地方都不会通过连接而进行访问。比如说 Test类中使用了Data类中一个final的int数字fNumber=77,这时候,java编译器会将77这个常数编译到Test类的指令码或者常量池中。这样,每次Test类用到fNumber的时候,不会通过引用连接到Data类中进行读取,而是直接使用自己保存在类文件中的副本。
  用程序说话:
  C:/

相关文章


不唐突的JavaScript的七条准则计算机等级考试
线程局部变量的使用与多线程开发计算机等级考试
添加表时需要配置一下的目录和文件计算机等级考试
基础入门:理解Java构造器计算机等级考试
Java中四个关键字用法的简要介绍计算机等级考试
如何统计JAVA网站访问次数并获得访问者IP计算机等级考试
java面向对象编程笔记:操作符简介(4)计算机等级考试
java面向对象编程笔记:Java语言初步(3)计算机等级考试
java面向对象编程笔记:UML建模语言初步(2)计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛