1.java中byte1,short两,int4,long8,float4,double8。
2.Java并不区分变量的声明与定义
3.string类对象实际上的表现更像基本的数据类型,它是一种不可变的字符串,改变一个string对象的值只是重新对其赋值而不是改变原有值。
而StringBuffer可对字符串进行动态的修改,并且为线程安全的。
StringBuilder在1.5后引入,不是线程安全的,但较前者更快。
4.在诸多容器类中,LinkedList(链表形式实现),Vector,ArrayList(这两者均为数组形式,但后者不是线程安全的)均为List的子类。
5.对于字符串,“==”只能用于确定两个字符串是否放在同一个位置,不要用。
6.java采用带标签的break语句一定程度上代替goto语句,标签需放在最外层的循环之前。
7.和C++不同,java不允许在嵌套的两个块中声明同名的变量。
8.case便签必须为整数或枚举常量(不知干嘛这么设计)
9.Java不支持运算符重载,字符串那是特例
10.和C#不同,foreach语句写法:for(int element:a)
11.对于数组,int[] a=b;只是浅拷贝,深拷贝请使用arraycopy.
12.java中所谓的多维数组不过是数组的数组。
13.java中所有new的对象都在堆上构造。
14.static的用法:静态域;常量;静态方法;静态的初始化块(每次类对象被创建时均会执行);静态导入(import static ...)
15.final用于阻止继承。
16.抽象类和接口不能被实例化,但可以声明。
17.反射的最大作用在于检查类的结构(说实话基本没用过反射的高级特性之类,常见getClass(),forName,newInstance)
18.接口中方法必须为public
19.instanceof不仅可以检查一个对象是否属于某个类,同样可以检查它是否实现了某个接口
20.接口可以包含常量
21.内部类的好处在于可以引用外部类的对象的内容
22.代理的作用在于在运行时创建一个实现了一组给定接口的新类。
23.由程序错误导致的异常属于RuntimeException,他和Error下的所有异常通称为uncheck异常。
24.传统io类中read和write均阻塞,nio不阻塞
25.html大小写不敏感,xml相反
26.对于xml,属性最好在修改值的解释时使用,而不是在指定值时使用。
27.DOM是树形的解析器,SAX则是流机制的解析器
28.正则表达式中:^为限制开头,$为限制结尾,.条件限制除\n以外任意一个单独字符。用法为pattern类和matcher类。
29.关于JDBC中的事务。
conn.setAutoCommit(false);
stmt.excuteUpdate(...);
....
....
...
try
{
conn.commit();
}
catch
{
conn.rollback();
}
批量更新:
stmt.addBatch(comman);
//do not use select
int[] res=stmt.executeBatch();