1. 带答案的 java 面试题 欢迎参考 1.下面哪种基本类型是无符号的? 1. 2. 3. 4. 5. int long char double float
答案:c. char (所有的数字类型都是带符号的,char 是唯一的无符号的整形) 2. Java 同时支持多维数组和嵌套数组对吗? 答案:不对,Java 只支持嵌套数组,不支持多维数组 3. public main(int number) { }是一个合法的方法吗? 答案: 正确的 4. public static final main(String[] args) {}是一个合法的方法吗? 是的 5. 一个没有方法的类可以在 JVM 执行吗?如果它的祖先类有 main 方法? 是的 6. GC 是一个高优先级线程吗? 不对,GC 是一个低优先级线程 7. 循环引用可以避免一个对象被垃圾回收吗? 不会 8. 如果在 finalize 方法里面发生了 exception, 这个对象会被垃圾回收吗? finalize 方法里面的 Exception 不能避免垃圾回收 中的代码会不会执行? 2. 如下代码中 finally 中的代码会不会执行? try { if (choice) { while (true) } else { system .exit(1): } }finally { codetocleanup(); } 答案: 会的,会在 system.exit(1)之前执行 StringBuffer 有什么区别? 3. Java 里面 StringBuilder 和 StringBuffer 有什么区别? StringBuilder 类是 JDK 5.0 引入的新的类, 实质上, StringBuffer 是一个线程安全的 StringBuilder, 如果只在同一个线程内对字符串进行操作, StringBuilder 会更快一些, 如果是使用多线程进行操作, 需要使用 StringBuffer. StringBuilder 是非线程安全的,StringBuffer 是线程安全的。 应用服务器都支持哪些认证? 4. WebSphere 应用服务器都支持哪些认证?
WebSphere 应用服务器支持的认证方案包括基本认证、摘要认证、定制认证、证书认证。 基本认证:使用 HTTP 或 HTTPS 请求来自客户机的用户名和口令。 用普通文本将用于验证的信息发送 给服务器验证。所有浏览器都支持基本认证。如果一个用户标识符和口令提供了足够的认证,那么请考 虑使用基本认证。 摘要认证:使用 HTTP 或 HTTPS 请求来自客户机的用户名和口令。将用于验证的用户名和口令的加密 形式(使用摘要)发送给服务器。并非所有浏览器都支持摘要认证。(当前仅 Sun HotJava 浏览器支 持该认证方案)。如果浏览器不支持摘要认证,那么其用户将无法访问由该协议进行保护的资源。 定制认证:使用 HTTP 或 HTTPS 来请求使用 HTML 格式定制的客户机信息。由 CGI 和 Servlet 将这些 用于验证的信息用普通文本发送到服务器上。当需要除了标识符和口令之外的用户认证时,可使用定制 认证。例如,可以请求一个社会安全号的用户认证。使用该协议,可建立
HTML 格式以询问用户数据。 认证是由服务器端代码( CGI 和 Servlet )执行的,而不是由 IBM WebSphere 应用服务器运行时应 用程序
执行的。如果使用定制认证,请使用 HTTPS 保护数据。 证书认证:使用 HTTPS 以请求一个客户机证书。必须启用 SSL 客户机认证选项。将用于验证的信息发 送给服务器。认证使用的数字证书具有很高的安全性,且证书认证通常对用户是透明的。系统或站点管 理员会对客户机证书进行管理。通常这些任务是由证书权威服务器软件授权的,例如 IBM Vault Registry 产品。 (3) 组合认证
方案和协议 正如前述,除非是在一个与安全无关的环境中,否则 HTTPS 通常更为可取。对于不同的安全性要求可 以对方案和协议进行组合,策略如下: ? 对于基本安全性要求,使用基本、摘要或 HTTP 上的定制认证。 ? 对于较高安全性要求,使用基本、摘要或 HTTPS 上的定制认证。 ? 对于最高安全性要求,使用 HTTPS 上的证书认证。 提供了哪些企业应用编程接口? 5. Java 提供了哪些企业应用编程接口? 1) JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口。 2) EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。