JAVA总结

来源:互联网 发布:c语言角度转弧度 编辑:程序博客网 时间:2024/06/02 06:39

 1.  HashMap 和HashTable 的区别?

    Hashmap  线程不安全,且能放空健,空值。

   HashTable 线程安全,但不能放空健,空值。


2, 常用的设计模式?

   单例, 

   工厂 

    装饰

    观察者

   代理


3.  抽象类和接口的区别?

1  抽象类是 abstract class 修饰, 接口是interface修饰

2.  抽象类可以有任意类型的属性,接口只能有静态类型的属性

3. 抽象类 可以有普通方法,抽象方法,接口只能是抽象方法。

4. 抽象类和接口都不能实例化,抽象类有构造方法,接口没有构造方法。

5. 抽象类是单继承,接口可以多实现。


4. sleep 和wait 有什么区别?

   sleep 是自动唤醒,wait 是需求其他线程唤醒

   sleep 不会释放同步锁,wait 会释放同步锁。


5. 当一个线程进入一个对象的一个 synchronized 方法,其他线程是否可进入此对象的其他方法?

 如果其他方法没有加 synchroinized 方法,就可以。


  6.  在异常中throw和throws 有什么区别?

    throw 是在代码中抛出的异常,后面跟的是异常对象,虚拟机运行到这里会立即引发一个异常。

    throws 是在声明方法,声明该方法可能抛出异常,后面跟的是异常类型。


  7.  重载和重写的区别?

   重载是指一个类中,两个或两个以上,具有相同方法名,不同参数列表。

  重写是指,具体相同方法名 相同参数列表,返回类型。 但里面的异常数,访问修饰符,都不大于父类。

   重写方法是找到父类相同方法名的方法并重新改变方法的行为。


8.  LinkedList 和ArrayList的区别?

    1.  Linkedlist 是链表结构的,ArrayList 是数组结构的。

    2.  Linkedlist 是增删数据比较快。

    3. Arraylist 是查询数据效率比较高。


9.  String 和Stringbuffer 有什么区别 和作用?

    String 是字符串的基本类,是不可改变的。

     String Buffer 是 用堆来存储字符串,是可以改变字符串的长度的。



 

0 0
原创粉丝点击