关于java的一些杂七杂八

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(); 

你可能感兴趣的:(java,C++,c,正则表达式,C#)