面试题集3:javaEE基础

1、SERVLET APIforward()redirect()的区别?
答:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。

**2、什么情况下调用doGet()doPost()? **
答:Jsp页面中的FORM标签里的method属性为get时调用doGet(),为post时调用doPost()

3、request.getAttribute()request.getParameter() 有何区别?
答:getAttribute是返回对象,getParameter返回字符串 。总的来说:request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取http提交过来的数据。

4、jsp有哪些内置对象?作用分别是什么? 分别有什么方法?
答:
JSP中九大内置对象为:

|对象|含义|类型|作用域|
|------------------|
|request |请求对象| javax.servlet.ServletRequest|Request|
|response|响应对|javax.servlet.SrvletResponse|Page|
|pageContext|页面上下文对象|javax.servlet.jsp.PageContext |Page|
|session|会话对象|javax.servlet.http.HttpSession|Session|
|application|应用程序对象 |javax.servlet.ServletContext|Application|
|out|输出对象| javax.servlet.jsp.JspWriter|Page|
|config|配置对象|javax.servlet.ServletConfig|Page|
|page|页面对象| javax.lang.Object|Page|
|exception|例外对象|javax.lang.Throwable|page|

相关方法:

  • request对象代表的是来自客户端的请求,例如我们在FORM表单中填写的信息等,是最常用的对象。常用的方法有:getParameter、getParameterNames 和getParameterValues通过调用这几个方法来获取请求对象中所包含的参数的值。
  • response 对象代表的是对客户端的响应,也就是说可以通过response 对象来组织发送到客户端的数据。但是由于组织方式比较底层,所以不建议普通读者使用,需要向客户端发送文字时直接使用
  • pageContext对象直译时可以称作“页面上下文”对象,代表的是当前页面运行的一些属性。常用的方法有 :findAttribute、getAttribute、getAttributesScope 和getAttributeNamesInScope。一般情况下pageContext对象用到得也不是很多,只有在项目所面临的情况比较复杂的情况下,才会利用到页面属性来辅助处理。
  • session对象代表服务器与客户端所建立的会话,当需要在不同的JSP页面中保留客户信息的情况下使用,比如在线购物、客户轨迹跟踪等。“session” 对象建立在cookie的基础上,所以使用时应注意判断一下客户端是否打开了cookie。常用的方法包括getId、 getValue、 getValueNames和putValue等。

**5、页面间对象传递的方法 **
答:request,session,application,cookie等。

6、J2EE是技术还是平台还是框架? 什么是J2EE
答:J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。 J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。

7、什么是MVC模式?
MVC是三个单词的首字母缩写,它们是Model(模型)、View(视图)和Controller(控制)。
这个模式认为,程序不论简单或复杂,从结构上看,都可以分成三层:

  • 1)最上面的一层,是直接面向最终用户的"视图层"(View)。它是提供给用户的操作界面,是程序的外壳。
  • 2)最底下的一层,是核心的"数据层"(Model),也就是程序需要操作的数据或信息。
  • 3)中间的一层,就是"控制层"(Controller),它负责根据用户从"视图层"输入的指令,选取"数据层"中的数据,然后对其进行相应的操作,产生最终结果。

这三层是紧密联系在一起的,但又是互相独立的,每一层内部的变化不影响其他层。每一层都对外提供接口(Interface),供上面一层调用。这样一来,软件就可以实现模块化,修改外观或者变更数据都不用修改其他层,大大方便了维护和升级。

8、解析xml有哪几种方式,优缺点?

  • 1、JDOM生成和解析XML
    为减少DOM、SAX的编码量,出现了JDOM。优点:20-80原则,极大减少了代码量。使用场合:要实现的功能简单,如解析、创建等,但在底层,JDOM还是使用SAX(最常用)、DOM、Xanan文档。
  • 2、SAX生成和解析XML文档
    为解决DOM的问题,出现了SAXSAX事件驱动。当解析器发现元素开始、元素结束、文本、文档的开始或结束等时发送事件,程序员编写响应这些事件的代码,保存数据。优点:不用事先调入整个文档,占用资源少。SAX解析器代码比DOM解析器代码小,适于Applet下载。缺点:不是持久的,事件过后若没保存数据,那么数据就丢了。无状态性,从事件中只能得到文本,但不知该文本属于哪个元素。使用场合:Applet。只需XML文档的少量内容,很少回头访问,机器内存少。
  • 3、DOM生成和解析XML文档
    XML文档的已解析版本定义了一组接口。解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以使用DOM 接口来操作这个树结构。优点:整个文档树在内存中,便于操作,支持删除、修改、重新排列等多种功能。缺点:将整个文档调入内存(包括无用的节点),浪费时间和空间。使用场合:一旦解析了文档还需多次访问这些数据,硬件资源充足(内存、CPU)。
  • 4、DOM4J生成和解析XML文档
    DOM4J是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的Java 软件都在使用DOM4J来读写XML,特别值得一提的是连 SunJAXM也在用DOM4J

未完待续。。。

126、什么是SpringIOC?
127、什么是Aop?
128、Spring的核心类有哪些?
131、乐观锁与悲观锁的主要区别在哪?
132、为什么要自定义异常?
133、你所做的项目中异常是如何处理的?
134、Synchronized 和 static Synchronized 的区别?
135、内存泄露与内存溢出的区别?
137、字符流和字节流的区别?
141、Jsp是java类吗?具体是哪个?
142、Jsp中的静态include与动态include的区别?
143、js中null 与 undefined的区别?
144、servlet为什么不是线程安全的? 如何保证servlet的线程安全?
145、hibernate中 load和get的区别?
146、hibernate的工作原理?
147、hibernate与mybatis的共同点,不同点?
148、hibernate如何配置懒加载 ?
149、hibernate 中的注解与配置模式有什么区别?
150、webservice有几种实现方式?
151、webservice配置步骤?
152、数据库设计表原则?
154、左连接与右连接的区别?
155、Spring中AOP主要用于哪些方面?
156、Spring中AOP的实现方式?
159、conCurrentHashMap的实现方式?
160、threadLoacl的结构? 主要用于什么场景?
161、java中什么是重入锁,什么是读写锁,它们各自的应用场景?
162、什么情况会发生死锁,列举一种,发生后如何解决?
163、JVM发生OOM 是如何造成的,列举一种?
164、如何快速定位和处理OOM (内存泄露与内存溢出)?
165、Jvm的垃圾回收机制有哪些? 高级
167、gc怎样判定对象是需要回收的?
168、什么是双亲委派模型? 优点是什么?
170、hibernate的缓存机制?
171、使用hibernate在性能方面有哪些考虑?
174、Webservice如何控制事务?
176、索引是越多越好吗,为什么?如何衡量索引后的性能?
177、什么情况下索引会不起作用?
180、Sql优化的逻辑?
181、Spring中如何配置多个数据源(JPA/Hibernate/Mybatis)?
182、Cglib的动态代理与JDK的动态代理有什么区别?
192、如何处理socket丢包?
194、个人发展的长期和短期规划是什么?
196、简要描述一下数据库的主键/外键和约束,以及追加的sql命令。
197、如何修改Tomcat服务器的端口号,如何让tomcat启动指定目录下的web程序。
198、简要介绍一下数据库连接池,以及一些常用的连接池(默认是c3p0,还有proxool,druid等)的配置和使用。
199、Hibernate中list()方法和iterator()方法有什么差别,get()和Load()方法有什么差别 中级
200、请谈一下Spring的事务管理方式,以及如何将spring的事务管理配置到指定服务方法上。
201、Spring环境下多数据源的事务管理如何实现,可以使用哪一些框架(Atomikos,JOTM)?
202、简要介绍一下ExecutorService对象有哪几种,每一种ExecutorService有什么不同?如何让一个操作在线程池中运行?
203、 ThreadPoolExecutor中,submit方法和excecute方法有什么不同? 中级
204、简要介绍一下线程的几种状态,线程进入挂起状态可能有哪几种情况,每种情况如何唤醒? notify和notifyAll方法有什么不一样?
回答sleep和资源使用阻塞就可以
205、简要说明Java Input/OutputStream和Reader的差别,如果要设置读/写内容的编码集,在哪一个上设置? Java的I/O机制使用了什么设计模式?
209、Spring 初始化一个Bean的方式有哪几种,如何将一个值赋给Bean对象? 中级
210、在Java程序中如何获得Spring容器中的一个对象?有几种方式?
211、在Java程序中如何获得Spring容器的上下文对象?
212、Hibernate对象类中有的属性是延迟加载的,如何在一次Session连接获取数据对象时同时获取这些属性? 高级
213、Mybatis如何实现分页,如何针对不同的数据库实现统一的分页? 高级
214、请简要介绍Mybatis中缓存的使用,Mybatis的缓存不同Session间可以互相访问么?Mybatis使用的缓存何时会更新?高级
216、 java内存参数中的-Xms,-Xmx,-Xss,-XX:PermSize,-XX:MaxPermSize各自的含义
217、 Tomcat和 在服务器端和客户端的连接方式上有什么差异
222、Mybatis的查询命令中如果有多个参数该如何写Mapper文件?
223、对Hibernate操作的拦截哪两种方式?这两种方式有什么差别?
224、Spring MVC Controller中的方法,如何指定请求的返回数据形式?
225、使用Spring MVC搭建的Restful请求,如何指定执行的请求的编码集?
226、请简要介绍Spring MVC中使用的几个注解的含义:@RequestBody, @RequestMapping, @RequestParam, @PathVariable
227、在Spring MVC中,“xxxRequest/{id}”和“xxxRequest?id=?”两种类型的请求有什么不同?
228、Spring MVC的请求中如果包含多个参数时,怎样定义参数能使得请求方法更简洁?
231、什么是Java的内部类,为什么要引入内部类,请举出一个java内部类的例子?初级

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容