加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

Java口试进程中10个最难答复的口试题(附谜底)

发布时间:2019-08-06 13:01:34 所属栏目:建站 来源:IT技术分享
导读:这是我网络的10个最棘手的Java口试题目列表。这些题目首要来自 Java 焦点部门 ,不涉及 Java EE 相干题目。你也许知道这些棘手的 Java 题目的谜底,可能认为这些不敷以挑衅你的 Java 常识,但这些题目都是轻易在各类 Java 口试中被问到的,并且包罗我的伴侣

下面的代码是单例模式中双重搜查锁定的示例,此处的 getInstance() 要领搜查两次,以查察 INSTANCE 是否为空,这就是为什么它被称为双搜查锁定模式,请记着,双搜查锁定是署理之前Java 5,但Java5内存模子中易失变量的滋扰,它应该事变美满。

  1. /** 
  2. * 单例模式示例,双重锁定搜查 
  3. */ 
  4. public class DoubleCheckedLockingSingleton{ 
  5.  private volatile DoubleCheckedLockingSingleton INSTANCE; 
  6.  private DoubleCheckedLockingSingleton(){} 
  7.  public DoubleCheckedLockingSingleton getInstance(){ 
  8.  if(INSTANCE == null){ 
  9.  synchronized(DoubleCheckedLockingSingleton.class){ 
  10.  //double checking Singleton instance 
  11.  if(INSTANCE == null){ 
  12.  INSTANCE = new DoubleCheckedLockingSingleton(); 
  13.  } 
  14.  } 
  15.  } 
  16.  return INSTANCE; 
  17.  } 

你可以挪用 DoubleCheckedLockingSingleton.getInstance() 来获取此单例类的会见权限。

此刻,只需查察建设耽误加载的线程安详的 Singleton 所需的代码量。行使列举单例模式, 你可以在一行中具有该模式, 由于建设列举实例是线程安详的, 而且由 JVM 举办。

人们也许会争冲突,有更好的要领来编写 Singleton 而不是双搜查锁定要领, 但每种要领都有本身的利益和弱点, 就像我最喜畛刳类加载时建设的静态字段 Singleton, 如下面所示, 但请记着, 这不是一个耽误加载单例:

单例模式用静态工场要领

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读