一、java基础方面:
1,作用域public,PRotected,private,以及不写时的区别
public 在其他的包中的类也可以引用,protected只限于同一个包内的类,private只有自己可以使用。不写的时候和protected一样。
2,ArrayList和Vector的区别
ArrayList需要预先定义大小,Vector不用;
Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。
当Vector或ArrayList中的元素超过它的初始大小时,Vector会将它的容量翻倍,而
ArrayList只增加50%的大小,这样,ArrayList就有利于节约内存空间。
同为对象集合,ArrayList可由编译器检查而Vector则不会,所以假如用Vector返回对象集合,编译器是无法查错得,只有在运行时才能才能发现。
3. HashMap和Hashtable的区别
HashMap和Hashtable的默认初始化容量(default initial capacity)不同 HashMap是16,Hashtable为11。
Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现。
Hashtable的方法是同步的,而HashMap的不是。
4,char型变量能不能定义为一个中文?为什么?
可以定义。因为中文也是16bit的
5,多线程有几种表示方法,都是什么?
Thread子类和Runnable接口实现两种
6. 同步有几种实现方法,都是什么?
一种是将方法同步:public synchronized methodName(...){....}
另一种是将对象同步(此对象不能是null值): synchronized (object) { ..... }
7,继续时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
8,内部类的实现方式?
内部类”是在另一个类的内部声明的类。从Java 1.1开始,你可在一个类中声明另一个类,这与声明字段和方法非常相似。
9,垃圾回收机制,如何优化程序?
在变量不使用的时候将其赋值为null。
10,float型float f=3.4是否正确?
不行。类型不匹配。改为float f=3.4f。
|