iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java中关于锁的面试题有哪些
  • 588
分享到

Java中关于锁的面试题有哪些

2023-06-14 16:06:20 588人浏览 安东尼
摘要

这篇文章主要介绍Java中关于锁的面试题有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,可重复的;2、Queue队列:有序,可重复的;3

这篇文章主要介绍Java中关于面试题有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

Java有哪些集合

Java中的集合主要分为四类:1、List列表:有序的,可重复的;2、Queue队列:有序,可重复的;3、Set集合:不可重复;4、Map映射:无序,键唯一,值不唯一。

1.synchronized作用于静态方法和非静态方法的区别

非静态方法:

给对象加锁(可以理解为给这个对象的内存上锁,注意 只是这块内存,其他同类对象都会有各自的内存锁),这时候在其他一个以上线程中执行该对象的这个同步方法(注意:是该对象)就会产生互斥

静态方法: 相当于在类上加锁(*.class位于代码区,静态方法位于静态区域,这个类产生的对象公用这个静态方法,所以这块内存,N个对象来竞争),

这时候,只要是这个类产生的对象,在调用这个静态方法时都会产生互斥。即该类所有的对象都共享一把锁。

2.锁类型有哪些

(1)乐观锁&悲观锁

(2)自旋锁&非自旋锁

(3)可重入锁&不可重入锁

(4)无锁&轻量级锁&偏向锁&重量级锁

(5)互斥锁&共享锁

(6)公平锁&非公平锁

3.线程同步的几种方式

synchronized修饰

volatile实现同步(只能保证可见性,不能保证原子性)

使用局部变量ThreadLocal

使用原子类(AtomicInteger、AtomicBoolean……)

使用Lock

使用容器类(BlockingQueue、ConcurrentHashMap

4.synchronized 和 lock 机制区别

synchronized 原始采用的是 CPU 悲观锁机制,即线程获得的是独占锁。独占锁意味着其 他线程只能依靠阻塞来等待线程释放锁。

Lock 用的是乐观锁方式。所谓乐观锁就是,每次不加锁而是假设没有冲突而去完成某项操作,如果因为冲突失败就重试,直到成功为止。乐观锁实现的机制就是 CAS 操作(Compare and Swap)。

5.说说线程安全的问题

线程安全多线程领域的问题,线程安全可以简单理解为一个方法或者一个实例可以在多线程环境中使用而不会出现问题。

在 Java 多线程编程当中,提供了多种实现 Java 线程安全的方式:

最简单的方式,使用 Synchronization 关键字

使用 java.util.concurrent.atomic 包中的原子类,例如 AtomicInteger

使用 java.util.concurrent.locks 包中的锁

使用线程安全的集合 ConcurrentHashMap

使用 volatile关键字,保证变量可见性

以上是“Java中关于锁的面试题有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Java中关于锁的面试题有哪些

本文链接: https://www.lsjlt.com/news/273393.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java中关于锁的面试题有哪些
    这篇文章主要介绍Java中关于锁的面试题有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,可重复的;2、Queue队列:有序,可重复的;3...
    99+
    2023-06-14
  • Java面试中有哪些关于String类的面试题
    这篇文章将为大家详细讲解有关Java面试中有哪些关于String类的面试题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。比较两个字符串时使用“==”还是equals()方法?当然是equal...
    99+
    2023-05-31
    java 中有 string
  • 关于Java IO的面试题有哪些
    本篇内容介绍了“关于Java IO的面试题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1.IO里面的常见类,字节流、字符流、接口...
    99+
    2023-06-02
  • 有哪些关于Java集合的面试题
    本篇内容主要讲解“有哪些关于Java集合的面试题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“有哪些关于Java集合的面试题”吧!HashMap和HashTable有何不同?  (1)HashM...
    99+
    2023-06-02
  • Java中关于数据库的面试题有哪些
    这篇文章主要介绍了Java中关于数据库的面试题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。面试题1:说一下你对聚集索引与非聚集索引的理解,以及他们的区别?首先解释一下...
    99+
    2023-06-20
  • 有哪些关于this的面试题
    这篇文章主要讲解了“有哪些关于this的面试题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些关于this的面试题”吧!注意:下面的 JavaScrip...
    99+
    2024-04-02
  • 关于this的面试题有哪些
    这篇文章给大家介绍关于this的面试题有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。问题1:变量 vs 属性下面的打印结果是啥:const object =&...
    99+
    2024-04-02
  • 关于Tomcat的面试题有哪些
    本篇内容主要讲解“关于Tomcat的面试题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“关于Tomcat的面试题有哪些”吧!一、什么是TomcatTomc...
    99+
    2024-04-02
  • Java中关于消息队列的面试题有哪些
    这篇文章将为大家详细讲解有关Java中关于消息队列的面试题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。面试题1:说说你对消息队列的理解,消息队列为了解决什么问题?我们公司业务系统一开始体量较小,很...
    99+
    2023-06-20
  • 关于闭包的面试题有哪些
    本篇内容介绍了“关于闭包的面试题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!每个 JavaScri...
    99+
    2024-04-02
  • JavaScript中关于闭包的面试题有哪些
    小编给大家分享一下JavaScript中关于闭包的面试题有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!每个 JavaScript 程序员都必须知道闭包是什么...
    99+
    2023-06-14
  • php中关于算法面试题的有哪些
    这篇文章主要介绍了php中关于算法面试题的有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。PHP开发环境搭建工具有哪些一、phpStudy,是一个新手入门最常用的开发环境...
    99+
    2023-06-14
  • Angular中关于单元测试的面试题有哪些
    这篇文章主要介绍了Angular中关于单元测试的面试题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Angular中的测试有哪些种,基于哪些测试框架Angular的测试...
    99+
    2023-06-15
  • 关于redis缓存的面试题有哪些
    这篇文章将为大家详细讲解有关关于redis缓存的面试题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。redis缓存的面试题1、redis和memcached什么区别...
    99+
    2024-04-02
  • 前端关于HTML的面试题有哪些
    这篇文章主要讲解了“前端关于HTML的面试题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“前端关于HTML的面试题有哪些”吧!1.什么是HTML?HT...
    99+
    2024-04-02
  • 关于angular的前端面试题有哪些
    这篇文章主要介绍了关于angular的前端面试题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1,ng-if 跟 ng-show/hide 的区别有哪些?第一点区别是,...
    99+
    2023-06-14
  • Oracle锁的面试题有哪些
    本篇内容介绍了“Oracle锁的面试题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!请问Oracle...
    99+
    2024-04-02
  • 关于Python的面试问答题有哪些
    这篇文章主要介绍“关于Python的面试问答题有哪些”,在日常操作中,相信很多人在关于Python的面试问答题有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”关于Python的面试问答题有哪些”的疑惑有所...
    99+
    2023-06-16
  • Android中关于Binder常见面试题有哪些
    本篇内容主要讲解“Android中关于Binder常见面试题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android中关于Binder常见面试题有哪些”吧!1.简单介绍下binderb...
    99+
    2023-07-02
  • 面试中常见的关于Git的问题有哪些?
    在软件开发行业中,Git已经成为了最常用的版本控制工具之一。因此,在面试过程中,面试官经常会问一些关于Git的问题,以确保应聘者对这个工具有足够的了解。下面我们来看看面试中常见的关于Git的问题有哪些。 Git的基本原理是什么? Git...
    99+
    2023-08-18
    数据类型 面试 git
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作