关键字

  • 请你讲讲java里面的final关键字是怎么用的?
    答:当final用在类上,表示该类不可被其他类继承。那么此时也隐性地说明类中的方法是不可以重写的。当final用在方法上,该方法不可被覆盖重写。当final用在变量上,用在基本类型上,说明该变量内容不可被修改;用在指针上说明这个指针所指的地址不可被修改。通常与static用在一起,表示常量。所以当我们需要指定一个类或方法或变量不改变其含义时,需要用final。

  • 请你谈谈关于Synchronized和lock
    答:首先Synchronized和lock都是锁。都是保证只能有一个线程运行。Synchronized在线程异常时会自动释放锁,而lock在线程异常时不会自动释放锁,必须使用unlock()才可以,所以在使用lock时,我们必须在final块里使用unlock()。Synchronized对于其他线程不会响应中断,他们会一直等待下去。而lock对于其他线程会进行中断响应。

  • 请你介绍一下volatile
    答:线程在运行时内存分为主内存和工作内存。一个线程取值实现从主内存做一个副本给工作内存,那么线程用值时就直接去工作内存中取。但是有时我们需要线程在取值时直接去主内存中取,那这时就需要用到volatile关键字。它保证了数据的一致性。

  • 请你介绍一下Syncronized锁,如果用这个关键字修饰一个静态方法,锁住了什么?如果修饰成员方法,锁住了什么?
    答:如果修饰静态方法则是属于类锁。如果修饰成员方法,则是针对创建的这个实例对象的对象锁。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值