apache commons-fileupload 文件上传

import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; im...

2014-01-02 01:24:56

阅读数 564

评论数 0

哈希表

哈希表是通过使用称为散列法的机制来存储信息的。在散列法中,键的信息内容用于确定一个唯一值,称为它的哈希码(散列码)。然后哈希码作为与键相关的索引。键到哈希码的转化自动完成,你不会键到哈希码本身,同样,哈希码也不能直接索引哈希表。散列法的好处是它允许基本操作,如add,contains,remove...

2014-01-01 11:50:15

阅读数 550

评论数 0

Cloneable接口潜在的危险

Cloneable接口没有定义成员,只是用于标识一个类允许对象的位拷贝(克隆)。如果调用一个没有实现cloneable接口的类的clone()方法,就会抛出CloneNotSuppoaedException异常。当完成复制后,并没有调用复制对象的构造函数。副本是原有对象的精确复制品。 复制是一个...

2014-01-01 11:47:29

阅读数 463

评论数 0

泛型数组的局限

1.       不能实例化原始类型是类型参数的数组。T values[]=new T[10];原因是T在运行时不存在,一次编译器无法知道实际创建哪种类型的数组。 2.       不能创建一个类型特定的泛型引用的数组。Gen gens[]=new Gen[10];特定泛型类型的数组绝对...

2014-01-01 11:41:38

阅读数 401

评论数 0

Volatile修饰符

Volatile修饰符告诉编译器,被volatile修饰的变量可以被程序的其他部分改变。其中一种情况涉及多线程编程。在一个多线程的程序里面,有时两个或多个线程共享同一个实例变量。从效率方面考虑,每一个线程可以保存这个实例中变量的私有的副本,所以变量的实际(或主要)备份在不同时间被更新,例如当进入s...

2014-01-01 11:26:22

阅读数 454

评论数 0

通过接口引用访问实现比正常的方法调用开销大

与Java中正常的方法调用相比,在运行时动态查找方法会导致大量的开销,所以应该注意在关键性能的代码中不要随便的使用接口。

2014-01-01 11:19:03

阅读数 616

评论数 0

星号形式导入包只对编译有影响,对运行无影响

星号形式可能会增加编译时间,特别是在导入几个大的包时更是如此,因此,一般显示的命名想要使用的类而不是导入整个包,但星号形式对运行时性能和类的大小却没有影响。

2014-01-01 11:16:18

阅读数 465

评论数 0

一个final变量本质上是一个常量

被声明为final的变量不是每个实例都占有内存,因此,一个final变量本质上是一个常量。

2014-01-01 11:12:29

阅读数 437

评论数 0

Switch语句通常比一组嵌套的if语句更高效

Java编译器的工作方式。当编译器编译switch语句时,Java编译器将检查每个case常量并创建一个“跳转表”,该表用于在表达式值的基础上选择执行路径,因此,如果在很多值中选择,switch语句将比使用一系列if-else的等效逻辑代码运行速度快。因为编译器知道case常量都是同一类型的,所以...

2014-01-01 11:09:11

阅读数 1311

评论数 0

查看源码 ViewJavaSourceServlet

import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream...

2013-11-13 11:24:57

阅读数 435

评论数 0

ProxyServlet代理

import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.net...

2013-11-13 11:15:19

阅读数 683

评论数 0

web页面登录校验码

import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.IOException; import java...

2013-11-12 21:46:56

阅读数 892

评论数 0

Json lib JsonConfig用法

import java.util.Arrays; import java.util.List; import net.sf.json.JSONArray; import net.sf.json.JsonConfig; import net.sf.json.processors.JsonValue...

2013-11-12 18:29:26

阅读数 1162

评论数 0

java用补码表示负数

所有的整数类型(除了char类型外)都是有符号的整数。他们既能表示正数,又能表示负数。Java用2的补码(two's complement)这种编码来表示负数。2的补码是把一个值的所有位取反(即将1变成0,将0变成1),然后对其结果加1。例如,-42就是通过取反42中所有的位00101010来表示...

2013-11-12 12:25:45

阅读数 1917

评论数 0

Java多维数组第二维维度可以不同

给多维数组分配内存时,仅需要为第一维指定内存。然后再分配其余的维的内存。手工分配内存时,不需要为每维分配相同数量的元素。 int twoD[][] = new int[4][]; twoD[0] = new int[1]; twoD[1] = new int[2]; twoD[2] = n...

2013-11-12 12:01:16

阅读数 742

评论数 0

java字符占16位

在C/C++中,char是一个8位的整数类型,但在Java中使用Unicode来表示字符。Unicode定义了一个完全国际化的字符集,可以表示人类语言中发现的所有字符。它要求16位

2013-11-12 11:56:23

阅读数 672

评论数 0

Java类型决定行为,而不是大小

不应该把整型的宽度(width)理解为它占用的存储空间,而应该是该类变量和表达式的行为(behavior)。只要已经对类型进行了说明,Java的运行时环境对该类的大小是没有限制的。事实上,为了提高性能,byte和short的存储是32位(而非8位和16位),因为这是现在大多数计算机使用的字的大小。...

2013-11-09 23:47:42

阅读数 963

评论数 0

J2SE5新特性

泛型 元数据 自动装箱和拆箱(Autoboxing和Auto-unboxing) 枚举 增强的for-each循环 变长参数(varargs) 静态导入 格式化I/O 并行工具 对API的升级

2013-11-09 23:01:51

阅读数 613

评论数 0

Java特性

简单(Simple)  安全(Secure)  可移植(Portable)  面向对象(Object-oriented)  健壮(Robust)  多线程(Multithreaded)  体系结构中立(Architecture-neutral)  解释执行(Interpreted) ...

2013-11-09 22:54:19

阅读数 508

评论数 0

Java字节码---解释执行

Java安全性和可移植性的关键在于Java编译器的输出并不是可执行的代码,而是字节码(bytecode)。字节码是一套在Java运行时系统执行的高度优化的指令集,该Java运行时系统称为Java虚拟机(JavaVirtual Machine,JVM)。在其标准形式下,JVM 就是一个字节码解释器。...

2013-11-09 21:32:44

阅读数 3204

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭