易截截图软件、单文件、免安装、纯绿色、仅160KB

3个不常用的java关键字transient、volatile、strictfp

(1) transient:
如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。例如:
class T
{  
      transient int a;  //不需要维持
      int b;  //需要维持
}  //这里,如果T类的一个对象写入一个持久的存储区域,a的内容不被保存,但b的将被保存
(2) volatile:
volatile修饰符告诉编译器被volatile修饰的变量可以被程序的其他部分改变。在多线程程序中,有时两个或更多的线程共享一个相同的实例变量。考虑效率问题,每个线程可以自己保存该共享变量的私有拷贝。实际的变量副本在不同的时候更新,如当进入synchronized方法时。
(3) strictfp:
strictfp的意思是FP-strict,也就是说精确浮点的意思。在Java虚拟机进行浮点运算时,如果没有指定strictfp关键字时,Java的编译器以及运行环境在对浮点运算的表达式是采取一种近似于我行我素的行为来完成这些操作,以致于得到的结果往往无法令你满意。而一旦使用了strictfp来声明一个类、接口或者方法时,那么所声明的范围内Java的编译器以及运行环境会完全依照浮点规范IEEE-754来执行。因此如果你想让你的浮点运算更加精确,而且不会因为不同的硬件平台所执行的结果不一致的话,那就请用关键字strictfp。你可以将一个类、接口以及方法声明为strictfp,但是不允许对接口中的方法以及构造函数声明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的。


相关文档:

对java技术String的探讨续

1. 首先String不属于8种基本数据类型,String是一个对象。
因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。
2. new String()和new String(“”)都是申明一个新的空字符串,是空串不是null;
3. String str=”kvill”;
String str=n ......

java 调用dll文件

//1.创建testdll.java文件
public class testdll
{
static
{
System.loadLibrary("goodluck");
}
public native static int get();
public native static void set(int i);
public static void main(String[] args)
{
testdll test = new testdll();
test.set(10);
System.out.println(test.get() ......

【广告】阿里巴巴ITBU急聘资深Java开发工程师

职位描述:
1、按USECASE进行业务需求分析和软件概要设计;
2、进行软件详细设计和编码实现,确保性能、质量和安全;
3、维护和升级现有软件产品,快速定位并修复现有软件缺陷。
职位要求:
1、精通Web编程,3年以上使用Java语言进行web开发的经验,熟悉html,javascript。
2、精通jsp,servlet,java bean,JM ......

java 基本数据类型之间的转换

 java 基本数据类型之间的转换
    
 
实箭头表示无数据丢失的转换
虚箭头表示有数据丢失的转换
在进行二元计算的时候,先将两个操作数转换为同一种类型,再计算
    ①如果两个数中有一个是double类型的,那么另一个也将转换为double类型;
   &n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号