Java面试题-JAVA程序员JAVA工程师面试必看.docx

上传人:太** 文档编号:60535337 上传时间:2022-11-16 格式:DOCX 页数:20 大小:55.79KB
返回 下载 相关 举报
Java面试题-JAVA程序员JAVA工程师面试必看.docx_第1页
第1页 / 共20页
Java面试题-JAVA程序员JAVA工程师面试必看.docx_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《Java面试题-JAVA程序员JAVA工程师面试必看.docx》由会员分享,可在线阅读,更多相关《Java面试题-JAVA程序员JAVA工程师面试必看.docx(20页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、-JAVA程序员JAVA工程师面试必看Java面试题:第一锦一、面向对象的特征有哪些方面1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽 象并不打算了解全部问题,而只是选择其中的一局部,暂时不用局部细节。抽象包括两个方面,一是过程 抽象,二是数据抽象。2继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象 的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的 派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并 且类可以修

2、改或增加新的方法使之更适合特殊的需要。3,封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概 念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对 象。4多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性 语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。二、String是最基本的数据类型吗?基本数据类型包括 byte、int、char、long、floaty double、boolean 和 short java lang Strin

3、g 类是 final 类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffero三、int和Integer有什么区别?3提供两种不同的类型:引用类型和原始类型(或内置类型)。int是如巴的原始数据类型,Integer 是Java为int提供的封装类。Java为每个原始类型提供了封装类。原始类型封装类boolean Booleanchar Characterbyte Byteshort ShortintIntegerlong Longfloat Floatdouble Double引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原

4、始类型具有不同的特 征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用* /public static void main(StringD args) for Gnti=101;i 200; i+=2) boolean f = true;for (intj = 2; j 3)return;System out printing);public static void m3(int i, int j) System out printing + j);)public static int m4(int i, int j) (return i j ? i:

5、 j;public class Test Method /* 方法说明:JAVA的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段,* 声明格式:修饰符1修饰符2返回值类型方法名(形式参数列表)Java语句;* 形式参数:在方法被调用时用于接收外界输入的数据。* 实参:调用方法时实际传给方法的数据。* 返回值:方法在执行完毕后返还给调用它的环境的数据。* 返回值类型:事先约定的返回值的数据类型,如无返回值,必须给出返回值类型void。* JAVA语言使用下述形式调用方法:对象名.方法名(实参列表)* 实参的数目、数据类型和次序必须和所调用方法声明的形参列表匹配。* return语句终

6、止方法的运行并指定要返回的数据。* Java中进行函数调用中传递参数时,遵循传递的原那么:* 基本类型传递的是该数据值本身,引用类型传递的是对对象的引用,而不是对象本身。* param args*/public static void main (String口 args) m();m 2;m3(3, 4);m4(4, 6);int i = m4 (4, 6);Systein out printing);public static void mO return;如果这里使用了 return,下面的语句将永远无法执行System out println(OK);public static voi

7、d m2 (int i) if (i 3)return;System out println0;)public static void m3(int i, int j) System out printin(i + j);public static int m4 (int i, int j) return i j ? i: j;算法程序题:该公司笔试题就1个,要求在10分钟内作完。题目如下:用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如: 512234、412345等,要求:4不能在第三位,3与5不能相连。基本思路:1把问题归结为图结构的遍历问题。实

8、际上6个数字就是六个结点,把六个结点连接成无向连通图,对于每 一个结点求这个图形的遍历路径,所有结点的遍历路径就是最后对这6个数字的排列组合结果集。2显然这个结果集还未到达题目的要求。从以下几个方面考虑:1. 3. 5不能相连:实际要求这个连通图的结点3, 5之间不能连通 可在构造图结构时就满足改条件,然 后再遍历图。2. 不能有重复:考虑到有两个2,明显会存在重复结果,可以把结果集放在TreeSet中过滤重复结果3. 4不能在第三位:仍旧在结果集中去除满足此条件的结果。采用二维数组定义图结构,最后的代码是:i mport java util Iterator;import java util

9、 TreeSet;public class Test Question private String口 b = new StringD2,“2, 3,4,5;private int n = h length;private boolean0 visited = new booleann;visited =falsh;private intDD a = new intn n;private String result 二;private TreeSet TreeSet = new TreeSet0;public static void main(StringQ args) new Test Qu

10、estion。, start。;private void startO for (int i = 0; i n; i+) for (int j = 0; j n; j+) if (i = j) aij| = 0; else = 1;)/=0;a53 =0;for (inti = 0; i n; i+) this depthFirstSearch (i);)Iterator it = set iterator 0;while (it hasNextO) String string =(String) it nextO;if (string index Of (4)!= 2) System, ou

11、t printin (string);)private void depthFirstSearch(int startindex) visited startindex = true;result = result + b startindex;if (result length 0 = n) TreeSet. add (result);!for(int j = 0; j n; j+) if (astartlndexj = 1 & visitedj = false) depthFirstSearch (j); else continue;)!result = result substring

12、(0, result length 0 -1); vi sited startTndex = false;)注:郁闷,花了半个多小时才能写出来还是看的提示 无向图,学数据结构时对他就不是很感冒内存里面分成四局部:1.代码区CODE SEGMENT :存放代码2数据区DATA SEGMENT :存放静态变量和字符串常量3 .栈区STACK :局部变量.堆HEAP : NEW出来的东西方法体内(包括方法的参数,即形参)叫局部变量,类内部,方法外部叫成员变量JAVA是纯面向对象语言,没有象C+的全局变量Java面试题:第二锦2 1 Hash Map 和 Hashtable 的区别。Hash Map是

13、Hashtable的轻量级实现(非线程平安的实现),他们者院成了 Map接口,主要区别在于 Hash Map允许空(null)键值(key),由于非线程平安,效率上可能高于HashtableHash Map允许将null作为一个entry的key或者value,而Hashtable不允许。Hash Map 把 Hashtable 的 contains 方法去掉了,改成 containsvalue 和 contains Key.因为 contains 方法 容 易让人引起误解。Hashtable 继承自 Dictionary 类,而HashMap 是2引进的Map interface 的一个实现

14、。最大的不同是,Hashtable的方法是Synchronize的,而Hash Map不是,在多个线程访问Hashtable时, 不需要自己为它的方法 实现同步,而HashMap就必须为之提供外同步。Hashtable和Hash Map采用的 haslVrehash算法都大概一样,所以性能不会有很大的差异。2 2 final, finally, finalize 的区别。final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一局部,表示总是执行。finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法

15、,可以覆盖此方 法提供垃圾收集时的其他资源回收,例如关闭文件等。2 3 sleep ()和wait ()有什么区别?sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控 状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定 池,只有针对此对象发出notify方法(或notify All)后本线程才进入对象锁定池准备获得对象锁进入运行 状态。2 4 Overload和Override的区别。Overloaded的方法是否可以改变返回值的类

16、型?方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类 之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父 类有相同的名称和参数,我们说该方法被重写(Overriding) o子类的对象使用这个方法时,将调用子类 中的定义,对它而言,父类中的定义如同被屏蔽了。如果在一个类中定义了多个同名的方法,它们或有 不同的参数个数或有不同的参数类型,那么称为方法的重载(Overloading)。Overloaded的方法是可以改变返 回值的类型。2 5 error和exceptio

17、n有什么区别?error表示恢复不是不可能但很困难的情况下的一种严重问题。比方说内存溢出。不可能指望程序能处 理这样的情况。exception表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。2 6同步和异步有何异同,在什么情况下分别使用他们?举例说明。如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的数据可能已 经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回 时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。2. 7 a

18、bstract class 和 interface 有什么区别?声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创立一个表达某些基本行 为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创立abstract类的实例。然而可以创 建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方 法。Abstract类的子类为它们父类中的所有抽象方法提供实现,否那么它们也是抽象类为。取而代之,在子 类中实现该方法。知道其行为的其它类可以在类中实现这些方法。接口 (interface)是抽象类的变体。在接口中,所有方法都是抽象

19、的。多继承性可通过实现这样的接口 而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口 的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序 体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有 抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从 接口类型转换,instanceof运算符可以用来决定某对象的类是否实现了接口。2 8 heap和stack有什么区别。栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈

20、按照后进先出的方式进行处理。 堆是栈的一个组成元素。2 9 forward 和 redirect 的区别forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然 后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是 原来的地址。redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会 用刚才请求的所有参数重新请求,所以session, request参数都可以获取。2 10 EJB 与 Java Bean 的区别?Java Bean是可复用的组件,对Java Bean并没

21、有严格的规范,理论上讲,任何一个Java类都可以是一 个Bean,但通常情况下,由于Java Bean是被容器所创立(如Tomcat)的,所以Java Bean应具有一个无参 的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相 当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。Enterprise Java Bean相当于 DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进 程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这

22、样的容器中,EJB客户从不直接访问真 正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创立和管理。客 户通过容器来访问真正的EJB组件。Java面试题:第三锦1.1 Static Nested Class 和 Inner Class 的不同。Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常 的内部类需要在外部类实例化后才能实例化。1.2 JSP中动态INCLUDE与静态INCLUDE的区别?动态 INCLUDE 用 jsp : include 动作实现 它总是会检查 所含文件中的变化,适合

23、用于包含动态页面,并且可以带参数。静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面 include file二includedhtm %3 . 3什么时候用assertassertion (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中, assertion就是在程序中的一条语句,它 对一个booloan表达式进行检查,一个正确程序必须保证这个booloan 表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般 来说,assertion用于保证程序最基本、关键的正确性。as

24、sertion检查通常在开发和测试时开启。为了提高性 能,在软件发布后,assertion检查通常是关闭的。4 .4 GC是什么?为什么要有GC?GC是垃圾提供的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误 的内存回收会导致程序或系统的不稳定甚至崩溃,如d提供的GC功能可以自动监测对象是否超过作用域 从而到达自动回收内存的目的,4语言没有提供释放已分配内存的显示操作方法。3. 5 short si = 1 ; si = si + 1 ;有什么错? short si = 1 ; si += 1 ;有什么错?short si = 1 ; si =

25、si + 1 ;(sl + 1运算结果是int型,需要强制转换类型)short si = 1 ; si += 1 ;(可以正确编译)3.6 Math round (11.5)等於多少? Math round (-11.5)等於多少?M ath. round (11. 5) =12M ath. round (-11. 5) =-11round方法返回与参数最接近的长整数,参数加1/2后求其floor.3. 7 String s = new String (xyz);创立了几个 String Object ?两个3.8 设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次戒少1,写出程序

26、。以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。 package test;public class ThreadTestl private int j;Dec dec = it new DecO;t startO;)private synchronized void incO j+;System out printin (Thread currentThreadO. get Na me 0 + -inc: + j); )System, out println(Thread currentThreadO. get Na me 0 + 一 dec: + j);)class Dec

27、implements Runnable public void runO for Gnt i = 0; i 3; i+) decO;)3.9 Java 有没有 goto?Java中的保存字,现在没有在Java中使用。3.10 启动一个线程是用run ()还是start () ?启动一个线程是调用start ()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由 JVM调度并执行。这并不意味着线程就会立即运行。run ()方法可以产生必须退出的标志来停止一个线 程。Java面试题:第四锦4.1 EJB包括(SessionBean, EntityBean)说出他们的生命周期,及如何管理

28、事务的?SessionBean : Stateless Session Bean的生命周期是由容器决定的,当客户机发出请求要建立一个Bean 的实例时,EJB容器不一定要创立一个新的Bean的实例供客户机调用,而是随便找一个现有的实例提供 给客户机。当客户机第一次调用一个Stateful Session Bean时,容器必须立即在服金器中创立一个新的Bean 实例,并关联到客户机上,以后此客户机调用Stateful SessionBean的方法时容器会把调用分派到与此客户 机相关联的Bean实例。EntityBean Entity Beans能存活相对较长的时间,并且状态是持续的。只要数据库中

29、的数据存在,Entity beans就一直存活。而不是按照应用程序或者服务进程来说的。即使EJB容器崩溃了,Entity beans也是存 活的。Entity Beans生命周期能够被容器或者Beans自己管理。EJB通过以下技术管理事务:对象管理组织(OMG)的对象事务服务(OTS) , Sun Microsystems的 Transaction Service (JTS) x Java Transaction API (JTA),开发组(X/Open)的 XA 接口。42应用服务器有那些?BEA Web Logic Server, IBM WebSphere Application Ser

30、ver, -0acle9i Application Server, jBoss, Tomcat 4 3 给我一个你最常见到的runti me exception.ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, Cannot RedoExcepti on , CannotUndoException ,C1 ass Cast Exception , C M M Exception ,ConcurrentModificationException, DOM Exc

31、eption, EmptyStackException, Illegal/rgumentException, Illegal MonitorStatcExccption, IllegalPathStatcException, IllcgalStatcException, I maging Op Exception, Index Out OfBoundsException ,M i ssingResourceException ,N e gati ve Array Si ze E x cepti on ,N o SuchEle mentException ,N u 11 Pointer Exce

32、ption ,frofile DataEx cepti on ,Provider Exception ,RasterFormatException , SecurityException , SystemException , UndeclaredThrowableException , U n m o difiableSet Exception, UnsupportedOperationException.44接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承实体类 (concrete class) ?接口可以继承接口。抽象类可以实现(implements)接

33、口,抽象类是否可继承实体类,但前提是实体 类必须有明确的构造函数。45 List, Set, Map 是否继承自 Collection 接口 ?List, Set 是,Map 不是46说出数据连接池的工作机制是什么?J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连 接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新 建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接 表记为空闲,其他调用就可以使用这个连接。4. 7 abstract的method是否可同时是stati

34、c,是否可同时是native,是否可同时是synchronized ? 都不能4 8数组有没有length ()这个方法? String有没有length ()这个方法?数组没有length ()这个方法,有length的属性。String有有length ()这个方法。49 Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用二二还是equals () ?它们有何区别? 作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为null,而原始类型实例变量的缺省 值与它们的类型有关。四、String 和 StringBuffer 的区另ij ?Java平台提供了两个类:Str

35、ing和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符 数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你 知道字符数据要改变的时候你就可以使用StringBuffen典型地,你可以使用StringBuffer来动态构造字符数 据。五、运行时异常与一般异常有何异同?异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异 常,是一种常见运行错误。Java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必 须声明抛出未被捕获的运行时异常。六、说出Servlet的生命

36、周期,并说出Servlet和CGI的区别。Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派 遣运行与请求对应的doXXX方法(doGet, doPost)等,当服妥器决定将实例销毁的时候调用其destroy方 法。与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以 服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁, 所以效率上低于CGL七、说出Array List, Vector,LinkedList的莅描性能和特性ArrayLis

37、t和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元 素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而 插入数据慢,Vector由于使用了 synchronized方法(线程平安,通常性能上较ArrayList差,而Linked List 使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前 后项即可,所以插入速度较快。八、口 B是基于哪些技术实现的?并说出Session Bean和EntityBean的区别,Stateful Bean和StatelessBean 的 区另i

38、j。EJB 包括 Session Bean、Entity Bean、Message Driven Bean,基于 JNDI、RMI、JAT等技术实现。SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB 组件。Entity Bean被用来代表应用系统中用到的数据。对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图, 或是一个由现有企业应用程序实现的实体。Session Bean 还可以再细分为 Statef

39、ul Session Bean 与 Stateless Session Bean ,这两种的 Session Bean 都可以将系统逻辑放在method之中执行,不同的是Stateful Session Bean可以记录呼叫者的状态,因此通 常来说,一个使用者会有一个相对应的Stateful Session Bean的实体 Stateless Session Bean虽然也是逻辑 组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫Stateless Session Bean的时候,EJBContainer并不会找寻特定的Stateless Session Bean的实体来执行这个meth

40、od换言之,很可能数个使用者 在执行某个Stateless Session Bean的methods时,会是同一个Bean的Instance在执行。从内存方面来 看, Stateful Session Bean 与 Stateless Session Bean 比拟, Stateful Session Bean 会消耗 J2EE Server 较多 的内存,然而Stateful Session Bean的优势却在于他可以维持使用者的状态。Set里的元素是不能重复的,那么用iterator ()方法来区分重复与否。equals ()是判读两个Set是否 相等。equals ()和二方法决定引用值

41、是否指向同一对象equals ()在类中被覆盖,为的是当两个别离的对象 的内容和类型相配的话,返回真值。4. 10 构造器 Constructor 是否可被 override ?构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载OverloadingJava面试题:第五锦5.1是否可以继承String类?String类是final类故不可以继承。5. 2 swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?switch (exprl)中,exprl是一个整数表达式。因此传递给switch和case语句的参数应该是int、s

42、hort、 char或者byte long, string都不能作用于swtich5. 3 try ()里有一个return语句,那么紧跟在这个try后的finally。里的code会不会被执行,什么时 候被执行,在return前还是后?会执行,在return前执行。5.4编程题:用最有效率的方法算出2乘以8等於几?2 35. 5两个对象值相同(X. equals (y) = true),但却可有不同的hash code,这句话对不对?不对,有相同的hash code5.6 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结 果,那么这里到底是值传递还是引用传

43、递?是值传递。4 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的 值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。5.7 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?不能,一个对象的一个synchronized方法只能由一个线程访问。(这个有点疑问:问的是这个对象的其他方法,而非synchonized方法。)5. 8编程题:写一个Singleton出来。Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。一般Singleton模式通常有

44、几种种形式:第一种形式:定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类 初始化时实例话,通过一个public的getlnstance方法获取对它的引用,继而调用其中的方法。package test;public class Singleton 在自己内部定义自己一个实例,是不是很奇怪?/注意这是private只供内部调用public static Singleton getlnstanceO return instance;)第二种形式:package test;public class Singleton private static Singleton instance = null;public static synchronized Singleton getlnstanceO /这个方法比上面有所改进,不用每次都进行生成对象,只是第一次 /使用时生成实例,提高了效率!其他形式:定义一个类,它的构造函数为private的,所有方法为static的。一般认为第一种形式要更加平安些5.9 Java的接口和且的虚类的相同和不同处。由于J

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com