115个Java面试题和答案终极列表下

上传人:鲁** 文档编号:495186151 上传时间:2023-08-15 格式:DOC 页数:22 大小:52KB
返回 下载 相关 举报
115个Java面试题和答案终极列表下_第1页
第1页 / 共22页
115个Java面试题和答案终极列表下_第2页
第2页 / 共22页
115个Java面试题和答案终极列表下_第3页
第3页 / 共22页
115个Java面试题和答案终极列表下_第4页
第4页 / 共22页
115个Java面试题和答案终极列表下_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《115个Java面试题和答案终极列表下》由会员分享,可在线阅读,更多相关《115个Java面试题和答案终极列表下(22页珍藏版)》请在金锄头文库上搜索。

1、115 个面试题和答案终极列表(下)本文由 - 1919 翻译自 。欢迎加入小组。转载请参见文章 末尾的要求。第一篇讨论了面向对象编程和它的特点,关于和它的功能 的常见问题,的集合类,垃圾收集器,本章主要讨论异常处 理,小应用程序,远程方法调用 (),和。异常处理小应用程序 ()远程方法调用()异常处理43 中的两种异常类型是什么?他们有什么区别?中有两种异常:受检查的 ()异常和不受检查的 ()异常。不受检查的异常不需要在方法或者是构造函数上声明,就算方法或 者是构造函数的执行可能会抛出这样的异常,并且不受检查的异常可以传播到方法或者是构造函数的外面。相反,受检查的异常必须要用语句在方法或者

2、是构造函数上声明。这里有异常 处理的一些小建议。44 中和有什么区别?和都是的子类。用于用户程序可以捕获的异常情况。定义 了不期望被用户程序捕获的异常。45 和有什么区别?关键字用来在程序中明确的抛出异常,相反,语句用来表明方法不能处理的异常。每一个方法都必须要指定哪些异常不 能处理,所以方法的调用者才能够确保处理可能发生的异常, 多个异常是用逗号分隔的。45. 异常处理的时候,代码块的重要性是什么? (译者注: 作者标题的序号弄错了 )无论是否抛出异常,代码块总是会被执行。就算是没有语句同时又抛出异常的情况下,代码块仍然会被执行。最后要说 的是,代码块主要用来释放资源,比如:缓冲区,数据库连

3、 接。46. 异常处理完成以后,对象会发生什么变化?对象会在下一个垃圾回收过程中被回收掉。47 代码块和 ()方法有什么区别?无论是否抛出异常,代码块都会执行,它主要是用来释放 应用占用的资源。 ()方法是类的一个方法,它是在对象被垃圾回 收之前由虚拟机来调用的。小应用程序 ()48. 什么是?是能够被包含在页面中并且能被启用了的客户端浏览器执 行的程序。主要用来创建动态交互的应用程序。49. 解释一下的生命周期可以经历下面的状态:每次被载入的时候都会被初始化。:开始执行。:结束执行。:卸载之前,做最后的清理工作。50. 当被载入的时候会发生什么? 首先,创建控制类的实例,然后初始化,最后开始

4、运行51 和普通的应用程序有什么区别? 是运行在启用了的浏览器中,应用程序是可以在浏览器之 外运行的独立的程序。但是,它们都需要有虚拟机。进一步来说,应用程序需要一个有特定方法签名的函数来开始执行。 不需要这样的函数来开始执行。最后, 一般会使用很严格的安全策略,应用一般使用比较 宽松的安全策略。52 有哪些限制条件? 主要是由于安全的原因,给施加了以下的限制: 不能够载入类库或者定义本地方法。 不能在宿主机上读写文件。不能读取特定的系统属性。 不能发起网络连接,除非是跟宿主机。 不能够开启宿主机上其他任何的程序。53. 什么是不受信任的? 不受信任的是不能访问或是执行本地系统文件的 ,默认情

5、况下,所有下载的都是不受信任的54. 从网络上加载的和从本地文件系统加载的有什么区别?当是从网络上加载的时候,是由类加载器载入的,它受安 全管理器的限制。当是从客户端的本地磁盘载入的时候,是由文件系统加载 器载入的。从文件系统载入的允许在客户端读文件,写文件,加载类 库,并且也允许执行其他程序,但是,却通不过字节码校验。55 类加载器是什么?它会做哪些工作?当是从网络上加载的时候,它是由类加载器载入的。类加 载器有自己的名称空间等级结构。类加载器会保证来自文件系 统的类有唯一的名称空间,来自网络资源的类有唯一的名称空 间。当浏览器通过网络载入的时候,的类被放置于和的源相关 联的私有的名称空间中

6、。然后,那些被类加载器载入进来的类 都是通过了验证器验证的。验证器会检查类文件格式是否遵守 语言规范,确保不会出现堆栈溢出 ( )或者下溢 (),传递给字节码 指令的参数是正确的。56 安全管理器是什么?它会做哪些工作?安全管理器是给施加限制条件的一种机制。浏览器可以只 有一个安全管理器。安全管理器在启动的时候被创建,之后不 能被替换覆盖或者是扩展。57. 弹出式选择菜单 ()和列表 ()有什么区别是以一种紧凑的形式展示的,需要下拉才能看到所有的选 项。中一次只能选中一个选项。同时可以有多个元素可见,支 持选中一个或者多个元素。58. 什么是布局管理器?布局管理器用来在容器中组织组件。59.

7、滚动条()和滚动面板 ()有什么区别?是一个组件,不是容器。而是容器。自己处理滚动事件。60. 哪些的方法是线程安全的?只有 3 个线程安全的方法: (), (), () 。61. 说出三种支持重绘 ()的组件。, , , 和支持重绘。62. 什么是裁剪 ()?限制在一个给定的区域或者形状的绘图操作就做裁剪。63 和的区别是什么? 类继承自类,支持菜单选项可以选中或者不选中。64. 边缘布局 ()里面的元素是如何布局的? 里面的元素是按照容器的东西南北中进行布局的。65. 网格包布局 ()里面的元素是如何布局的? 里面的元素是按照网格进行布局的。不同大小的元素可能会占据网格的多于 1 行或一列

8、。因此,行数和列数可以有不同的大小。66 和有什么区别? 类继承了类,它定义了一个可以有菜单栏的主应用窗口。67.裁剪()和重绘 ()有什么联系?当窗口被重绘线程进行重绘的时候,它会把裁剪区域设置成需要重绘的窗口的区域。68. 事件监听器接口 ( )和事件适配器 ()有什么关系?事件监听器接口定义了对特定的事件,事件处理器必须要实现的方法。事件适配器给事件监听器接口提供了默认的实 现。69 组件如何来处理它自己的事件?组件可以处理它自己的事件,只要它实现相对应的事件监 听器接口,并且把自己作为事件监听器。70 的布局管理器比传统的窗口系统有哪些优势?使用布局管理器以一种一致的方式在所有的窗口平

9、台上摆 放组件。因为布局管理器不会和组件的绝对大小和位置相绑 定,所以他们能够适应跨窗口系统的特定平台的不同。71 的组件使用了哪种设计模式?中的组件使用了 (视图-模型-控制器 )设计模式。72. 什么是?是允许用户在不同数据库之间做选择的一个抽象层。允许 开发者用写数据库应用程序,而不需要关心底层特定数据库的 细节。73. 解释下驱动 ()在中的角色。驱动提供了特定厂商对 接口类的实现,驱动必须要提供包下面这些类的实现:,和。74()方法有什么作用?这个方法用来载入跟数据库建立连接的驱动。75比有什么优势?是预编译的,因此,性能会更好。同时,不同的查询参数 值,可以重用。76 什么时候使用

10、?用来准备的方法是什么?用来执行存储过程。存储过程是由数据库存储和提供的。 存储过程可以接受输入参数,也可以有返回结果。非常鼓励使 用存储过程,因为它提供了安全性和模块化。准备一个的方法 是:1 ();77.数据库连接池是什么意思?像打开关闭数据库连接这种和数据库的交互可能是很费时 的,尤其是当客户端数量增加的时候,会消耗大量的资源,成 本是非常高的。可以在应用服务器启动的时候建立很多个数据 库连接并维护在一个池中。连接请求由池中的连接提供。在连 接使用完毕以后,把连接归还到池中,以用于满足将来更多的 请求。远程方法调用 ()78. 什么是?远程方法调用 ( )是 对远程过程调用 ()提供的面

11、向对象的等 价形式,支持直接传输序列化的对象和分布式垃圾回收。远程 方法调用可以看做是激活远程正在运行的对象上的方法的步 骤。对调用者是位置透明的,因为调用者感觉方法是执行在本 地运行的对象上的。看下的一些注意事项。79 体系结构的基本原则是什么?体系结构是基于一个非常重要的行为定义和行为实现相分 离的原则。允许定义行为的代码和实现行为的代码相分离,并 且运行在不同的上。80 体系结构分哪几层?体系结构分以下几层:存根和骨架层 ( ) :这一层对程序员是透明的,它主要负责 拦截客户端发出的方法调用请求,然后把请求重定向给远程的 服务。远程引用层 ( ) :体系结构的第二层用来解析客户端对服务端

12、远程对象的引用。这一层解析并管理客户端对服务端远程对 象的引用。连接是点到点的。传输层( ):这一层负责连接参与服务的两个。这一层是建 立在网络上机器间的连接之上的。它提供了基本的连接服务, 还有一些防火墙穿透策略。81 中的远程接口 ( )扮演了什么样的角色?远程接口用来标识哪些方法是可以被非本地虚拟机调用的 接口。远程对象必须要直接或者是间接实现远程接口。实现了 远程接口的类应该声明被实现的远程接口,给每一个远程对象 定义构造函数,给所有远程接口的方法提供实现。82 类扮演了什么样的角色?类用来存储和获取在远程对象注册表里面的远程对象的引用。类的每一个方法接收一个格式的对象作为它的参数。8

13、3 的绑定 ()是什么意思?绑定是为了查询找远程对象而给远程对象关联或者是注册 以后会用到的名称的过程。远程对象可以使用类的 ()或者 ()方法 跟名称相关联。84 类的 ()和()方法有什么区别?()方法负责把指定名称绑定给远程对象, ()方法负责把指定 名称重新绑定到一个新的远程对象。如果那个名称已经绑定过 了,先前的绑定会被替换掉。85. 让程序能正确运行有哪些步骤?为了让程序能正确运行必须要包含以下几个步骤:编译所有的源文件。使用生成。启动。启动服务器。运行客户端程序。86 的扮演了什么样的角色?远程对象的扮演了远程对象的代表或者代理的角色。调用 者在本地上调用方法,它负责在远程对象上

14、执行方法。当的方 法被调用的时候,会经历以下几个步骤:初始化到包含了远程对象的的连接。序列化参数到远程的等待方法调用和执行的结果。反序列化返回的值或者是方法没有执行成功情况下的异 常。把值返回给调用者。87. 什么是分布式垃圾回收 ()?它是如何工作的?叫做分布式垃圾回收。使用来做自动垃圾回收。因为包含 了跨虚拟机的远程对象的引用,垃圾回收是很困难的。使用引 用计数算法来给远程对象提供自动内存管理。88 中使用安全管理器 ()的目的是什么?使用下载好的代码提供可被应用程序使用的安全管理器。 如果没有设置安全管理器,的类加载器就不会从远程下载任何 的类。89. 解释下和。当应用程序希望把内存对象

15、跨网络传递到另一台主机或者 是持久化到存储的时候,就必须要把对象在内存里面的表示转 化成合适的格式。这个过程就叫做,反之就是。90. 解释下和。提供了一种叫做对象序列化的机制,他把对象表示成一连 串的字节,里面包含了对象的数据,对象的类型信息,对象内 部的数据的类型信息等等。因此,序列化可以看成是为了把对 象存储在磁盘上或者是从磁盘上读出来并重建对象而把对象扁 平化的一种方式。反序列化是把对象从扁平状态转化成活动对 象的相反的步骤。91. 什么是?是用来处理客户端请求并产生动态网页内容的类。主要是 用来处理或者是存储表单提交的数据,产生动态内容,在无状 态的协议下管理状态信息。92. 说一下的体系结构。所有的都必须要实现的核心的接口是。每一个都必须要直 接或者是间接实现这个接口,或者是继承或者。最后,使用多 线程可以并行的为多个请求服务。93 和有什么区别?是运行在客户端主机的浏览器上的客户端程序。而是运行 在服务器上的服务端的组件。可以使用用户界面类,而没有用 户界面,相反,是等待客户端的请求,然后为请求产生响应。94 和有什么区别?是一个通用的协议无关的,它实现了和接口。继承自的应 该要覆

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

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号