首页 > 阿里巴巴社招Java工程师面经
头像
HuperMaster
发布于 2020-08-21 09:34
+ 关注

阿里巴巴社招Java工程师面经

1、ArrayListLinkedListVector的区别

1baiArrayListVectorLinkedList类都是java.util包中,均为可伸缩数组。

2ArrayListVector底层都是数组实现的,所以索引数据快,删除、插入数据慢。

3ArrayList采用异步的方式,性能好,属于非线程安全的操作类。Vector采用同步的方式,性能较低,属于线程安全的操作类。

4LinkedList底层是链表实现,所以,索引慢,删除、插入快,属于非线程安全的操作类。

 

2、HashMapHashTable的区别,Hashmap实现原理

3、StringStringBuffer的区别

1String:

     •是对象不是原始类型。

     •为不可变对象,一旦被创建,就不能修改它的值。

     •对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去。

     •Stringfinal,即不能被继承。

 

2StringBuffer:

    •是一个可变对象,当对它进行修改的时候不会像String那样重新建立对象。

    •它只能通过构造函数来建立,StringBuffer subffer=new StringBuffer();

    •对象被建立以后,在内存中就会分配内存空间,并初始保存一个null,通过它的•append方法向其赋值 subffer.append(“hello word”)

 

3)字符串连接操作中StringBuffer的效率要明显比String;

String对象是不可变对象,每次操作String都会建立新的对象来保存新的值。

StringBuffer对象实例化后,只对这一个对象操作。

 

 

4、gc的概念,如果AB对象循环引用,是否可以被GC

5、Java中的内存溢出是如何造成的 ,知道内存泄漏吗?原因?

6、String s = “123”;这个语句有几个对象产生

7、ExceptionRuntimeException的区别,作用又是什么?

8、java异常体系知道吗?errorexception有什么区别?

9、FileInputStreamFileReader区别。

FileInputStream是字节流,FileReader是字符流,用字节流读取中文的时候,可能会出现乱码,而用字符流则不会出现乱码,而且用字符流读取的速度比字节流要快;

 

10、char型变量中能不能存贮一个中文汉字?为什么?

11、ListSetMap是否都继承自Collection接口? 他们的区别

12、java反射中的应用场景

13、注解用过吗?作用是什么?

14、java编译时和运行时有什么区别?

15、知道socket吗?和Websocket有什么区别?

更多模拟面试

全部评论

(2) 回帖
加载中...
话题 回帖

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐