Java面试必备:基础篇

5星 · 超过95%的资源 需积分: 26 46 下载量 158 浏览量 更新于2024-09-22 1 收藏 253KB DOC 举报
"这是一份全面的Java基础面试题集,涵盖了从Java基础知识到JSP&Servlet技术,再到J2EE相关知识等多个方面,旨在帮助求职者准备面试。" Java基础知识部分涉及以下知识点: 1. **基本数据类型**:Java有8种基本数据类型,包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。String不是基本数据类型,而是对象,属于引用类型。基本数据类型直接存储值,而String对象存储的是字符序列的引用。 2. **字符串操作**:反转字符串可以使用StringBuilder或StringBuffer类的reverse()方法;字符串替换可利用replace()或replaceAll()方法。 3. **数据类型转换**:可以使用parseInt(), parseDouble()等方法将字符转换为数值;反之,Number类的toString()方法可将数字转换为字符串。取小数点前两位并四舍五入,可以使用DecimalFormat类或Math.round()方法。 4. **日期和时间**:使用java.util.Date和Calendar类获取日期和时间;通过System.currentTimeMillis()获取从1970年以来的毫秒数;使用SimpleDateFormat进行日期格式化。 5. **数组与集合**:数组是固定大小的,而集合如ArrayList、LinkedList、HashSet等可以动态扩展。数组可以直接访问元素,集合需要通过迭代器。 6. **文件和目录操作**:使用File类的listFiles()列出目录下所有文件,listDirs()列出子目录;exists()判断是否存在;FileReader/Writer读写文件。 7. **Java多态**:多态是通过继承、重载(方法名相同,参数不同)和覆盖(子类重写父类方法)实现的。 8. **编码转换**:使用getBytes()和new String()方法进行编码转换,例如ISO-8859-1转GB2312。 9. **数据库访问**:Java使用JDBC访问数据库,Statement用于执行静态SQL,PreparedStatement支持预编译,更安全,防止SQL注入。 JSP&Servlet技术部分涵盖: 1. **JSP与Servlet**:JSP侧重视图层,方便编写动态网页;Servlet处理业务逻辑,两者可结合使用。JSP可以内嵌Java代码,Servlet则需独立编写。 2. **HTML处理**:在JSP中,需要对特殊字符如<>&"进行转义,以避免解析错误。 3. **请求处理**:通过request对象读取客户端请求,使用getAttribute()访问CGI变量,getPathInfo()获取JSP文件路径。 4. **Cookie与Session**:Cookie保存客户端状态,Session存储服务器端状态,Session更安全,但消耗更多服务器资源。 5. **JSP包含**:jsp:include和<%@ include %>,前者运行时包含,后者编译时包含。 6. **errorPage**:定义错误页面,处理JSP运行时错误。 7. **JavaBeans**:在JSP中通过jsp:useBean标签引入JavaBeans,提供封装和重用。 8. **JSP标记库**:如JSTL,提供标签来简化JSP开发。 J2EE相关知识: 1. **J2EE架构**:J2EE是企业级应用平台,包括J2SE(标准版)、J2EE(企业版)和J2ME(微型版)。 2. **ApplicationServer**:如Tomcat、JBoss,提供部署、管理、调度服务,支持EJB等组件。 3. **连接池**:提高数据库访问效率,减少资源浪费,原理是预先创建并管理数据库连接。 4. **Web.xml**:是Servlet容器的配置文件,用于配置应用的初始化参数、过滤器、监听器等。 其他知识点: 1. **Web安全性**:表单验证防止无效数据,Basic验证是HTTP认证方式,SSL提供加密通信,代码安全涉及输入验证和异常处理。 2. **MVC模式**:Model-View-Controller,分离业务逻辑、数据模型和用户界面。 3. **其他技术**:可能包括Spring框架、Hibernate ORM、分布式系统等。 这些面试题旨在检验候选人在Java编程、Web开发以及企业级应用设计方面的理解和技能。准备这些知识点有助于加深对Java生态系统的理解,并在面试中脱颖而出。