Java面试全攻略:基础到高级

4星 · 超过85%的资源 需积分: 3 1 下载量 192 浏览量 更新于2024-07-26 收藏 240KB DOC 举报
"这是一份全面的Java面试题集,涵盖了Java基础知识,JSP与Servlet技术,J2EE相关知识以及其他重要的话题,旨在帮助求职者准备Java相关的面试。" 一、Java基础知识 1. Java拥有八种基本数据类型:byte、short、int、long、float、double、char和boolean。String不是基本数据类型,而是对象,它基于char数组构建,提供了丰富的字符串操作方法。基本数据类型直接存储值,而String对象存储字符序列的引用。 2. 字符串反转可以通过StringBuilder或StringBuffer类的reverse()方法实现,字符串替换可以使用replace()方法。 3. 数值型字符转换为数字,可以使用Integer.parseInt()或Double.parseDouble()。数字转字符用Character.getNumericValue()。四舍五入可通过DecimalFormat或BigDecimal的round方法实现。 4. 日期和时间处理,Java中可使用Calendar、Date、SimpleDateFormat等类获取年月日、毫秒数,计算某日期是否为当月最后一天,以及日期格式化。 5. 阐述数组与集合(如ArrayList、LinkedList、HashSet、HashMap等)的概念及它们之间的差异。 6. 文件和目录操作,File类提供列举文件、子目录的方法,exists()判断存在,FileReader/Writer进行读写操作。 7. 多态体现在继承、重载(方法名相同但参数列表不同)和覆盖(子类重写父类方法)。 8. 编码转换,使用getBytes()和new String()结合指定编码完成转换,如GB2312到ISO-8859-1。 二、JSP&Servlet技术 1. JSP是视图层,Servlet是控制层。JSP侧重于展示,Servlet处理业务逻辑。两者都用于Web开发,JSP更适合动态内容生成,Servlet用于处理HTTP请求。 2. HTML标记需转义,例如使用`<`、`>`、`&`和`"`代替原始字符。 3. 使用request对象获取请求参数,通过session.getAttribute()访问CGI变量,realPath()获取JSP文件实际路径。 4. Cookie保存客户端信息,Session存储服务器端会话数据。Cookie不安全且大小有限,Session适用于存储大量数据但可能导致内存泄漏。 5. JSP中包含外部文件可使用<jsp:include>和<%@ include %>,前者运行时合并,后者编译时合并。 6. errorPage指定错误处理页面,应用于全局或特定页面的错误捕获。 7. JSP中通过<jsp:useBean>引入JavaBeans,设置属性和调用方法。 8. JSP标记库(JSTL)简化JSP编程,如fmt标签库处理日期格式化,fn标签库提供通用函数。 三、J2EE相关知识 1. J2EE(Java 2 Platform, Enterprise Edition)是Java企业版,包含J2SE(标准版)和J2ME(微型版)。J2EE提供分布式、多层企业应用框架,包括EJB、JMS、JTA等技术。 2. J2EE是平台,包含一系列规范和技术,用于构建服务器端应用。 3. ApplicationServer如Tomcat、WebLogic、WebSphere等,提供运行环境,支持EJB、JMS等,具备负载均衡、事务管理等特性。 4. 连接池提高数据库访问效率,减少数据库连接创建和销毁的开销,通过预分配和复用连接实现。 5. web.xml是Web应用的部署描述符,定义Servlet、过滤器、监听器等配置。 四、其他 1. Web安全性涉及表单验证、HTTPS(SSL/TLS)确保通信安全、限制非法访问,以及代码级别的安全检查。 2. MVC模式将应用分为模型、视图和控制器三个部分,分离数据、用户界面和业务逻辑。 3. MVC架构在Web应用中广泛使用,如Spring MVC,提高代码组织性和可维护性。