初中级java开发⼯程师--⾯试题库(⼀)
1、String是最基本的数据类型吗?
基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提⾼效率节省空间,我们应该⽤StringBuffer类
2、应⽤服务器与WEB SERVER的区别?
应⽤服务器:Weblogic、Tomcat、Jboss; WEB SERVER:IIS、 Apache
3、int 和 Integer 有什么区别
Java 提供两种不同的类型:引⽤类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。原始类型封装类booleanBoolean charCharacter byteByte shortShortintInteger longLong floatFloat doubleDouble 引⽤类型和原始类型的⾏为完全不同,并且它们具有不同的语义。引⽤类型和原始类型具有不同的特征和⽤法,它们包括:⼤⼩和速度问题,这种类型以哪种类型的数据结构存储,当引⽤类型和原始类型⽤作某个类的实例数据时所指定的缺省值。对象引⽤实例变量的缺省值为 null,⽽原始类型实例变量的缺省值与它们的类型有关。
4、String 和StringBuffer的区别
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。⽽这个StringBuffer类提供的字符串进⾏修改。当你知道字符数据要改变的时候你就可以使⽤StringBuffer。典型地,你可以使⽤StringBuffers来动态构造字符数据。
5、运⾏时异常与⼀般异常有何异同?
异常表⽰程序运⾏过程中可能出现的⾮正常状态,运⾏时异常表⽰虚拟机的通常操作中可能遇到的异常,是⼀种常见运⾏错误。java编译器要求⽅法必须声明抛出可能发⽣的⾮运⾏时异常,但是并不要求必须声明抛出未被捕获的运⾏时异常。
6、说出Servlet的⽣命周期,并说出Servlet和CGI的区别
Servlet被服务器实例化后,容器运⾏其init⽅法,请求到达时运⾏其service⽅法,service⽅法⾃动派遣运⾏与请求对应的doXXX⽅法(doGet,doPost)等,当服务器决定将实例销毁的时候调⽤其destroy⽅法。与cgi的区别在于servlet处于服务器进程中,它通过多线程⽅式运⾏其service⽅法,⼀个实例可以服务于多个请求,并且其实例⼀般不会销毁,⽽CGI对每个请求都产⽣新的进程,服务完成后就销毁,所以效率上低于servlet。
7、说出ArrayList,Vector, LinkedList的存储性能和特性
ArrayList和Vector都是使⽤数组⽅式存储数据,此数组元素数⼤于实际存储的数据以便增加和插⼊元素,它们都允许直接按序号索引元素,但是插⼊元素要涉及数组元素移动等内存操作,所以索引数据快⽽插⼊数据慢,Vector由于使⽤了synchronized⽅法(线程安全),通常性能上较ArrayList差,⽽LinkedList使⽤双向链表实现存储,按序号索引数据需要进⾏前向或后向遍历,但是插⼊数据时只需要记录本项的前后项即可,所以插⼊速度较快。
8、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。
EJB包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT等技术实现。 SessionBean在J2EE应⽤程序中被⽤来完成⼀些服务器端的业务操作,例如访问数据库、调⽤其他EJB组件。EntityBean被⽤来代表应⽤系统中⽤到的数据。对于客户机,SessionBean是⼀种⾮持久性对象,它实现某些在服务器上运⾏的业务逻辑。对于客户机,EntityBean是⼀种持久性对象,它代表⼀个存储在持久性存储器中的实体的对象视图,或是⼀个由现有企业应⽤程序实现的实体。 Session Bean 还可以再细分为
StatefulSession Bean 与 Stateless Session Bean ,这两种的 Session Bean都可以将系统逻辑放在 m
ethod之中执⾏,不同的是StatefulSession Bean 可以记录呼叫者的状态,因此通常来说,⼀个使⽤者会有⼀个相对应的 Stateful Session Bean 的实体。StatelessSession Bean 虽然也是逻辑组件,但是他却不负责记录使⽤者状态,也就是说当使⽤者呼叫 Stateless Session Bean 的时候,EJBContainer 并不会寻特定的 Stateless Session Bean 的实体来执⾏这个 method。换⾔之,很可能数个使⽤者在执⾏某个StatelessSession Bean 的 methods 时,会是同⼀个 Bean 的 Instance 在执⾏。从内存⽅⾯来看, Stateful Session Bean 与Stateless SessionBean ⽐较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然⽽ Stateful Session Bean 的优势却在于他可以维持使⽤者的状态。
9、Collection 和 Collections的区别。
Collection是集合类的上级接⼝,继承与他的接⼝主要有Set 和List. Collections是针对集合类
的⼀个帮助类,他提供⼀系列静态⽅法实现对各种集合的搜索、排序、线程安全化等操作。
10、&和&&的区别。
&是位运算符,表⽰按位与运算,&&是逻辑运算符,表⽰逻辑与(and)。
11、HashMap和Hashtable的区别。
HashMap是Hashtable的轻量级实现(⾮线程安全的实现),他们都完成了Map接⼝,主要区
别在于HashMap允许空(null)键值(key),由于⾮线程安全,效率上可能⾼于Hashtable。 HashMap允许将null作为⼀个entry的key 或
者value,⽽Hashtable不允许。 HashMap把Hashtable的contains⽅法去掉了,改成containsvalue和containsKey。因为contains⽅法容易让⼈引起误解。 Hashtable继承⾃Dictionary类,⽽HashMap是Java1.2引进的Map interface的⼀个实现。最⼤的不同
是,Hashtable的⽅法是Synchronize的,⽽HashMap不是,在多个线程访问Hashtable时,不需要⾃⼰为它的⽅法实现同步,⽽HashMap 就必须为之提供外同步。 Hashtable和HashMap采⽤的hash/rehash算法都⼤概⼀样,所以性能不会有很⼤的差异。
12、final, finally, finalize的区别。
final ⽤于声明属性,⽅法和类,分别表⽰属性不可变,⽅法不可覆盖,类不可继承。finally是异常处理语句结构的⼀部分,表⽰总是执
final ⽤于声明属性,⽅法和类,分别表⽰属性不可变,⽅法不可覆盖,类不可继承。finally是异常处理语句结构的⼀部分,表⽰总是执⾏。finalize是Object类的⼀个⽅法,在垃圾收集器执⾏的时候会调⽤被回收对象的此⽅法,可以覆盖此⽅法提供垃圾收集时的其他资源回收,例如关闭⽂件等。
13、sleep() 和 wait() 有什么区别?
sleep是线程类(Thread)的⽅法,导致此线程暂停执⾏指定时间,给执⾏机会给其他线程,但是监控状态依然保持,到时后会⾃动恢复。调⽤sleep不会释放对象锁。wait是Object类的⽅法,对此对象调⽤wait⽅法导致本线程放弃对象锁,进⼊等待此对象的等待锁定池,只有针对此对象发出notify⽅法(或notifyAll)后本线程才进⼊对象锁定池准备获得对象锁进⼊运⾏状态。
14、Overload和Override的区别。
Overloaded的⽅法是否可以改变返回值的类型? ⽅法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是⽗类与⼦类之间多态性的⼀种表现,重载Overloading是⼀个类中多态性的⼀种表现。如果在⼦类中定义某⽅法与其⽗类有相同的名称和参数,我们说该⽅法被重写 (Overriding)。⼦类的对象使⽤这个⽅法时,将调⽤⼦类中的定义,对它⽽⾔,⽗类中的定义如同被“屏蔽”了。如果在⼀个类中定义了多个同名的⽅法,它们或有不同的参数个数或有不同的参数类型,则称为⽅法的重载(Overloading)。Overloaded 的⽅法是可以改变返回值的类型。
15、error和exception有什么区别?
error 表⽰恢复不是不可能但很困难的情况下的⼀种严重问题。⽐如说内存溢出。不可能指望程序能处
理这样的情况。 exception 表⽰⼀种设计或实现问题。也就是说,它表⽰如果程序运⾏正常,从不会发⽣的情况。
16、同步和异步有何异同,在什么情况下分别使⽤他们?举例说明。
如果数据将在线程间共享。例如正在写的数据以后可能被另⼀个线程读到,或者正在读的数据可能已经被另⼀个线程写过了,那么这些数据就是共享数据,必须进⾏同步存取。当应⽤程序在对象上调⽤了⼀个需要花费很长时间来执⾏的⽅法,并且不希望让程序等待⽅法的返回时,就应该使⽤异步编程,在很多情况下采⽤异步途径往往更有效率。
17、abstract class和interface有什么区别?
声明⽅法的存在⽽不去实现它的类被叫做抽象类(abstract class),它⽤于要创建⼀个体现某些基本⾏为的类,并为该类声明⽅法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然⽽可以创建⼀个变量,其类型是⼀个抽象类,并让它指向具体⼦类的⼀个实例。不能有抽象构造函数或抽象静态⽅法。Abstract 类的⼦类为它们⽗类中的所有抽象⽅法提供实现,否则它们也是抽象类为。取⽽代之,在⼦类中实现该⽅法。知道其⾏为的其它类可以在类中实现这些⽅法。接⼝(interface)是抽象类的变体。在接⼝中,所有⽅法都是抽象的。多继承性可通过实现这样的接⼝⽽获得。接⼝中的所有⽅法都是抽象的,没有⼀个有程序体。接⼝只可以定义static final成员变量。接⼝的实现与⼦类
相似,除了该实现类不能从接⼝定义中继承⾏为。当类实现特殊接⼝时,它定义(即将程序体给予)所有这种接⼝的⽅法。然后,它可以在实现了该接⼝的类的任何对象上调⽤接⼝的⽅法。由于有抽象类,它允许使⽤接⼝名作为引⽤变量的类型。通常的动态联编将⽣效。引⽤可以转换到接⼝类型或从接⼝类型转换,instanceof 运算符可以⽤来决定某对象的类是否实现了接⼝。
18、heap和stack有什么区别。
栈是⼀种线形集合,其添加和删除元素的操作应在同⼀段完成。栈按照后进先出的⽅式进⾏处理。
堆是栈的⼀个组成元素
19、forward 和redirect的区别
forward是服务器请求资源,服务器直接访问⽬标地址的URL,把那个URL的响应内容读取过来,然后
把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪⼉来的,所以它的地址栏中还是原来的地址。 redirect就是服务端根据逻辑,发送⼀个状态码,告诉浏览器重新去请求那个地址,⼀般来说浏览器会⽤刚才请求的所有参数重新请求,所以session,request参数都可以获取。
20、EJB与JAVA BEAN的区别?
Java Bean 是可复⽤的组件,对Java Bean并没有严格的规范,理论上讲,任何⼀个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这样的容器中,EJB客户从不直接访问真正的EJB组件,⽽是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。
21、Static Nested Class 和 Inner Class的不同。
Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。⽽通常的内部类需要在外部类实例化后才能实例化。
22、JSP中动态INCLUDE与静态INCLUDE的区别?
动态INCLUDE⽤jsp:include动作实现 <jsp:include page="included.jsp"flush=“true” />它总是会检查所含⽂件中的变化,适合⽤于包含动态页⾯,并且可以带参数。静态INCLUDE⽤include伪码实现,定不会检查所含⽂件的变化,适⽤于包含静态页⾯<%@ include
sqlserver数据库2014
file=“included.htm” %>
23、什么时候⽤assert。
assertion(断⾔)在软件开发中是⼀种常⽤的调试⽅式,很多开发语⾔中都⽀持这种机制。在实现中,
assertion就是在程序中的⼀条语句,它对⼀个boolean表达式进⾏检查,⼀个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。⼀般来说,assertion⽤于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提⾼性能,在软件发布后,assertion检查通常是关闭的。
24、GC是什么? 为什么要有GC?
GC是垃圾收集的意思(Gabage Collection),内存处理是编程⼈员容易出现问题的地⽅,忘记或者
GC是垃圾收集的意思(Gabage Collection),内存处理是编程⼈员容易出现问题的地⽅,忘记或者
错误的内存回收会导致程序或系统的不稳定甚⾄崩溃,Java提供的GC功能可以⾃动监测对象是否超过作⽤域从⽽达到⾃动回收内存的⽬的,Java语⾔没有提供释放已分配内存的显⽰操作⽅法。
25、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型) short s1 = 1; s1 += 1;(可以正确编译)
26、und(11.5)等於多少?
参数最接近的长整数,参数加1/2后求其floor.
27、String s = new String("xyz");创建了⼏个String Object?
两个
28、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。以下程序使⽤内部类实现线程,对j增减的时候没有考虑顺序问题。
public class ThreadTest1 {
private int j;
public static void main(String args[]) {
ThreadTest1 tt = new ThreadTest1();
Inc inc = tt.new Inc();
免费html编辑器Dec dec = tt.new Dec();
for (int i = 0; i < 2; i++) {
Thread t = new Thread(inc);
t.start();
t = new Thread(dec);
t.start();
}
}
private synchronized void inc() {
j++;
System.out.println(Thread.currentThread().getName() + "-inc:" + j);
}
private synchronized void dec() {
j--;
System.out.println(Thread.currentThread().getName() + "-dec:" + j);
}
class Inc implements Runnable {
public void run() {
for (int i = 0; i < 100; i++) {
inc();
}
}
}
class Dec implements Runnable {
public void run() {
for (int i = 0; i < 100; i++) {
dec();
}
}
}
}
29、Java有没有goto?
java中的保留字,现在没有在java中使⽤。
30、启动⼀个线程是⽤run()还是start()?
启动⼀个线程是调⽤start()⽅法,使线程所代表的虚拟处理机处于可运⾏状态,这意味着它可以由JVM调度并执⾏。这并不意味着线程就会⽴即运⾏。run()⽅法可以产⽣必须退出的标志来停⽌⼀个线程。
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),Su
n Microsystems的TransactionService(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, ufferOverflowException,BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException,ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException,IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException,
issingResourceException,NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException,RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, nmodifiableSetException,UnsupportedOperationException
34、接⼝是否可继承接⼝? 抽象类是否可实现(implements)接⼝? 抽象类是否可继承实体类(concrete class)?
java常见笔试题
接⼝可以继承接⼝。抽象类可以实现(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类?
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() {
}
private static Singleton instance = new Singleton();
public static Singleton getInstance() {
return instance;
 }
}
第⼆种形式:
pycharm激活码失效了怎么弄public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() { if
(instance==null) instance=new Singleton(); return instance;   }
}
Public String  translate (String str) {
String tempStr = "";
try {
tempStr = new Bytes("ISO-8859-1"), "GBK");
tempStr = im();
}
catch (Exception e) {
return tempStr;
}
}
public void init(ServletConfig config);
public ServletConfig getServletConfig();
public String getServletInfo();
public void service(ServletRequest request,ServletResponse response);
ppt里的对齐线英文public void destroy()
jdk18中文乱码92、常⽤的设计模式?说明⼯⼚模式。 Java中的23种设计模式:Factory(⼯⼚模式),Builder(建造模式), FactoryMethod(⼯⼚⽅法模式),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 和right,使得left中的元素都⼩于等于⽀点,⽽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命名⽬录服务。主要提供的功能是:提供⼀个⽬录系

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。