笔试题:
1、64位JVM中,int占用几个字节?
java由于与平台无关所以到哪儿int类型都是4个字节。这一题是个小坑。
2、ArrayList、LinkedList、Vector的区别
ArrayList | LinkedList | Vector | |
线程安全 | 否 | 否 | 安全 |
元素是否有序 | 有 | 有 | 有 |
3、有一个数组,有几种方式得到中间大小的数(尽可能用多种方式)
4、servlet是否是线程安全的?为什么?
5、synchronized和volatile的区别
6、异步、同步、阻塞与非阻塞的区别以及应用场景。
7、String和StringBuffer的区别。
8、maven命令打war包
9、HashMap和HashTable的区别
HashMap和Hashtable都实现了Map接口,因此很多特性非常相似。但是,他们有以下不同点:
HashMap允许键和值是null,而Hashtable不允许键或者值是null。
Hashtable是同步的,而HashMap不是。因此,HashMap更适合于单线程环境,而Hashtable适合于多线程环境。
HashMap提供了可供应用迭代的键的集合,因此,HashMap是快速失败的。另一方面,Hashtable提供了对键的列举(Enumeration)。
一般认为Hashtable是一个遗留的类。
还有不记得了、、、
技术官问的问题:1.说说数据库的锁机制
2.在分布式环境下,有两个系统采用定时任务对同一订单进行取消操作,如何保证两个系统只能有一个系统能正确取消。
面试官解释:系统开启定时任务时向缓存中写入一条数据,取消时判断是否有该数据,有则不取消。