Java面试题

1 现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?
        答:可以用join方法实现。
        
        2 在Java中Lock接口比synchronized块的优势是什么?
答:lock接口在多线程和并发编程中最大的优势是它们为读和写分别提供了锁。

3 在java中wait和sleep方法的不同?
答:1> sleep()方法属于Thread类;wait()方法属于Object类
   2> 在调用sleep()方法的过程中,线程不会释放对象锁;在调用wait()方法的过程中,线程会释放对象锁

4 什么是设计模式?
答:在特定环境下人们解决某类重复出现问题的一套成功或有效的解决方案。

5 final finally finalize区别?
答:final修饰符,关键字,被final修饰的类,不能再派生出新的子类,不能作为父类被子类继承
      finally是在异常处理时提供finally块来执行任何清除操作。    
             finalize是方法名。java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。 

6 int和Integer区别?String和StringBuffer区别?StringBuffer和StringBuilder?
答:int是Java的原始数据类型,Integer是Java为int提供的封装类。

   String类提供了数值不可改变的字符串,StringBuffer类提供了数值可改变的字符串。最后需要String,使用                      StringBuffer的toString()方法。

     StringBuffer线程安全,速度慢,效率低;StringBuilder线程不安全。


7 线程和进程区别?
答:进程可以包括一个或多个线程,线程是进程的实体,是真正的执行单元。

8 java中static关键字
答:方便在没有创建对象的情况下来进行调用(方法/变量)。只要类被加载了,就可以通过类名去进行访问。
    static变量也称作静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内存中只有一个副           本,它当且仅当在类初次加载时会被初始化。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副             本, 各个对象拥有的副本互不影响。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值