当前位置: 首页 > news >正文

创意网站推荐WordPress主题去授权

创意网站推荐,WordPress主题去授权,怎样建设淘宝客导购网站,哪个网站可以做印章图案面试 Java 并发编程八股文十问十答第六期 作者#xff1a;程序员小白条#xff0c;个人博客 相信看了本文后#xff0c;对你的面试是有一定帮助的#xff01;关注专栏后就能收到持续更新#xff01; ⭐点赞⭐收藏⭐不迷路#xff01;⭐ 1#xff09;synchronized 和 R…面试 Java 并发编程八股文十问十答第六期 作者程序员小白条个人博客 相信看了本文后对你的面试是有一定帮助的关注专栏后就能收到持续更新 ⭐点赞⭐收藏⭐不迷路⭐ 1synchronized 和 ReentrantLock 区别是什么 锁的获取方式synchronized 是隐式锁通过在方法或代码块上加上 synchronized 关键字来获取锁而 ReentrantLock 是显式锁需要通过调用 lock() 方法来获取锁。锁的释放方式synchronized 在代码块执行完毕或方法返回时会自动释放锁而 ReentrantLock 需要在 finally 块中显式调用 unlock() 方法来释放锁确保锁的释放。可重入性ReentrantLock 是可重入锁同一个线程可以多次获取同一把锁而 synchronized 也是可重入的但是要求是同一个线程在持有锁的情况下才能再次获取锁。等待可中断ReentrantLock 提供了可中断的获取锁的方式通过调用 lockInterruptibly() 方法可以使等待锁的线程响应中断而 synchronized 则不支持中断。公平性ReentrantLock 可以通过构造函数指定是否是公平锁即按照线程的请求顺序来获取锁默认是非公平锁而 synchronized 是非公平锁。扩展性ReentrantLock 提供了更多的功能比如可定时的、可轮询的、可中断的获取锁的方式以及公平锁的支持等而 synchronized 的功能相对较少。 2volatile 关键字的作用 volatile 关键字的作用是保证变量的可见性和禁止指令重排序。具体来说volatile 修饰的变量在多线程环境下的写操作会立即刷新到主内存并且在读操作时会从主内存中获取最新的值而不是使用线程私有的缓存。这样可以保证不同线程之间对该变量的操作是正确可见的。 此外volatile 修饰的变量也禁止了指令重排序优化保证了特定操作的执行顺序。这对于一些需要保证顺序性的场景非常重要例如双重检查锁定Double-Checked Locking中的单例模式。 需要注意的是volatile 并不能保证原子性即不能保证多个线程同时执行的复合操作的原子性如果需要保证原子性需要使用其他的同步机制比如使用 synchronized 或者使用原子类。 3Java 中能创建 volatile 数组吗 在 Java 中不能直接创建 volatile 数组。volatile 关键字只能修饰类的成员变量或者类的静态变量不能直接修饰数组。如果需要将整个数组作为一个原子性操作进行处理可以使用 AtomicIntegerArray 或者 AtomicReferenceArray 等原子类来代替。这些原子类提供了对数组元素的原子性操作可以满足多线程环境下对数组的需求。 4volatle 变量和 atomic 变量有什么不同 可见性volatile 变量保证了可见性即对一个 volatile 变量的写操作对于其他线程是可见的而 atomic 变量也保证了可见性。原子性atomic 变量提供了一些原子性操作例如 atomicInteger 的自增和自减操作是原子的而 volatile 变量本身并不保证原子性。内存屏障atomic 变量通过使用底层的 CASCompare and Swap操作来保证原子性这会涉及到底层的内存屏障操作而 volatile 变量也会使用内存屏障来保证可见性。顺序性atomic 变量提供了一些有序性保证的方法例如使用 AtomicInteger 的 getAndSet() 方法可以保证写操作的顺序性而 volatile 变量本身并不提供有序性保证。 5volatile 能使得一个非原子操作变成原子操作吗 volatile 不能使得一个非原子操作变成原子操作。volatile 只能保证可见性和禁止指令重排序它并不能保证多个操作的原子性。如果需要保证多个操作的原子性需要使用其他的同步机制例如使用 synchronized 或者使用原子类。 6volatile 修饰符的有过什么实践 保证变量的可见性使用 volatile 修饰共享变量可以确保对该变量的写操作对其他线程是可见的从而实现线程间的通信。双重检查锁定Double-Checked Locking在单例模式中使用 volatile 修饰单例对象的引用可以确保在多线程环境下创建单例对象的安全性。控制循环条件在某些情况下使用 volatile 修饰循环条件可以实现线程之间的同步和协作例如在一个线程中改变循环条件的值从而使其他线程退出循环。实现轻量级的同步相比于 synchronizedvolatile 修饰符的开销更小适用于一些对性能要求较高的场景例如在一些读多写少的情况下可以使用 volatile 修饰共享变量来实现轻量级的同步。 7synchronized 和 volatile 的区别是什么 功能synchronized 用于实现线程的互斥同步保证同一时刻只有一个线程可以执行被 synchronized 修饰的代码块或方法而 volatile 用于保证变量的可见性和禁止指令重排序。用法synchronized 通过在代码块或方法上加上 synchronized 关键字来获取锁而 volatile 通过修饰变量来实现可见性和禁止指令重排序。原子性synchronized 可以保证代码块或方法的原子性即同一时刻只有一个线程可以执行而 volatile 本身并不保证原子性。内存屏障synchronized 使用内存屏障来保证可见性和有序性而 volatile 也使用内存屏障来保证可见性和禁止指令重排序。适用范围synchronized 适用于复杂的线程同步场景可以保证线程安全而 volatile 适用于简单的变量共享场景可以保证变量的可见性。 8什么是不可变对象它对写并发应用有什么帮助 不可变对象是指创建后不可被修改的对象。它对写并发应用有很大的帮助因为不可变对象不会发生状态的改变所以多个线程可以同时访问不可变对象而不需要额外的同步控制。这样可以避免了线程之间的竞争和冲突提高了并发性能和线程安全性。 不可变对象的特点是对象创建后状态不可变、属性都是 final 和 private、没有提供修改状态的方法。常见的不可变对象有 String、Integer、BigDecimal 等。 9Java Concurrency API 中的 Lock 接口(Lock interface)是什么对比同步它有什么优势 可中断性Lock 接口提供了可以响应中断的获取锁的方式通过 lockInterruptibly() 方法可以使等待锁的线程响应中断。公平性Lock 接口可以实现公平锁即按照线程的请求顺序来获取锁。条件变量Lock 接口提供了 Condition 接口可以通过 Condition 实现线程的等待和唤醒操作实现更灵活的线程同步。可重入性Lock 接口和 synchronized 关键字一样都支持可重入性同一个线程可以多次获取同一把锁。灵活性Lock 接口提供了更多的功能例如可定时的、可轮询的、可中断的获取锁的方式以及公平锁的支持等。 10乐观锁和悲观锁的理解及如何实现有哪些实现方式 乐观锁乐观锁的思想是假设在并发情况下不会发生冲突所以不加锁直接进行操作当发生冲突时再进行处理。乐观锁的实现方式包括版本号机制、CASCompare and Swap操作等。悲观锁悲观锁的思想是假设在并发情况下会发生冲突所以在操作前先加锁确保同一时刻只有一个线程可以访问共享资源。悲观锁的实现方式包括 synchronized 关键字、Lock 接口等。 乐观锁和悲观锁的选择取决于具体的应用场景和需求。乐观锁适用于读多写少的情况可以提高并发性能而悲观锁适用于写多读少的情况可以保证数据的一致性和安全性。在实际应用中可以根据具体的业务需求选择合适的锁机制。 开源项目地址https://gitee.com/falle22222n-leaves/vue_-book-manage-system 前后端总计已经 800 Star1.5W 访问 ⭐点赞⭐收藏⭐不迷路⭐
http://www.pierceye.com/news/535927/

相关文章:

  • 昆山营销型网站建设温州网上商城网站建设
  • 网站html动态效果asp化妆品网站源码
  • 丹东网站seo国家企业工商网查询
  • 好看云在线网站模板江西省建设厅教育网站
  • 小网站百度做一个网站怎么做呢
  • 城市分站seoseo相关岗位
  • 购物网站开发语言wordpress分类指定页面
  • 中企动力做网站的优势做招聘网站经营范围
  • 重庆企业网站排名优化方法百度录入网站
  • 做薪酬调查有哪些网站校园二手交易网站设计的原则
  • 建设电子商务网站的方法有?网站架构图
  • 网站运营阶段wordpress首页没有显示文章图片
  • 2个小时学会网站建设手机兼职快递录单员
  • 以前有个自助建设网站东莞路桥投资建设公司招聘
  • 电子游艺网站开发常德seo技术
  • 河北邢台wap网站建设南昌网页制作
  • 山东建设人才网站高端母婴网站模板
  • 物业服务网站建设佛山做网站公司有哪些
  • 企业网站模板中文网站域名名字
  • 在服务器网站上做跳转网页设计代码动漫
  • 科协网站建设的意见合肥哪里有做网页的地方
  • 为企业做网站策划案永康网站推广
  • 做个企业网网站怎么做linux建网站
  • 专业建站公司主要做什么wordpress加入下载标签
  • 韩都衣舍网站建设方案美食网站怎么做dw
  • 电商网站开发 参考文献wordpress验证码注册
  • ic外贸网站建设wordpress和shopex
  • 网站技术制作流程图国内顶尖小程序开发公司
  • 免费网站建设下载优化关键词规则
  • 网站浮动窗口如何做自己怎么做淘宝客网站