java题目



1. 简单叙述一下Spring中BeanFactory与ApplicationContext的差别
简而言之,BeanFactory提供了配置框架和基本的功能, 而 ApplicationContext为它增加了更强的功能,这些功能中的一些或许更加接近J2EE并且围绕企业级应用。一般来说,ApplicationContext是 BeanFactory的完全超集, 任何BeanFactory功能和行为的描述也同样被认为适用于ApplicationContext
相对于BeanFactory而言,ApplicationContext 提供了以下扩展功能.
(a) 国际化支持
(b) 资源访问
(c) 事件传播
(d) 多实例加载

2. 写一段程序,读取classpath下的一个xml文件,并解析
(1)Resource resource=new ClassPathResource("appcontext.xml");
BeanFactory factory=new XmlBeanFactory(resource);

(2)ClassPathXmlApplicationContext appcontext=new ClassPathXmlApplicationContext("appcontext.xml");
BeanFactory factory=(BeanFactory)appcontext;


3. 谈一下OpenSessionInView模式,并分别谈一下在使用这个模式和不使用这个模式的情况下,Transaction、数据库连接、Hibernate Session这三者之间的开启和关闭的顺序

这个名字听起来好像很高深,笔者第一次接触到这个名词感觉,哇塞,spring哪整地那么多的技术框架啊,但是真正踏踏实实的看过几篇文章以后,感觉网上说的都是很抽象,而且好像故意说得那么高深,让读者不知所措,好像这样才能认为spring是个太牛的东西,其实,这个东西很简单。下面我简单说明下。
其实在项目里面真正的精华就是web.xml里面的这几行代码:
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter- class>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
好啦,一切ok了。接下来的就有spring容器来帮我们做了。有的人也许会问了,你说得也太简单了吧?简单的让我不能相信了。其实不然,越复杂的东西有时候往往就是一句话的事。听我慢慢道来。
这个属性就是为了支持hibernate的延迟加载而设计的,spring倡导的是面向接口编程,而且在源文件里面大量的使用了Factory-mode 和Singleton-mode。但是这就和hibernate的延迟加载产了冲突。如果不使用hibernate的 OpenSessionInViewFilter过滤器,那么当使用完getHibernateTemplet().save()或者delete()对象以后,spring会自动的关闭session。即使你使用了延迟加载的机能,spring也不会管你那套的。该关的session一刻也不等。当你想延迟加载某些类的某些设置为延迟加载的属性以后,spring就会报出session is close的错误,这该死的spring。为了优化系统的启动速度我才延迟的,为什么你这么不通情达理?不然,使用了 OpenSessionInViewFilter以后,当你save完一个对象以后,因为有这个过滤器,所以spring会把这个连接放到线程池里面,而不是马上就关闭。当需要延迟加载的时候,spring会从线程池里面取出那个session完成加载的动作。当确定这个session确实不再需要的时候,spring才会close掉这个session。原理就是这么简单。我们只需要做的就是在web.xml里面配置那几行代码,其他的就按照我们预期的做,spring会自动帮我们完成我们想要的。简单吧?


4. 说说在hibernate中使用Integer做映射和使用int做映射之间有什么差别

Integer code和int code;的区别:
Integer是对象. code = null; 对象可以为空.
int 是普通类型, 不可能 = null.
根据你的数据库code是可以空的, 故应该映射成Integer.
你没理由hbm.xml里写Integer, 类里却写int

5. 一个网站应用,请设计一个持久化类User,他可能有多张会员卡号、需要多个email地址(数量不定)作为其身份验证的方式

1. 请给自己Java水平一个准确的自我定位:

2. 判断题:声明int a = 10; 判断以下3个运算是否能够分别通过Java编译器:

a = a/2; a = a/3; a = a*2.89;


如果以上3个运算,能够分别通过编译、运行,请写出a的结果值__5___ ___1_ ____x_

e.g: 比如您认为第1个通不过,第2个,第3个能够通过且值为1,2,这样填写答案 X 1 2

3. 判断题:指出程序正确,或错误(若有错误,需要写出简单理由):
Object obj = new Object();
User user = (User) obj;
System.out.println(user.getName());
造型错误


4. 判断题:指出程序正确,或错误以及简单理由:
java.util.List list = new java.util.List();
List是抽象接口,不能实例化


5. 选择题:请选择正确的判断:___a___
关键字extends

a) 可用于一个类继承一个类

b) 可用于一个接口继承一个接口

c) 可用于一个类继承一个接口

d) 可用于一个接口继承一个类

6. 选择题:执行如下代码,程序输出是_c__________:

单选项:

a) i_am_an_expert!

b) i_

c) am_an_expert!

d) i

e) _am_an_expert!

7. 程序题:写出以下程序的输出结果:

public class Term {

private long id;

public Term(long id) {this.setId(id);}

public long getId() {return id;}

public void setId(long id) {this.id = id;}

public boolean equals(Object obj){ return true;}



public static void main(String[] args) {

Term term1 = new Term(1);

Term term1 = new Term(2);

System.out.println(term1.equals(term2));

System.out.println(term1 == term2);

}

}

true
false

8. 程序题:请指出以下代码哪些点可能抛出NullPointerException,在其代码行号前打钩:

1. boardBo.updateLastPost(

2. thread.getId(),

3. lastPost.getId(),

4. lastPost.getPoster().getId(),

5. lastPost.getPoster().getLoginName(),

6. lastPost.getPostTime());



9. 程序题:我想启动一个线程执行特定的任务,任务的具体执行内容定义在TheRunnable类中(实现了java.lang.Runnable接口):

TheRunnable theRunnable = new TheRunnable();

以下哪个语句可用于启动theRunnable任务线程:_____

a) theRunnable.run();

b) theRunnable.start();

c) Thread thread = new Thread(theRunnable); thread.run();

d) Thread thread = new Thread(theRunnable); thread.start();

10. 程序题:给定一个java.util.Date对象,如何转化为”2007-3-22 20:23:22”格式的字符串。

11. [WEB题目] 在Web应用中,各举POST请求和GET请求应用场景的一个例子。

12. [WEB题目] Web应用MVC模型中,a) C如何向V传送M; 请试写一行代码。

13. [Spring题目] 写出Spring框架中ServletRequestUtils类中的一个方法。

14. [Spring题目]请举出,你用过Spring框架中“Callback模式”的一个例子。

15. [系统设计]请简单评价该设计的优劣:身份证号码作为一个person表的主键。

16. [Hibernate题目] Hibernate如何获取指定主键id的某对象,请举例,并进行可能的优劣比较。

17. [Hibernate题目]判断题:使用save/persist一个对象时,便立即向数据库发送执行insert sql语句?

你可能感兴趣的:(java)