`
lykm02
  • 浏览: 51018 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

面试单例回顾

阅读更多
之前面试了一家公司,主要在围绕单例展开的一个case:
[list=1]Q1: 写一个单例:
  public class Singleton{
      private static final Singleton instance = new Singleton();
      
      private Singleton(){
      }
      
      public static Singleton getInstance(){
            return instance;
      }

  }


[list=2]Q2:  写一个lazy load的单例:
   
    public class Singleton{
      private static Singleton instance;
      
      private Singleton(){
      }
      
      public static Singleton getInstance(){
         if(instance == null){
             instance = new Singleton();
         }   
         return instance;
      }

  }


[list=3]Q3:  写一个线程安全的lazy load的单例:
   
     public class Singleton{
      private static Singleton instance;
      
      private Singleton(){
      }
      
      public static Singleton getInstance(){
         
         if(instance == null){
             synchronized(Singleton.class){
              instance = new Singleton();
             }
             
         }   
         return instance;
      }

  }

[list=4]Q4: 写一个轻量级的线程安全的lazyload的单例:
  
   public class Singleton{
      private static Singleton instance;
      private static AutomaticInteger count = new AutomaticInteger(0);
      private Singleton(){
      }
      
      public static Singleton getInstance(){
  
         if(count ==0 && instance == null){
             synchronized(Singleton.class){
                instance = new Singleton();
                count.increment();
             }
             
         }   
         return instance;
      }

  }
  

[/list]
分享到:
评论

相关推荐

    Java面试知识回顾.zip

    8. **设计模式**:设计模式是解决常见软件设计问题的模板,例如单例模式、工厂模式、观察者模式等。熟练应用设计模式可以提高代码的可读性和可维护性。 9. **JVM优化**:面试中可能会问到内存模型、垃圾收集机制、...

    java面试常见问题回顾

    8. **设计模式**:面试者应掌握常见的设计模式,如单例、工厂、抽象工厂、建造者、装饰器、适配器、代理、观察者、策略、模板方法等,并能给出实际应用的例子。 9. **JVM**:理解JVM的结构,包括堆内存、栈内存、...

    【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识.rar

    对于非 Java 初学者来说: 本文档更适合回顾知识,准备面试,搞清面试应该把重心放在那些问题上。要搞清楚这个道理:提前知道那些面试常见,不是为了背下来应付面试,而是为了让你可以更有针对的学习重点。 目录 ...

    java100道经典面试题

    12. **设计模式**:单例模式、工厂模式、观察者模式、装饰器模式等23种设计模式的实现和应用场景。 13. **JDBC**:数据库连接、执行SQL语句、结果集处理、事务处理等基本操作。 14. **Spring框架**:IoC(依赖注入...

    3年java面试经验

    - 定期回顾重要概念和技术,保持记忆新鲜。 - 面试当天避免过度思考面试题目,保持良好的心态。 - 积极提问,表现出对职位的兴趣和对公司的了解。 - 在面试中遇到不确定的问题时,诚实回答并表示愿意进一步学习。 ...

    深圳上海IT(asp.net)面试宝典

    13. **软件工程与设计模式**:了解敏捷开发,TDD(测试驱动开发),DDD(领域驱动设计),以及常用的设计模式,如工厂模式、单例模式、观察者模式等。 14. **代码版本控制**:熟悉Git或SVN等版本控制系统,理解分支...

    2020-Java面试宝典Beta8.0.zip

    8. **设计模式**:常见的设计模式如单例、工厂、观察者、装饰器、适配器等,它们是解决常见问题的成熟方案,也是面试中常考的内容。 9. **JVM**:Java虚拟机是Java运行的核心,理解JVM内存模型(堆、栈、方法区等)...

    Java并发与高级特性面试知识点解析

    文中还讲解了volatile的关键特性、线程安全的单例模式实现方式,以及ConcurrentHashMap和Fork/Join、CompletableFuture的工作机理。 适合人群:具备一定工作经验的候选人、Java 开发者以及准备 Java 高级岗位面试的...

    Java面试题

    8. **设计模式**:常见的设计模式如单例模式、工厂模式、建造者模式、观察者模式、适配器模式等,以及在实际开发中的应用。 9. **JVM优化**:了解JVM内存模型(堆、栈、方法区等),垃圾回收机制(GC),以及如何...

    Java面试宝典_2010Java面试宝典_2010Java面试宝典_2010

    【标题】"Java面试宝典_2010"揭示了这个压缩包是关于2010年Java程序员面试的参考资料。它可能是由一系列精心挑选的问题、答案和建议组成的,...这份2010年的面试宝典将为回顾过去的技术趋势和面试技巧提供宝贵参考。

    java面试宝典

    面试宝典中的这些问题和概念可以帮助面试者全面回顾Java知识,加强理解,并准备好面试官可能提出的问题。通过整理这些问题,面试者可以系统性地复习和巩固JavaWeb开发的核心概念,从而在面试中更好地展示自己的技术...

    C++面试大全

    在面试准备时,阅读"C++面试大全"和"C/C++程序员面试宝典"这类资料可以帮助你回顾和巩固核心知识,同时提供常见面试问题和解答策略。文档中的案例分析和实践练习题可以提升你的解决问题能力。 总的来说,成功的C++...

    JAVA08年上海公司面试大全

    Java是世界上最流行的编程语言之一,尤其在企业级应用...这份"JAVA08年上海公司面试大全"资料无疑可以帮助求职者回顾和复习这些关键知识点,为面试做好充分准备。即使是在今天,这些基本技能仍然是Java开发者必备的。

    java全国各个公司面试题大全

    Java是世界上最流行的编程语言之...这份面试题大全将帮助求职者全面回顾和巩固Java编程的核心概念和技术,为面试做好充分准备。无论你是初级开发者还是有经验的工程师,都应该通过这些题目不断挑战自己,提升专业能力。

    全网最全之一的Java面试题总结,以基础知识为主

    Java作为一门广泛使用的编程语言,其面试题涵盖了众多的...这个面试题总结,无论是对于初学者还是有经验的开发者,都是一个很好的学习资源,可以帮助大家在准备面试时系统地回顾和强化Java基础知识,提高面试成功率。

    C++面试笔试的小工具记录,时常复习,加深记忆,通过latex转成pdf.zip

    在准备C++面试时,了解并熟练掌握核心知识点至关重要。这份名为"C++面试笔试的小工具记录,时常复习,加深记忆,通过latex转成pdf.zip"的资料,...记得时常回顾和测试自己,以确保在面试中能游刃有余地应对各种挑战。

    iOS面试题PPT合集OC实用版本

    8. 面试总结:这部分通常包括对上述所有主题的回顾,以及如何准备面试,如何回答常见问题,如何展示自己的项目经验和解决问题的能力。 通过深入学习和理解这些知识点,不仅可以提升你的iOS开发技能,也能在面试中...

    java面试宝典(DOC下载)

    《Java面试宝典》是一本专门为即将参加Java程序员面试者准备的资料,旨在帮助求职者系统地回顾和强化Java相关的专业知识点,以便在面试中表现出色。这份文档涵盖了Java语言的核心概念、高级特性、并发编程、集合框架...

    IT面试题自我总结

    自我总结IT面试题的过程不仅是回顾和巩固个人技术能力的好方法,也是为面试做好充分准备的重要步骤。以下是我对一些常见IT面试题目的深入解析和扩展: 1. **数据结构与算法**: - 二叉树、链表、堆、栈、队列等...

Global site tag (gtag.js) - Google Analytics