慎用Java装箱与拆箱
转自http://xyiyy.javaeye.com/blog/358401
J2SE5.0后提供了自动装箱与拆箱的功能,此功能事实上是编译器来帮您的忙,编译器在编译时期依您所编写的方法,决定是否进行装箱或拆箱动作。例如:
Integer i = 100;
相当于编译器为您作以下的语法编译:
Integer i = new Integer(100);
虽然此功能很方便,但在程序运行阶段您得了解Java的语义。如下面的程序能编译通过:
Integer i = null;
int j = i;
此程序编译时通过,但运行时会有错误。因为这种写法相当于:
Integer i = null;
int j = i.intValue();
由于i实际上没有参考至任何的对象,所以不能操作intValue()方法,上面程序运行时会出现NullPointerException错误。
自动装箱、拆箱的功能提供了方便性,但隐藏了一细节,所以必须小心。如下列代码1:
public class AutoBoxDemo2
{
public static void main(String[] args)
{
相关文档:
简单的说,内部(inner)类指那些类定义代码被置于其它类定义中的类;而对于一般的、类定义代码不嵌套在其它类定义中的类,称为顶层(top-level)类。对于一个内部类,包含其定义代码的类称为它的外部(outer)类。
1 Static member class(静态成员类)
类声明中 ......
java环境下调用VC++编写的动态链接库文件
一,开发平台:
MyEclipse 6.0,VC++6.0
二,JNI基础知识:
JNI(java native interface),JAVA本地接口调用,目的是为了JAVA可以调用本地程序。
三,交互过程:
1,建立java类。例如,建立一个RSA加密解密的类:
package zkxx.ctais2.client.common;
public class RsaE ......
来CSDN也有一年时间了,一直没有在自己的空间里发表一点东西。
前几天,我朋友想和我一起搞个东西,需要用到java,我没有一点java基础。没办法,只能够从头开始了学习。
从图书馆抱回了两本书《java2入门 进阶与应用实例》和《java me 实用详解》。由于有C和C++的基础,初略看了一下书,对于书中的内容基本上还是能够理解 ......
提高JAVA的性能,一般考虑如下的四个主要方面:
(1) 程序设计的方法和模式
一个良好的设计能提高程序的性能,这一点不仅适用于JAVA,也适用也任何的编程语言。因为它充分利用了各种资源,如内存,CPU,高速缓存,对象缓冲池及多线程,从而设计出高性能和可伸缩性强的系统。
当然,为了提高程序的性能而改变原来的设计是 ......