您的位置:首页 > 职场人生

java面试常见题

2016-04-21 15:40 363 查看
1. String s1 = '123';

String s2 = new String();区别

2. 多线程的两种实现方式的区别
继承Thread和实现Runnable接口

3. 单列设计模式懒汉式和饿汉式有什么不同 *****
懒汉式特点:延迟加载。延迟加载在多线程中会出现安全问题,通过加同步来解决,加同步效率低,用双重判断方式解决效率低。同步的时候用字节码对象(即class文件)。11天-14-多线程(多线程-单例设计模式-懒汉式)

4. 写一个死锁程序 ***

5. selvert线程是否安全,该怎么避免
因为一个类型的Servlet只有一个实例对象,那么就有可能会现时出一个Servlet同时处理多个请求,那么Servlet是否为线程安全的呢?答案是:“不是线程安全的”。这说明Servlet的工作效率很高,但也存在线程安全问题!所以我们不应该在Servlet中便宜创建成员变量,因为可能会存在一个线程对这个成员变量进行写操作,另一个线程对这个成员变量进行读操作。l 不要在Servlet中创建成员!创建局部变量即可!l 可以创建无状态成员!l 可以创建有状态的成员,但状态必须为只读的!
6. 集合区别collection
|--list:元素是有序的,元素可以重复,因为该集合体系有索引。
|--ArrayList:底层数据结构是数组形式,特点:查询和修改元素的速度快,增删慢。线程不同步,需要自己加锁。
|--LinkedList:底层数据结构是链表形式,特点:增删速度快,查询慢。线程不同步,需要自己加锁。
|--Vector:底层数据结构是数组形式,增删改查都慢,已被ArrayList替代。线程同步。有枚举方法。

|--set:元素是无序的,元素不可以重复,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java