java基础知识总结

时间:2024.5.8

31、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?

32、应用服务器有那些?

33、给我一个你最常见到的runtime exception。

34、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类

35、List, Set, Map是否继承自Collection接口?

36、说出数据连接池的工作机制是什么?

37、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?

38、数组有没有length()这个方法? String有没有length()这个方法?

39、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?

40、构造器Constructor是否可被override?

31、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?

SessionBean:Stateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建一个新的Bean的实例供客户机调用,而是随便找一个现有的实例提供给客户机。当客户机第一次调用一个Stateful Session Bean 时,容器必须立即在服务器中创建一个新的Bean实例,并关联到客户机上,以后此客户机调用Stateful Session Bean 的方法时容器会把调用分派到与此客户机相关联的Bean实例。

EntityBean:Entity Beans能存活相对较长的时间,并且状态是持续的。只要数据库中的数据存在,Entity beans就一直存活。而不是按照应用程序或者服务进程来说的。即使EJB容器崩溃了,Entity beans也是存活的。Entity Beans生命周期能够被容器或者 Beans自己管理。 EJB通过以下技术管理实务:对象管理组织(OMG)的对象实务服务(OTS),Sun Microsystems的Transaction Service(JTS)、Java Transaction API(JTA),开发组(X/Open)的XA接口。

32、应用服务器有那些?

BEA WebLogic Server,IBM WebSphere Application Server,Oracle9i Application

Server,jBoss,Tomcat

33、给我一个你最常见到的runtime exception。

ArithmeticException, ArrayStoreException, BufferOverflowException,

BufferUnderflowException, CannotRedoException, CannotUndoException,

ClassCastException, CMMException, ConcurrentModificationException, DOMException,

EmptyStackException, IllegalArgumentException, IllegalMonitorStateException,

IllegalPathStateException, IllegalStateException, ImagingOpException,

IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException,

NoSuchElementException, NullPointerException, ProfileDataException,

ProviderException, RasterFormatException, SecurityException, SystemException,

UndeclaredThrowableException, UnmodifiableSetException,

/index.php/Main_Page-->

-pagination: widow-orphan; mso-outline-level: 1" align=left>UnsupportedOperationException

34、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。

35、List, Set, Map是否继承自Collection接口?

List,Set是,Map不是

36、说出数据连接池的工作机制是什么?

J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。

37、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized? 都不能

38、数组有没有length()这个方法? String有没有length()这个方法?

数组没有length()这个方法,有length的属性。String有有length()这个方法。

39、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?

Set里的元素是不能重复的,那么用iterator()方法来区分重复与否。equals()是判读两个Set是否相等。equals()和==方法决定引用值是否指向同一对象equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。

40、构造器Constructor是否可被override?

构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Overloading。

41、是否可以继承String类?

42、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

43、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

44、编程题: 用最有效率的方法算出2乘以8等於几?

45、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

46、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

47、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

48、编程题: 写一个Singleton出来。

49、Java的接口和C++的虚类的相同和不同处。

50、Java中的异常处理机制的简单原理和应用。

41、是否可以继承String类?

String类是final类故不可以继承。

42、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?

switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。

43、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

会执行,在return前执行。

44、编程题: 用最有效率的方法算出2乘以8等於几?

2 << 3

45、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 不对,有相同的hash code。

46、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。

47、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

不能,一个对象的一个synchronized方法只能由一个线程访问。

48、编程题: 写一个Singleton出来。

Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 一般Singleton模式通常有几种种形式:

第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。

public class Singleton {

private Singleton(){}

file://在自己内部定义自己一个实例,是不是很奇怪?

file://注意这是private 只供内部调用

private static Singleton instance = new Singleton();

file://这里提供了一个供外部访问本class的静态方法,可以直接访问

public static Singleton getInstance() {

return instance;

}

}

第二种形式:

public class Singleton {

private static Singleton instance = null;

public static synchronized Singleton getInstance() {

file://这个方法比上面有所改进,不用每次都进行生成对象,只是第一次 file://使用时生成实例,提高了效率!

if (instance==null)

instance=new Singleton();

return instance; }

}

其他形式:

定义一个类,它的构造函数为private的,所有方法为static的。

一般认为第一种形式要更加安全些

49、Java的接口和C++的虚类的相同和不同处。

由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是public static,所有方法默认情况下是public.一个类可以实现多个接口。

50、Java中的异常处理机制的简单原理和应用。

当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发

IndexOutOfBoundsException;访问null的对象时会引发

NullPointerException。另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw关键字引发异常。所有的异常都是java.lang.Thowable的子类。

81、如何设定的weblogic的热启动模式(开发模式)与产品发布模式?

82、如何启动时不需输入用户名与密码?

83、在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中?

84、说说weblogic中一个Domain的缺省目录结构?比如要将一个简单的helloWorld.jsp放入何目录下,然的在浏览器上就可打入http://主机:端口号//helloword.jsp就可以看到运行结果了? 又比如这其中用到了一个自己写的javaBean该如何办?

85、在weblogic中发布ejb需涉及到哪些配置文件

86、如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置

87、如何查看在weblogic中已经发布的EJB?

88、CORBA是什么?用途是什么?

89、说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法

90、说说在weblogic中开发消息Bean时的persistent与non-persisten的差别

81、如何设定的weblogic的热启动模式(开发模式)与产品发布模式?

可以在管理控制台中修改对应服务器的启动模式为开发或产品模式之一。或者修改服务的启动文件或者commenv文件,增加set PRODUCTION_MODE=true。

82、如何启动时不需输入用户名与密码?

修改服务启动文件,增加 WLS_USER和WLS_PW项。也可以在boot.properties文件中增加加密过的用户名和密码.

83、在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中?

保存在此Domain的config.xml文件中,它是服务器的核心配置文件。

84、说说weblogic中一个Domain的缺省目录结构?比如要将一个简单的helloWorld.jsp放入何目录下,然的在浏览器上就可打入http://主机:端口号//helloword.jsp就可以看到运行结果了? 又比如这其中用到了一个自己写的javaBean该如何办?

Domain目录服务器目录applications,将应用目录放在此目录下将可以作为应用访问,如果是Web应用,应用目录需要满足Web应用目录要求,jsp文件可以直接放在应用目录中,Javabean需要放在应用目录的WEB-INF目录的classes目录中,设置服务器的缺省应用将可以实现在浏览器上无需输入应用名。

85、在weblogic中发布ejb需涉及到哪些配置文件

不同类型的EJB涉及的配置文件不同,都涉及到的配置文件包括ejb-jar.xml,weblogic-ejb-jar.xmlCMP实体Bean一般还需要weblogic-cmp-rdbms-jar.xml

86、如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置 缺省安装中使用DemoIdentity.jks和DemoTrust.jks KeyStore实现SSL,需要配置服务器使用Enable SSL,配置其端口,在产品模式下需要从CA获取私有密钥和数字证书,创建identity

和trust keystore,装载获得的密钥和数字证书。可以配置此SSL连接是单向还是双向的。

87、如何查看在weblogic中已经发布的EJB?

可以使用管理控制台,在它的Deployment中可以查看所有已发布的EJB

bidi-font-family: Arial; mso-font-kerning: 0pt">

88、CORBA是什么?用途是什么?

CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织 (Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。 其目的为:用不同的程序设计语言书写在不同的进程中运行,为不同的操作系统开发。

89、说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法

Session Facade Pattern:使用SessionBean访问EntityBean

Message Facade Pattern:实现异步调用

EJB Command Pattern:使用Command JavaBeans取代SessionBean,实现轻量级访问 Data Transfer Object Factory:通过DTO Factory简化EntityBean数据提供特性

Generic Attribute Access:通过AttibuteAccess接口简化EntityBean数据提供特性

Business Interface:通过远程(本地)接口和Bean类实现相同接口规范业务逻辑一致性 EJB架构的设计好坏将直接影响系统的性能、可扩展性、可维护性、组件可重用性及开发效率。项目越复杂,项目队伍越庞大则越能体现良好设计的重要性。

90、说说在weblogic中开发消息Bean时的persistent与non-persisten的差别

persistent方式的MDB可以保证消息传递的可靠性,也就是如果EJB容器出现问题而JMS服务器依然会将消息在此MDB可用的时候发送过来,而non-persistent方式的消息将被丢弃。 文章出处:DIY部落(/course/3_program/java/javajs/20090305/158158_2.html)

91、Servlet执行时一般实现哪几个方法?

92、j2ee常用的设计模式?说明工厂模式。

93、EJB需直接实现它的业务接口或Home接口吗,请简述理由。

94、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。

95、请对以下在J2EE中常用的名词进行解释(或简单描述)

96、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?

97、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?

98、MVC的各个部分都有那些技术来实现?如何实现?

99、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?

100、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他

们分别是哪些类?

91、Servlet执行时一般实现哪几个方法?

public void init(ServletConfig config)

public ServletConfig getServletConfig()

public String getServletInfo()

public void service(ServletRequest request,ServletResponse response)

public void destroy()

92、j2ee常用的设计模式?说明工厂模式。

Java中的23种设计模式:

Factory(工厂模式), Builder(建造模式), Factory Method(工厂方法模式),

Prototype(原始模型模式),Singleton(单例模式), Facade(门面模式),

Adapter(适配器模式), Bridge(桥梁模式), Composite(合成模式),

Decorator(装饰模式), Flyweight(享元模式), Proxy(代理模式),

Command(命令模式), Interpreter(解释器模式), Visitor(访问者模式),

Iterator(迭代子模式), Mediator(调停者模式), Memento(备忘录模式),

Observer(观察者模式), State(状态模式), Strategy(策略模式),

Template Method(模板方法模式), Chain Of Responsibleity(责任链模式)

工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。

93、EJB需直接实现它的业务接口或Home接口吗,请简述理由。

远程接口和Home接口不需要直接实现,他们的实现代码是由服务器产生的,程序运行中对应实现类会作为对应接口类型的实例被使用。

94、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。

排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序) 快速排序的伪代码。

/ /使用快速排序方法对a[ 0 :n- 1 ]排序

从a[ 0 :n- 1 ]中选择一个元素作为m i d d l e,该元素为支点

把余下的元素分割为两段left 和r i g h t,使得l e f t中的元素都小于等于支点,而right 中的元素都大于等于支点

递归地使用快速排序方法对left 进行排序

递归地使用快速排序方法对right 进行排序

所得结果为l e f t + m i d d l e + r i g h t

95、请对以下在J2EE中常用的名词进行解释(或简单描述)

web容器:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET直接更容器中的环境变量接口交互,不必关注其它系统问题。主要有WEB服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。该容器提供的接口严格遵守J2EE规范中的WEB APPLICATION 标准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。

EJB容器:Enterprise java bean 容器。更具有行业领域特色。他提供给运行在其中的组件EJB各种管理功能。只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。

JNDI:(Java Naming & Directory Interface)JAVA命名目录服务。主要提供的功能是:提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。

JMS:(Java Message Service)JAVA消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。

JTA:(Java Transaction API)JAVA事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接口即可。

JAF:(Java Action FrameWork)JAVA安全认证框架。提供一些安全控制方面的框架。让开发者通过各种部署和自定义实现自己的个性安全控制策略。

RMI/IIOP:(Remote Method Invocation

/internet对象请求中介协议)他们主要用于通过远程调用服务。例如,远程有一台计算机上运行一个程序,它提供股票分析服务,我们可以在本地计算机上实现对其直接调用。当然这是要通过一定的规范才能在异构的系统之间进行通信。RMI是JAVA特有的。

96、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?

Java通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理。

用try来指定一块预防所有"异常"的程序。紧跟在try程序后面,应包含一个catch子句来指定你想要捕捉的"异常"的类型。

throw语句用来明确地抛出一个"异常"。

throws用来标明一个成员函数可能抛出的各种"异常"。

Finally为确保一段代码不管发生什么"异常"都被执行一段代码。

可以在一个成员函数调用的外面写一个try语句,在这个成员函数内部写另一个try语句保护其他代码。每当遇到一个try语句,"异常"的框架就放到堆栈上面,直到所有的try语句都完成。如果下一级的try语句没有对某种"异常"进行处理,堆栈就会展开,直到遇到有处理这种"异常"的try语句。

97、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?

可以。必须只有一个类名与文件名相同。

98、MVC的各个部分都有那些技术来实现?如何实现?

MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), "View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。

99、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?

有两种实现方法,分别是继承Thread类与实现Runnable接口

用synchronized关键字修饰同步方法

反对使用stop(),是因为它不安全。它会解除由线程获取的所有锁定,而且如果对象处于一种不连贯状态,那么其他线程能在那种状态下检查和修改它们。结果很难检查出真正的问题所在。suspend()方法容易发生死锁。调用suspend()的时候,目标线程会停下来,但却仍然持有在这之前获得的锁定。此时,其他任何线程都不能访问锁定的资源,除非被"挂起"的线程恢复运行。对任何线程来说,如果它们想恢复目标线程,同时又试图使用任何一个锁定的资源,就会造成死锁。所以不应该使用suspend(),而应在自己的Thread类中置入一个标志,指出线程应该活动还是挂起。若标志指出线程应该挂起,便用wait()命其进入等待状态。若标志指出线程应当恢复,则用一个notify()重新启动线程。

100、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?

字节流,字符流。字节流继承于InputStream OutputStream,字符流继承于InputStreamReader OutputStreamWriter。在java.io包中还有许多其他的流,主要是为了提高性能和使用方便。

更多相关推荐:
Java基础知识总结(超级经典)

Java基础知识总结写代码1明确需求我要做什么2分析思路我要怎么做1233确定步骤每一个思路部分用到哪些语句方法和对象4代码实现用具体的java语言代码把思路体现出来学习新技术的四点1该技术是什么2该技术有什么...

java各知识点详细总结

Java基础知识总结写代码1明确需求我要做什么2分析思路我要怎么做1233确定步骤每一个思路部分用到哪些语句方法和对象4代码实现用具体的java语言代码把思路体现出来学习新技术的四点1该技术是什么2该技术有什么...

java基础知识总结(超级经典)1

Java基础知识总结写代码1明确需求我要做什么2分析思路我要怎么做1233确定步骤每一个思路部分用到哪些语句方法和对象4代码实现用具体的java语言代码把思路体现出来学习新技术的四点1该技术是什么2该技术有什么...

java基础知识总结(超级经典)

Java基础知识总结超级经典写代码1明确需求我要做什么2分析思路我要怎么做1233确定步骤每一个思路部分用到哪些语句方法和对象4代码实现用具体的java语言代码把思路体现出来学习新技术的四点1该技术是什么2该技...

Java基础知识总结

JAVA基础知识总结第一章Java入门1java诞生19xx年5月23日Sun公司发布了jdk10版本作者JamesGoslingJAVAME微型版手机软件开发JAVASE标准版桌面应用程序JAVAEE企业版企...

Java基础知识总结

Java总结标识符?Java对各种变量、方法和类等要素命名时使用的字符数列称为标识符。?凡是自己可以起名字的地方都叫标识符,都遵循标识符的规则?Java标识符命名规则:?标识符由字母、下划线“__”、美元”$”…

Java基础知识总结

JAVA基础知识总结第一章Java入门1java诞生19xx年5月23日Sun公司发布了jdk10版本作者JamesGoslingJAVAME微型版手机软件开发JAVASE标准版桌面应用程序JAVAEE企业版企...

Java基础知识总结

Java基础知识总结写代码1明确需求我要做什么2分析思路我要怎么做1233确定步骤每一个思路部分用到哪些语句方法和对象4代码实现用具体的java语言代码把思路体现出来学习新技术的四点1该技术是什么2该技术有什么...

Java基础知识总结

JAVA基础知识总结第一章Java入门1java诞生19xx年5月23日Sun公司发布了jdk10版本作者JamesGoslingJAVAME微型版手机软件开发JAVASE标准版桌面应用程序JAVAEE企业版企...

java基础知识1

Java基础知识总结写代码1明确需求我要做什么2分析思路我要怎么做1233确定步骤每一个思路部分用到哪些语句方法和对象4代码实现用具体的java语言代码把思路体现出来学习新技术的四点1该技术是什么2该技术有什么...

Java基础知识

JAVA基础知识总结第一章Java入门1java诞生19xx年5月23日Sun公司发布了jdk10版本作者JamesGoslingJAVAME微型版手机软件开发JAVASE标准版桌面应用程序JAVAEE企业版企...

java基础知识总结

Java总结环境变量就是操作系统中应用程序获取一些运行参数的地方。文本中可按ENTER键将光标指向文本框末尾。文件名一定和CLASS后的类名一致。显示文件后缀名是一个好习惯。编译出错了,可能是环境配置不成功,或…

java基础知识总结(35篇)