`
阅读更多
01.运行时异常与一般异常有何异同?
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java 编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
error 和exception 有什么区别?
error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。
exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。
Java 中的异常处理机制的简单原理和应用。
当JAVA 程序违反了JAVA 的语义规则时,JAVA 虚拟机就会将发生的错误表示为一个异常。
违反语义规则包括2 种情况。一种是JAVA 类库内置的语义检查。例如数组下标越界,会引发
IndexOutOfBoundsException;访问null 的对象时会引发NullPointerException。另一种情
况就是JAVA 允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw 关键字引发异常。所有的异常都是 java.lang.Thowable 的子类。
02.说出Servlet 的生命周期,并说出Servlet 和CGI 的区别。
Servlet 被服务器实例化后,容器运行其init 方法,请求到达时运行其service 方法,
service 方法自动派遣运行与请求对应的doXXX 方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy 方法。与cgi 的区别在于servlet 处于服务器进程中,它通过多线程方式运行其service 方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI 对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。
03.说出ArrayList,Vector, LinkedList 的存储性能和特性
ArrayList 和Vector 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector 由于使用了synchronized 方法(线程安全),通常性能上较ArrayList 差,而LinkedList 使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
Collection 和 Collections 的区别。
Collection 是集合类的上级接口,继承与他的接口主要有Set 和List.Collections 是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。
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 算法都大概一样,所以性能不会有很大的差异。
04.EJB 是基于哪些技术实现的?并说出SessionBean 和EntityBean 的区别,StatefulBean
和StatelessBean 的区别。
EJB 包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT
等技术实现。
SessionBean 在J2EE 应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调。用其他EJB 组件。EntityBean 被用来代表应用系统中用到的数据。
对于客户机,SessionBean 是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。
对于客户机,EntityBean 是一种持久性对象,它代表一个存储在持久性存储器中的实体的
对象视图,或是一个由现有企业应用程序实现的实体。
Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,
这两种的 Session Bean 都可以将系统逻辑放在 method 之中执行,不同的是 Stateful
Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的
Stateful Session Bean 的实体。Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候,EJB
Container 并不会找寻特定的 Stateless Session Bean 的实体来执行这个 method。换言之,很可能数个使用者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean的 Instance 在执行。从内存方面来看, Stateful Session Bean 与 Stateless Session Bean比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful SessionBean 的优势却在于他可以维持使用者的状态。
05.final, finally, finalize 的区别。
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally 是异常处理语句结构的一部分,表示总是执行。
finalize 是Object 类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,
可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
06.sleep() 和 wait() 有什么区别?
sleep 是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他
线程,但是监控状态依然保持,到时后会自动恢复。调用sleep 不会释放对象锁。wait 是Object 类的方法,对此对象调用wait 方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify 方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。
07.Overload 和Override 的区别。
重写Overriding是父子之间的方法。Overloading一个类中同名方法。
08.同步和异步有何异同,在什么情况下分别使用他们?举例说明。
如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的
数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。
当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方
法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。
09. forward 和redirect 的区别
forward 是服务器请求资源,服务器直接访问目标地址的URL,把那个URL 的响应内容读取
过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,
所以它的地址栏中还是原来的地址。
redirect 就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般
来说浏览器会用刚才请求的所有参数重新请求,所以session,request 参数都可以获取。
10. 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 组件。
11. Static Nested Class 和 Inner Class 的不同。
Static Nested Class 是被声明为静态(static)的内部类,它可以不依赖于外部类实
例被实例化。而通常的内部类需要在外部类实例化后才能实例化。
12.GC 是什么? 为什么要有GC?
GC 是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,
忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java 提供的GC 功能可以自
动监测对象是否超过作用域从而达到自动回收内存的目的,Java 语言没有提供释放已分配内存的显示操作方法。
13. 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 接
口。
14.应用服务器有那些?
BEA WebLogic Server,IBM WebSphere Application Server,Oracle9i Application Server,
jBoss,Tomcat
15.给我一个你最常见到的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,
UnsupportedOperationException
16.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类
(concrete class)?
接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前
提是实体类必须有明确的构造函数。
17.说出数据连接池的工作机制是什么?
J2EE 服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端
程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空
闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池
连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。
18. try {}里有一个return 语句,那么紧跟在这个try 后的finally {}里的code 会不会被
执行,什么时候被执行,在return 前还是后?
会执行,在return 前执行。
19.编程题: 写一个Singleton 出来。
一个是饿汉式 一个是懒汉式
20.垃圾回收的优点和原理。并考虑2 种回收机制。
Java 语言中一个显着的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的
问题迎刃而解,它使得Java 程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制, Java 中的对象不再有"作用域"的概念,只有对象的引用才有"作用域"。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。
回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。
分享到:
评论

相关推荐

    C++-面试题01-无答案版

    ### C++面试题知识点解析 #### 1. 如何理解 C 面向过程和 C++ 面向对象的区别。 - **C语言**: C语言是一种面向过程的编程语言,其设计初衷是为了编写系统级软件(如操作系统)。C语言通过一系列函数的组合来完成...

    湖北省黄冈市高一英语上学期期末考试试题(扫描版)牛津译林版 试题.doc

    例如,选择题部分涉及了语法、词汇和上下文理解,如01-20题的答案展示;完形填空和短文填空部分则测试学生的词汇搭配、句型结构和语篇连贯性,如36-40题和41-50题的答案;此外,还有对时态、语态、固定搭配的考察,...

    CSP-J CSP-S 初赛模拟题_(C)-2021.09.01(G)--23页.pdf

    5. 2019CFS-S/J 第一轮测试(真题模拟)(初赛一、基础、20题) 该部分提供了2019年CFS-S/J第一轮测试的真题模拟,涵盖了基础知识和编程技术。 6. NOIP2020 初赛集训试题(三) 该部分提供了NOIP2020初赛集训试题的...

    01-蜗杆传动作业题pdf.docx

    【标题】:“01-蜗杆传动作业题pdf.docx” 【描述】:“01-蜗杆传动作业题pdf.docx”是一份关于蜗杆传动的学习资料,可能包含了若干题目,旨在帮助学习者理解和掌握蜗杆传动的原理、特性及应用。 【标签】:虽然未...

    Oracle 12c-ocm 题库 skillset2

    SYS@PROD1> alter system set db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'; System altered. ... db_recovery_file_dest_size big integer 4G db_recycle_cache_size big integer 0 RMAN> ...

    01-土建简答题题库.docx

    (2)梁与板连为一体的,施工缝在板底20-30mm处;(3)次梁跨度中间1/3范围内;(4)复杂部位按设计要求留设;(5)动力设备基础和有抗渗要求的地下室不宜留施工缝。 6. **大体积混凝土施工问题**:大体积混凝土施工中可能...

    《网络设备安装与维护》初级-练习题

    《网络设备安装与维护》初级-练习题知识点总结 一、网络设备安装与维护基础知识 1. EIA/TIA 568A 是一种标准,定义了双绞线接口的线序规则。 2. 在 OSI/RM 参考模型中,网络层负责选择合适的网间路由和交换节点,...

    《高级财务会计》形考作业任务01-05网考试题及答案.pdf

    高级财务会计形考作业任务01-05网考试题及答案.pdf 《高级财务会计》形考作业任务01-05网考试题及答案考试说明,《高级财务会计》形考共有5个任务,给出的5个任务的答案为标准答案。做考题时,利用本文档中的查找...

    MATH1013 2023-01-15 20_51_55.zip

    【标题】"MATH1013 2023-01-15 20_51_55.zip" 指的可能是一个包含与数学课程MATH1013相关的材料的压缩文件,时间戳表示该文件创建或更新于2023年1月15日的20时51分55秒。这个标题暗示了这可能是学生、教师或研究人员...

    国家开放大学电大专科《UI设计》网络课网考作业形考任务01-05试题及答案.pdf

    UI设计的20条原则中,清晰度、注意力管理和直接操纵性是至关重要的。清晰度意味着用户应能迅速理解界面的功能和用途。例如,Google地图的语音搜索功能,使用户无需手动输入,提高了安全性和便利性。注意力管理要求...

    2021年 CSP-J CSP-S 初赛 PDF(2021.09.20).rar

    2. "9、CSP-J CSP-S 初赛模拟题_(C)-2021.09.01(G)--23页.pdf":这份文件提供了初赛的模拟题目,用于参赛者进行赛前训练。模拟题通常会覆盖实际考试可能出现的各类编程题目,如基础语法,循环,条件语句,函数,数组...

    01-2021二建法规-经典100题二建法规冲刺20pdf.pdf

    《专利法》保护发明、实用新型和外观设计这三种发明创造,并且明确指出专利权的期限为20年。 保险合同方面,选项D正确指出保险合同中的危险具有损失发生的不确定性。财产保险合同部分,选项D指出保险合同可以转让,...

    catics一至八届3D-CAD竞赛试题

    3D01_01** - **题目解析**:本题考查了三维模型的基本构建技巧,尤其是如何正确应用约束条件,如对称、重合、等距和同心等来构造模型。在构建时,需要根据给出的参数A=110,B=30,C=72,D=60,E=1.5进行精确设置。 ...

    H3CNE-Cloud培训视频教程【共34集】.rar

    20 服务器虚拟化技术 21 CAS软件介绍 22 CAS软件部署 23 CAS虚拟化管理平台 24 云资源管理01 25 云资源管理02 26 云资源管理-习题 27 虚拟化管理01 28 虚拟化管理02 29 虚拟化管理-练习题 30 云服务01 31...

    《单片机》2017-2018题库1

    8. 当RS1、RS0=01时,工作寄存器R0~R7的直接地址范围是08H~1FH。 9. 寄存器DPTR在MCS-51单片机中是16位的,用于存放16位的地址,常用于间接寻址外部数据存储器。 10. 一个机器周期包括6个状态周期,即12个时钟...

    2011数据结构+算法面试100题+答案

    整理的前60题的答案:第1题-20题答案:http://blog.csdn.net/v_JULY_v/archive/2011/01/10/6126406.aspx, 第21-40题答案:http://blog.csdn.net/v_JULY_v/archive/2011/01/10/6126444.aspx,第41-60题答案: ...

    h3c-gb0-192.doc

    5. **FTP协议**:FTP(File Transfer Protocol)默认使用两个端口,其中21用于控制连接,即FTP控制协议端口,20用于数据连接。 6. **启动操作系统**:在命令行环境中,可以使用`boot-loader`命令指定下次启动时使用...

    高一数学-不等式-直线-线性规划-练习题.pdf

    在题目中,直线`l`的方程是`01yx`,即`y = x`,这是一条通过原点且斜率为1的直线。 2. **平面区域**:点集`{01|),(yxyx}`表示直线`y = x`右上方的平面区域。点集`{01|),(yxyx}`表示直线`y = x`左下方的区域,而`{)...

    01-02-第1讲中档客观题.docx

    - 正方体表面积 = 5×2² = 20 m² - 半圆柱表面积 = π×1×2 + π×1²/2 = π m² - 总表面积 = 20 + π m² - **答案**:B. 20 + π ##### 变式(2) - **题目描述**:由棱锥和棱柱组成的几何体的三视图如图...

Global site tag (gtag.js) - Google Analytics