"Java笔试题目.doc:数据库索引的优点、缺点和垃圾回收器原理"

需积分: 1 4 下载量 99 浏览量 更新于2024-01-26 1 收藏 374KB DOC 举报
索引的优点包括: 1. 唯一性保证:通过创建唯一性索引,可以确保数据库表中每一行数据的唯一性。 2. 加快数据检索速度:索引可以大大加快数据的检索速度,是创建索引的主要原因。 3. 提高表与表之间的连接速度:索引可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 4. 减少分组和排序时间:在使用分组和排序子句进行数据检索时,索引可以显著减少查询中分组和排序的时间。 5. 提高系统性能:通过使用优化隐藏器,在查询过程中使用索引可以提高系统的性能。 垃圾回收器的基本原理是通过有向图的方式记录和管理堆中的所有对象,确定哪些对象是"可达的",哪些对象是"不可达的"。当垃圾回收器确定一些对象为"不可达"时,就会回收这些内存空间。垃圾回收器可以在一定条件下马上回收内存,但Java语言规范并不保证垃圾回收器一定会执行。程序员可以通过手动执行System.gc()来通知垃圾回收器运行。 对于离线查询去除重复项,可以使用dc.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)来加条件。这个方法可以将查询结果转换为根实体的结果,并去除重复项。 HTTP协议的端口是80,SMTP协议的端口是25。 以下是一个完成文件复制功能的Java程序示例: ``` InputStream is = new FileInputStream(new File("源文件路径")); OutputStream os = new FileOutputStream(new File("目标文件路径")); byte[] buff = new byte[8192]; int length = 0; while ((length = is.read(buff)) != -1) { os.write(buff, 0, length); } is.close(); os.close(); ``` Servlet的创建过程及生命周期由容器进行控制。Servlet的创建有两种方法:一种是在客户端请求对应的Servlet时,创建Servlet实例;另一种是在容器启动时,根据配置信息预先创建Servlet实例。Servlet的生命周期包括初始化、服务处理和销毁三个阶段。在初始化阶段,Servlet初始化其内部状态和资源;在服务处理阶段,Servlet处理客户端的请求并返回响应;在销毁阶段,Servlet释放其内部状态和资源。 以上是对文档中内容的总结,包括索引的优点、垃圾回收器的原理与通知方式、离线查询去除重复项的条件设置方法、HTTP和SMTP协议的端口以及文件复制功能和Servlet的创建过程和生命周期。