Java面试必备:精华面试题与解析

需积分: 9 2 下载量 33 浏览量 更新于2024-07-31 收藏 591KB DOC 举报
"这是一份综合性的Java面试题集锦,包含了面试中常见的问题和答案,旨在帮助求职者准备Java相关的技术面试。" 面试题集锦涵盖了多个Java及相关技术的知识点,以下是其中部分要点的详细解释: 1. Hibernate离线查询去除重复项:在Hibernate中,如果希望在Criteria查询中去除结果中的重复项,可以使用`dc.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);`这一行代码。这将使得返回的结果集中,每个根实体只出现一次,从而达到去重的效果。 2. HTTP与SMTP协议及端口:HTTP(超文本传输协议)使用的默认端口是80,它用于浏览器和服务器之间的数据传输。SMTP(简单邮件传输协议)的默认端口是25,主要用于发送电子邮件。 3. 文件复制程序:文件复制是Java编程中常见的操作,可以通过`java.io`包中的`FileInputStream`和`FileOutputStream`类实现。程序的基本流程包括打开源文件、创建目标文件、读取源文件内容并写入目标文件,最后关闭流。 4. Servlet创建过程及生命周期:Servlet在Web容器中运行,其生命周期包括初始化、服务和销毁三个阶段。初始化是通过调用`init()`方法完成;服务阶段,容器根据请求调用`service()`方法,该方法会转发到适当的`doGet()`或`doPost()`方法;销毁阶段,Web容器调用`destroy()`方法释放资源。Servlet的实例创建有两种方式,一种是在首次请求时创建,另一种是通过`<load-on-startup>`标签配置在Web应用启动时创建。 5. SQL语句分页:在MySQL中,可以使用子查询配合`NOT IN`和`ORDER BY`实现分页,例如:`SELECT * FROM table1 WHERE id NOT IN (SELECT TOP 页大小*(页数-1) id FROM table1 ORDER BY id) ORDER BY id`。而在Oracle中,由于不支持`TOP`关键字,可以使用`ROWNUM`结合子查询实现,如“截取ID”方法和三层嵌套方法。 6. List、Map和Set的存储特点: - List:列表以特定的顺序持有元素,允许元素重复。例如ArrayList和LinkedList。 - Set:集合不允许元素重复,内部自动排序。例如HashSet和TreeSet。 - Map:键值对存储,key唯一,value可以重复。例如HashMap和TreeMap。 以上内容是Java面试题集锦中涉及到的部分知识点,这些知识对于理解和实践Java开发以及面试准备都至关重要。