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:元素是无序的,元素不可以重复,
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对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树