最新JAVA面试题总结之JavaWeb.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1、tomcat的优化方式? 回答:Tomcat的优化我准备从三方面来说: 第一部分: 内存优化 Tomcat的默认内存配置比较低,不用说大项目,就算是小项目,并发量达到一定程度也就可能会抛出OutOfMemoryError异常, 为了解决这个问题,我们要修改JVM的一些配置,在tomcat的bin目录下的catalina配置文件中,配置Xms和Xmx,也就是 Java虚拟机初始化时堆的最小内存和最大内存,这俩值通常会配置成一样,这样GC不必再为扩展内存空间而消耗性能. 除了这两个,还可以配置XX:PermSize和XX:MaxPermSize,它们是Java虚拟机永久代大小和最大值,除了这几个参数 还可以再根据具体需要配置其他参数。 第二部分: 配置优化 配置优化,主要有三方面: 1. Connector 优化 Connector是连接器,它负责接收客户的请求,以及向客户端回送响应的消息。 默认情况下Tomcat只支持200线程访问,超过这个数量的连接将被等待甚至超时放弃,所以我们需要提高这方面的处理能力. 修改这部分配置需要修改conf下的server.xml,找到Connector 标签项,修改protocol,默认的协议类型是BIO,也就是阻塞式I/O操作, 简单项目及应用可以采用BIO. 第二种协议类型是NIO,它就是一种基于缓冲区是、并能提供非阻塞I/O操作的java API,它有更好的并发运行性能. NIO更适合后台需要耗时完成请求的操作 第三种协议类型是APR,它主要可以提高Tomcat对静态文件的处理性能. 选择哪个协议也是根据实际项目进行配置. 除了这个协议类型,还有一个非常重要的参数要改,就是maxThreads,就是当前连接器能够处理同时请求的最大数目.这个数目也并非 越大越好,它也受操作系统等硬件制约,所以这个值要根据压力测试后实际数据进行配置. 2. 线程池 使用线程池的好处在于减少了创建销毁线程的相关消耗,而且可以提高线程的使用效率。使用线程池就在Service标签中配置Executor就可以了 3. Listener 还有一个影响tomcat性能的因素是内存泄漏,我们在Server标签中配置一个JreMemoryLeakPreventionListener就可以用来预防JRE内存泄漏 第三部分: 组件优化 可以选用Tomcat Native组件,它可以让 Tomcat使用 Apache 的 APR包来处理包括文件和网络IO操作,从而提升性能及兼容性 2、http协议有哪些部分组成? 回答:1.请求部分:1)请求行:请求方式 路径 协议及版本 2)请求头:请求头中保存的是本地浏览器信息的,是发送到服务器,被服务器解析的 3)请求体:请求体中存储的是请求数据,请求方式是POST时,请求体中才有内容; 2.响应部分:1)响应行:协议及版本 状态码 状态码描述 2)响应头:包含了服务器信息以及响应内容信息,被浏览器解析的 3)响应体:存储响应数据,给一般用户看的 3、Get和Post的区别? 回答:Get请求方式:地址栏里会显示我们提交的数据(不安全),并且地址栏中支持提交少量数据,请求的数据存在请求行中; Post请求方式:地址栏里不显示我们提交的数据信息(相对安全),可以提交大量数据,请求的数据存在请求正文中。 4、cookie和session的区别? 回答:共同点:cookie和session都是用来跟踪浏览器用户身份的会话方式; 区别:cookie数据保存在客户端,保存数据不安全且存储数据量有限;session数据保存在服务器端,保存数据安全且存储数据量大,session是基于cookie进行信息处理的; 5、什么是ajax,为什么要使用ajax? 回答:Ajax是一种创建交互式网页应用的网页开发技术;Asynchronous JavaScript and XML的缩写; Ajax的优势: 1.通过异步模式,提升了用户体验; 2.优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了宽带占用; 3.Ajax引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载; Ajax的最大特点:可以实现局部刷新,在不更新整个页面的前提下维护数据,提升用户体验度。 注意:ajax在实际项目开发中使用率非常高(牢固掌握)。 6、浅谈你对ajax的认识? 回答:同上(第5个问题) 7、Cookie和Session以及Servlet的生命周期? 回答:1.Cookie的生命周期是累计的,从创建时,就开始计时,20分钟后,cookie生命周期结束。 2. Session的生命周期是间隔的,从创建时,开始计时如在20分钟,没有访问session,那么session生命周期被销毁;但

文档评论(0)

pehalf + 关注
实名认证
内容提供者

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

版权声明书
用户编号:7201060146000004

1亿VIP精品文档

相关文档