牛客网专项练习(四)——选择题(错题&不懂的题)

本文深入分析了Java中volatile和synchronized的区别和应用场景,包括它们的线程同步性能、阻塞情况以及对原子性、有序性和可见性的影响。同时,讨论了HashMap的线程安全问题和JDK内置注解的用途。此外,还涉及了Java对象的引用类型和生命周期,以及Java关键字的理解误区。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分析:continue是结束本次循环,本次循环下面的代码不再执行,紧接着执行下次循环。

   break才是跳出整个循环。

分析:
        volatile是线程同步的轻量级实现,volatile性能比synchronized要好,但它只能修饰变量。而synchronized可以修饰方法、代码块。
        多线程访问volatile不会发生阻塞,而synchronized会出现阻塞。
        volatile保证有序性,可见性,不能保证原子性;synchronized保证三大性,原子性,有序性,可见性。
        volatile解决的是变量在多个线程之间的可见性,不保证原子性;而synchronized解决的是多线程之间资源同步问题。

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值