网站大量收购闲置独家精品文档,联系QQ:2885784924

java面试题汇总java面试题汇总.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java面试题汇总java面试题汇总

JSP有九大内置对象? 答:Request,Response,Session,Application,Out,Pagecontext,Config,Page,Exception 2 java设计模式 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 单例模式分三种 懒汉式单例、 饿汉式单例、 登记式单例。 懒汉式单例: 需要加锁才能实现多线程同步,但是效率会降低。优点是延时加载。 public class LazySingleton { //私有静态变量,加载时不初始化 private static LazySingleton lazySingleton = null; //私有的构造方法,避免外部创建实例 private LazySingleton(){ } synchronized public static LazySingleton getInstance(){ if(lazySingleton == null){ lazySingleton = new LazySingleton(); } return lazySingleton; } } 饿汉式单例: 因为加载类的时候就创建实例,所以线程安全(多个ClassLoader存在时例外)。 缺点是不能延时加载 public class EagerSingleton { //私有静态唯一的变量,在类加载好了,就创建了实例 private static final EagerSingleton eagerSingleton = new EagerSingleton(); //私有的构造方法,避免外界创建实例 private EagerSingleton(){ } public static EagerSingleton getInstance(){ return eagerSingleton; } } 登记式单例: 登记式单例类是GoF 为了克服饿汉式单例类及懒汉式单例类均不可继承的缺点而设计的。 只是它的子类实例化的方式只能是懒汉式的, 这是无法改变的。 登记式单例类的一个缺点:(1)由于子类必须允许父类以构造子调用产生实例,因此, 它的构造方法必须是公开的这样一来,就等于允许了以这样方式产生实例 而不在父类的登 记中。(2)由于父类的实例必须存在才可能有子类的实例, 这在有些情况下是一个浪费。这是登记式单例类的另一个缺点。 import java.util.*; public class RegSingleton { //登记薄,用来存放所有的实例 private static Map regSingletonMap = new HashMap(); //在类加载的时候添加一个实例到登记薄 static{ RegSingleton regSingleton = new RegSingleton(); regSingletonMap.put(regSingleton.getClass().getName(),regSingleton); } //保护的默认构造子 protected RegSingleton(){ } public static RegSingleton getInstance(String name){ if(name == null){ name = RegSingleton; } if(regSingletonMap.get(name) == null){ try{ regSingletonMap.put(name, (RegSingleton)Class.forName(name).newInstance()); }catch(Exception e){ e.printStackTrace();

文档评论(0)

cduutang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档