java面试

本文主要讨论Java面试中的多线程知识点,包括重写与重载的区别、死锁的预防、多线程创建方式、线程安全问题以及synchronized和lock的区别。详细解析了线程的生命周期、wait与sleep的差异,并探讨了Java中防止线程饥饿、活锁和死锁的方法。
摘要由CSDN通过智能技术生成

1.重写和重载的区别:

        重载是发生在同一个类里面,方法名相同,参数类型和参数个数可以不同。

        重写:子类继承父类,方法名,参数类型跟参数个数要相同。

多线程

如何预防死锁:

1.资源有限,多个线程同时需要这个资源

2.循环等待,资源被占用互相在等待对方释放资源

3.线程等待过程中不会释放已占有的资源

4.一个线程已经占有的资源,在释放之前不会被其他的线程抢占。

预防的方法就是把资源预分配。不够的时候就等待。

多线程创建的方式:

1.实现Runnable,无返回值,无法抛出异常

2.实现Callable.有返回值,可以抛出异常

3.继承Thread类创建多线程,继承java.lang.Tread类,重新Thread类的run()方法,调用start()方法开发线程。

4.通过线程池创建线程

线程安全活跃态:死锁,活锁,饥饿

1.线程饥饿&#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值