Java经典面试题分享附答案详解.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java经典面试题分享(附答案详解) Java经典面试题分享(附答案详解) PAGE / NUMPAGES Java经典面试题分享(附答案详解) 1 、Servlet 3 中的异步处理指的是什么 ? 答:在 Servlet 3 中引入了一项新的技术可以让 Servlet 异步处理请求。有人可 能会质疑,既然都有多线程了,还需要异步处理请求吗 ?答案是肯定的,因为如 果一个任务处理时间相当长,那么 Servlet 或 Filter 会一直占用着请求处理线程 直到任务结束,随着并发用户的增加,容器将会遭遇线程超出的风险,这这种情 况下很多的请求将会被堆积起来而后续的请求可能会遭遇拒绝服务, 直到有资源 可以处理请求为止。 异步特性可以帮助应用节省容器中的线程, 特别适合执行时 间长而且用户需要得到结果的任务,如果用户不需要得到结果则直接将一个 Runnable 对象交给 Executor 并立即返回即可。 补充:多线程在 Java 诞生初期无疑是一个亮点,而 Servlet 单实例多线程的工 作方式也曾为其赢得美名, 然而技术的发展往往会颠覆我们很多的认知, 就如同 当年爱因斯坦的相对论颠覆了牛顿的经典力学一般。事实上,异步处理绝不是 Serlvet 3 首创,如果你了解 Node.js 的话,对 Servlet 3 的这个重要改进就不以 为奇了。 下面是一个支持异步处理请求的 Servlet 的例子。 importjava.io.IOException; importjavax.servlet.AsyncContext; importjavax.servlet.ServletException; importjavax.servlet.annotation.WebServlet; importjavax.servlet.http.HttpServlet; importjavax.servlet.http.HttpServletRequest; 1 / 5 importjavax.servlet.http.HttpServletResponse; @WebServlet(urlPatterns { /async}, asyncSupported = true) publicclassAsyncServletextendsHttpServlet{privatestaticfinallongserialVe rsionUID = 1L; @OverridepublicvoiddoGet(HttpServletRequest req, HttpServletResponse resp) throwsServletException, IOException { // 开启 Tomcat 异步 Servlet 支持 req.setAttribute( org.apache.catalina.ASYNC_SUPPORTED, true); finalAsyncContext ctx = req.startAsync(); // 启动异步处理的上下文 // ctx.setTimeout(30000);ctx.start( newRunnable() { @Overridepublicvoidrun() { // 在此处添加异步处理的代码 plete(); } }); } } 2 、如何在基于 Java 的 Web 项目中实现文件上传和下载 ? 答:在 Sevlet 3 以前, Servlet API 中没有支持上传功能的 API ,因此要实现上 传功能需要引入第三方工具从 POST 请求中获得上传的附件或者通过自行处理 输入流来获得上传的文件,我们推荐使用 Apache 的 commons-fileupload 。 从 Servlet 3 开始,文件上传变得无比简单, 相信看看下面的例子一切都清楚了。上传页面 index.jsp : Select your photo and upload ${hint} 2 / 5 Photo file: 支持上传的 Servlet : packagecom.jackfrued.servlet; importjava.io.IOException; importjavax.servlet.ServletException; importjavax.servlet.annotation.MultipartConfig; importjavax.servlet.annotation.WebServlet; importjavax.servlet.http.HttpServlet; importjavax.servlet.http.HttpServletRequest; importjav

文档评论(0)

135****6574 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档