Java语言中关键字讲解(一)strictfp的用途
自Java2以来,Java语言增加了一个关键字strictfp,虽然这个关键字在大多数场合比较少用,但是还是有必要了解一下。
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的。
相关文档:
Flex在和java调用过程中,其实有更加灵活的办法来提高系统的敏捷度,极大提高系统的耦合和开发效率。在这里我继续给大家介绍一下,敏捷调用中的java动态代码调用。
先看java的类(BeanShell)这里主要是接收java代码来动态调用的
package com.shine.framework.be ......
JDK 6.0 以及JDK 5.0 update 9 的 nio支持epoll (仅限 Linux
系统
),对并发idle connection会有大幅度的性能提升,这就是很多网络服务器应用程序需要的。
启用的方法如下:
-Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.EPollSelectorProvider
例如在 Linux 下运行的 Tomcat 使用 NIO Connector ,那么启 ......
据文档所说,类增强器比用代理的方式速度上有优势。
有两种方式,
第一种是在类加载时动态处理,这个对现有程序不用修改。只需要改下运行的java脚本即可
对于Java 1.5如下所示
java -javaagent:lib/je-<version>.jar=enhance:packageNames ...
je-<version>.jar 就是Berkeley DB JAVA库的名字。 packageNa ......
用C的人一定知道__FILE__和__LINE__,但是Java中 并没有这样的定义,有时候调试多线程就很不方便,没办法,自己动手,丰衣足食~用下面的函数取得当前行号。
函数:
/**
*得到Exception所在代码的行数
*如果没有行信息,返回-1
*/
public static int getLineNumber(Exception e){
StackTraceElement[] trace =e.getStac ......
1.写出程序运行结果
public
class
TestString {
public
static
void
link(String a){
a+="World"
;
}
public
static
void
main(String []a ......