作者:微信公众号JavaQ
链接: https://www.nowcoder.com/discuss/7342
来源:牛客网
链接: https://www.nowcoder.com/discuss/7342
来源:牛客网
51.servlet生命周期及各个方法
参考文章http://www.cnblogs.com/xuekyo/archive/2013/02/24/2924072.html
52.servlet中如何自定义filter
参考文章http://www.cnblogs.com/javawebsoa/archive/2013/07/31/3228858.html
53.JSP原理
参考文章http://blog.csdn.net/hanxuemin12345/article/details/23831645
54.JSP和Servlet的区别
(1)JSP经编译后就变成了“类servlet”。
(2)JSP由HTML代码和JSP标签构成,更擅长页面显示;Servlet更擅长流程控制。
(3)JSP中嵌入JAVA代码,而Servlet中嵌入HTML代码。
55.JSP的动态include和静态include
(1)动态include用jsp:include动作实现,如<jsp:include page="abc.jsp" flush="true" />,它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。会先解析所要包含的页面,解析后和主页面合并一起显示,即先编译后包含。
(2)静态include用include伪码实现,不会检查所含文件的变化,适用于包含静态页面,如<%@ include file="qq.htm" %>,不会提前解析所要包含的页面,先把要显示的页面包含进来,然后统一编译,即先包含后编译。
56.Struts中请求处理过程
参考文章http://www.cnblogs.com/liuling/p/2013-8-10-01.html
57.MVC概念
参考文章http://www.cnblogs.com/scwyh/articles/1436802.html
58.Spring mvc与Struts区别
参考文章http://blog.csdn.net/tch918/article/details/38305395
参考文章http://blog.csdn.net/chenleixing/article/details/44570681
59.Hibernate/Ibatis两者的区别
参考文章http://blog.csdn.net/firejuly/article/details/8190229
60.Hibernate一级和二级缓存
参考文章http://blog.csdn.net/windrui/article/details/23165845
61.简述Hibernate常见优化策略
参考文章http://blog.csdn.net/shimiso/article/details/8819114
62.Spring bean的加载过程(推荐看Spring的源码)
参考文章http://geeekr.com/read-spring-source-1-how-to-load-bean/
63.Spring bean的实例化(推荐看Spring的源码)
参考文章http://geeekr.com/read-spring-source-two-beans-initialization/
64.Spring如何实现AOP和IOC(推荐看Spring的源码)
参考文章http://www.360doc.com/content/15/0116/21/12385684_441408260.shtml
65.Spring bean注入方式
参考文章http://blessht.iteye.com/blog/1162131
66.Spring的事务管理
这个主题的参考文章没找到特别好的,http://blog.csdn.net/trigl/article/details/50968079这个还可以。
67.Spring事务的传播特性
参考文章http://blog.csdn.net/lfsf802/article/details/9417095
68.springmvc原理
参考文章http://blog.sina.com.cn/s/blog_7ef0a3fb0101po57.html
69.springmvc用过哪些注解
参考文章http://aijuans.iteye.com/blog/2160141
70.Restful有几种请求
参考文章,http://www.infoq.com/cn/articles/designing-restful-http-apps-roth,该篇写的比较全。
71.Restful好处
(1)客户-服务器:客户-服务器约束背后的原则是分离关注点。通过分离用户接口和数据存储这两个关注点,改善了用户接口跨多个平台的可移植性;同时通过简化服务器组件,改善了系统的可伸缩性。
(2)无状态:通信在本质上是无状态的,改善了可见性、可靠性、可伸缩性.
(3)缓存:改善了网络效率减少一系列交互的平均延迟时间,来提高效率、可伸缩性和用户可觉察的性能。
(4)统一接口:REST架构风格区别于其他基于网络的架构风格的核心特征是,它强调组件之间要有一个统一的接口。
72.Tomcat,Apache,JBoss的区别
Apache:HTTP服务器(WEB服务器),类似IIS,可以用于建立虚拟站点,编译处理静态页面,可以支持SSL技术,支持多个虚拟主机等功能。
Tomcat:Servlet容器,用于解析jsp,Servlet的Servlet容器,是高效,轻量级的容器。缺点是不支持EJB,只能用于java应用。
Jboss:应用服务器,运行EJB的J2EE应用服务器,遵循J2EE规范,能够提供更多平台的支持和更多集成功能,如数据库连接,JCA等,其对Servlet的支持是通过集成其他Servlet容器来实现的,如tomcat和jetty。
73.memcached和redis的区别
(1)性能对比:由于Redis只使用单核,而Memcached可以使用多核,所以平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化,但是比起Memcached,还是稍有逊色。
(2)内存使用效率对比:使用简单的key-value存储的话,Memcached的内存利用率更高,而如果Redis采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。
(3)Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET一样高效。所以,如果需要缓存能够支持更复杂的结构和操作,那么Redis会是不错的选择。
74.如何理解分布式锁
参考文章http://blog.csdn.net/zheng0518/article/details/51607063和http://blog.csdn.net/nicewuranran/article/details/51730131。
75.你知道的开源协议有哪些
常见的开源协议有GPL、LGPL、BSD、Apache Licence vesion 2.0、MIT,详细内容参考文章http://blog.jobbole.com/44175/、http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html。
76.json和xml区别
XML:
(1)应用广泛,可扩展性强,被广泛应用各种场合;
(2)读取、解析没有JSON快;
(3)可读性强,可描述复杂结构。
JSON:
(1)结构简单,都是键值对;
(2)读取、解析速度快,很多语言支持;
(3)传输数据量小,传输速率大大提高;
(4)描述复杂结构能力较弱。
77.设计模式
参考文章http://www.cnblogs.com/beijiguangyong/archive/2010/11/15/2302807.html#_Toc281750445。
78.设计模式的六大原则
参考文章http://www.uml.org.cn/sjms/201211023.asp。
79.用一个设计模式写一段代码或画出一个设计模式的UML
参考文章http://www.cnblogs.com/beijiguangyong/archive/2010/11/15/2302807.html#_Toc281750445
80.高内聚,低耦合方面的理解
参考文章http://my.oschina.net/heweipo/blog/423235。