某面试,自己做做,当作业

1.一个Object对象有哪些公共方法?
   obj.equals(obj);
   obj.getClass();
   obj.hashCode();
   obj.notify();
   obj.notifyAll();
   obj.toString();
   obj.wait();

2.Vector,ArrayList的区别;ArrayList和LinkedList的区别,如果你知道ArrayList内部使用的数组的话,那么,数组的数据达到最大容量后怎么处理?
1)Vector和ArrayList都实现的List接口,都可用来表示一组数量可变的对象应用的集合,并且可以随机地访问其中的元素。
Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。
当Vector或ArrayList中的元素超过它的初始大小时,Vector会将它的容量翻倍,而ArrayList只增加50%的大小,这样,ArrayList就有利于节约内存空间。
2)ArrayList的内部实现是基于内部数组Object[],所以从概念上讲,它更像数组,但LinkedList的内部实现是基于一组连接的记录,所以,它更像一个链表结构,所以,它们在性能上有很大的差别。

ArrayList的前面或中间插入数据时,必须将其后的所有数据相应的后移,这样必然要花费较多时间,所以,当你的操作是在一列数据的后面添加数据而不是在前面或中间,并且需要随机地访问其中的元素时,使用ArrayList会提供比较好的性能;

而访问链表中的某个元素时,就必须从链表的一端开始沿着连接方向一个一个元素地去查找,直到找到所需的元素为止,所以,当你的操作是在一列数据的前面或中间添加或删除数据,并且按照顺序访问其中的元素时,就应该使用LinkedList了。

如果在编程中,两种情形交替出现,这时,可以考虑使用List这样的通用接口,而不用关心具体的实现,在具体的情形下,它的性能由具体的实现来保证。

3.如果让你实现一个GC的垃圾回收算法,你会怎么做?
太难。。不会做。。放弃。

4.对设计模式的理解?观察者模式如何实现?
1)设计模式,我的理解,是在程序的设计时采用一些固定的模式,可以使代码层次更清晰,提高代码重用。又分为几大种类,记不清楚了,改天查一下,应该有创建模式,包括像工厂,抽象工厂等。还有装饰模式,观察者模式,等等。
2)观察者模式,大概是一个父类,有若干子类继承它。然后这个父类有一个方法或者是属性吧,应该是属性,将它dispatch到那些子类中,如果子类想要订阅这个父类的函数或属性,那就注册一下。以后父类的这个属性或是函数有变化时,订阅它的子类就自动的去更新了。

5.Spring的AOP有哪些概念,具体如何实现?
6.一个完整的Ajax call如何写?

发布者

Kathy

Love itself is a mad thing!

发表评论

电子邮件地址不会被公开。 必填项已用*标注