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:元素是无序的,元素不可以重复,