Java面试必备:基础、JSP&Servlet、J2EE与安全

需积分: 26 1 下载量 80 浏览量 更新于2024-07-23 收藏 253KB DOC 举报
"这是一份全面的Java面试题集,涵盖了从基础到高级的Java知识,包括JSP和Servlet技术以及J2EE相关概念,旨在帮助求职者准备知名外企的面试。" 一、Java基础知识 Java有八种基本数据类型:整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。String不是基本数据类型,而是对象,基于字符数组实现。两者的主要区别在于基本类型是值类型,而String是引用类型。 字符串操作方面,可以使用StringBuilder或StringBuffer类的reverse()方法实现反转,用replace()方法实现替换。 数据类型转换中,Integer.parseInt()和Double.parseDouble()用于将字符串转换为整数和双精度浮点数;Integer.toString()和Double.toString()则用于数字到字符串的转换。四舍五入可以通过Math.round()方法实现。 日期和时间处理可使用java.util.Calendar类和java.time包中的类。例如,获取年月日、时间戳、当月最后一天和日期格式化等。 数组和集合是Java中重要的数据结构。数组是固定大小的,而集合如ArrayList和LinkedList具有动态扩展能力。集合操作更灵活,支持迭代器、泛型等特性。 文件和目录操作涉及java.io包,如File类用于文件和目录的创建、删除、列举等。FileReader/Writer用于文件读写,BufferedReader/BuferedWriter提供缓冲功能。 多态通过继承、重载(方法名相同,参数列表不同)和覆盖(子类重写父类方法)实现。编码转换,如GB2312到ISO-8859-1,可以使用Charset类进行转换。 访问数据库通常使用JDBC,Statement用于执行静态SQL,PreparedStatement用于预编译SQL,提高性能并防止SQL注入。 二、JSP&Servlet技术 JSP是视图层,Servlet是控制层。JSP更适合展现数据,Servlet处理业务逻辑。在HTML标记处理时,需要转义特殊字符。JSP中,通过request对象读取请求,通过getRealPath()获取文件路径。Cookie和Session用于用户会话管理,Cookie存储在客户端,Session在服务器端,后者更安全但消耗资源。JSP的include指令和动作标签用于包含文件,前者在编译时处理,后者在运行时处理。 三、J2EE相关知识 J2EE(现称为Java EE)是企业级应用平台,包括J2SE(标准版)和J2ME(微型版)。ApplicationServer提供服务如EJB容器、事务管理等。连接池优化数据库连接的分配与回收,提高效率。web.xml是部署描述符,定义应用配置。 四、其他 Web安全性涉及表单验证、HTTP基本认证、SSL加密通信以及代码安全设计。MVC模式是模型-视图-控制器架构,分离业务逻辑、数据和用户界面。面试题集还可能涵盖Spring、Hibernate等框架,以及设计模式和分布式系统等内容。