Java面试精华:70个经典问题及答案解析

版权申诉
0 下载量 130 浏览量 更新于2024-08-08 收藏 515KB DOCX 举报
本文档是一份详尽的Java面试题集,涵盖了Java编程语言的多个关键知识点,旨在帮助求职者准备面试。以下是从题目中提炼出的部分重点内容: 1. **跨平台脚本调用** - Java中,使用`Runtime.getRuntime().exec()`方法可以执行Linux或Windows系统上的脚本,如`System.getRuntime().exec("bash <aaa.sh>")`。 2. **字符串引号表示** - 在Java中,使用两个单引号`''`或两个双引号`""`来表示字符串。 3. **JSP多线程处理** - JSP默认以独立线程运行,创建新线程时,需实例化Thread对象并指定Runnable接口的实现或继承Thread类,如`Thread t = new Thread(new YourRunnable()); t.start();`。 4. **获取客户端IP** - 在JSP中,可以使用`request.getRemoteAddr()`获取客户端的IP地址,但具体实现可能因Web服务器不同而略有差异。 5. **程序和输出控制** - Java中,`return`语句用于终止整个方法或循环,而`out.close()`关闭输出流,类似于ASP中的`response.end()`。 6. **获取上一页URL** - JSP中,可以使用`request.getHeader("referer")`获取前一个页面的URL。 7. **网页过期设置** - 要设置页面过期,可以在HTTP响应头中设置`Expires`字段,如`response.setHeader("Expires", "0");`。 8. **识别当前页面** - JSP中,`request.getRequestURI()`返回当前请求的文件名,`request.getRequestURL()`返回完整的URL。 9. **表单验证与重定向** - 提交表单后验证失败,可以通过JavaScript的`window.location.go(-1)`回退到上一页,但密码等敏感信息可能无法保留。 10. **HTTP头部信息获取** - 使用`request.getHeader(headerName)`方法可以获取HTTP请求头的指定信息。 11. **逻辑运算符比较** - `&&`是逻辑与,短路执行,即遇到第一个假值就停止计算;`&`是位与运算符,对每个对应位进行比较。 12. **图形绘制** - Java中,使用`Graphics`类的`drawString()`方法结合数学函数绘制正弦曲线,如`g.drawString("*", i, (int) (Math.sin(i) * 20) + 50);`。 13. **浮点数精度问题** - Java中的浮点数乘法由于二进制表示限制,可能会出现精度损失,如`100.0 * 0.6`的结果不精确到小数点后三位。 这些面试题涉及了Java基础、JSP编程、网络通信、异常处理、图形绘制等多个方面,有助于测试求职者的Java技能深度和理解能力。