JAVA(含SSH)考试题.docx_第1页
JAVA(含SSH)考试题.docx_第2页
JAVA(含SSH)考试题.docx_第3页
JAVA(含SSH)考试题.docx_第4页
JAVA(含SSH)考试题.docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA试题(总分:100,时间:60分钟)一、选择(含多选):2分/题1. 运行.class的命令包括(多选)ACA:javaB:javacC:javawD:javah2. 下面哪些条语句可以正确输出“Hello World!” (多选)A:System.println(Hello World!);B:println(Hello World!);C:System.err.println(Hello World!);D:System.out.println(Hello World!);3. 看下面一段JAVA程序:B int i = 6; int j = + + i + i-;/+i=7 i-=7 二元运算符先算前面 System.out.println(j= + j); 问:程序执行结果是什么?A:12B:14C:16D:184. 看下面一段JAVA程序Dfinal int k = 1;k = 1 + 2 * 3 / 4;哪一个描述正确A:k=1B:k=2.5C:k=2D:不能执行5. 下面哪些变量名是正确(多选)BCDFIJA:intB:anIntC:ID:i1E:1F:thing1G:1thingH:ONE-HUNDREDI:ONE_HUNDREDJ:something2do6. 下面哪个描述是正确的CA:使用Hashtable比Hashmap效率更高,Vector比ArrayList效率更高B:使用Hashtable比Hashmap效率更高,ArrayList比Vector效率更高C:使用Hashmap比Hashtable效率更高,ArrayList比Vector效率更高D:使用Hashmap比Hashtable效率更高,Vector比ArrayList效率更高7. Java为变量和访问提供的所有访问级依次为:BA:public private protect protect privateB:public protect private protect privateC:public protect privateD:public private protect8. Char的数字范围是BA: 0 . . . 32767 B. :0 . . . 65535 C. :-256 . . . 255 D. :-32768 . . . 32767 E. :range is platform dependent9. 以下哪个Hibernate 主键生成策略是实现主键按数值顺序递增的? AA. incrementB. identityC. sequenceD.native10. 在jsp 中,page 指令的()属性用来引入需要的包或类。BA. extendsB. importC. languageD. contentType11. 有关线程的哪些叙述是对的() BCDA一旦一个线程被创建,它就立即开始运行。B使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。C当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。D一个线程可能因为不同的原因停止并进入就绪状态。12. 下述代码的执行结果是 Eclass Super publicint getLength() return 4;publicclass Sub extends Super publiclong getLength() return 5;publicstaticvoid main (Stringargs) Super sooper = new Super ();Super sub = new Sub();System.out.println(sooper.getLength()+ , + sub.getLength(); ;A. 4, 4B. 4, 5C. 5, 4D. 5, 5E. 代码不能被编译13. 关于异常(Exception),下列描述正确的是 ABCA. 异常的基类为Exception,所有异常都必须直接或者间接继承它B. 异常可以用try . . .catch(Exception e) . . .来捕获并进行处理C. 如果某异常继承RuntimeException,则该异常可以不被声明D. 异常可以随便处理,而不是抛给外层的程序进行处理14. 从以下哪一个选项中可以获得Servlet 的初始化参数。 CA.ServletB.ServletContextC.ServletConfigD.GenericServlet15. 写出下面代码的执行结果 Apublicclass MyClass staticvoid aMethod(StringBuffer sf1, StringBuffer sf2) sf1.append(sf2);sf2 = sf1;publicstaticvoid main(String args)StringBuffer sf1 = new StringBuffer(A);StringBuffer sf2 = new StringBuffer(B);aMethod(sf1,sf2);System.out .println(sf1+ :+sf2);A.AB:BB.A:BC. AB:ABD.A:ABHibernate&EJB考试试题16. 下面关于Hibernate说法正确的是(AD)(选择两项)A)Hibernate是ORM的一种实现方式B)Hibernate不要JDBC的支持C)属于控制层D)属于数据持久层17. 下面关于ORM的说法错误的是(BC)(选择两项)A)对象关系映射,让现实中的对象同数据库的表产生映射B)对象关系映射,让类同表产生关系C)对象关系映射,让类同记录产生关系D)对象关系映射,让类中的属性同表中的列产生关系18. 下面关于Hibernate中Session的说法正确的是(BD)(选择两项)A) Session是轻量级的,可以随意的创建和销毁B) Session是重量级的,不能随意的创建和销毁C) Session是线程安全的D) Session不是线程安全的19. 下面关于Hibernate中load和get方法说法正确的是(BC)A)这两个方法是一样的,没有任何的区别B)这两个方法不一样,laod先找缓存,再找数据库C)这两个方法不一样,get先找缓存,再找数据库D)以上说法都不对20. 在Hibernate中修改对象的说话错误的是(AC)A)只能利用update方法来做修改B)可以利用saveOrUpdate方法来做修改C)可以利用HQL语句来做修改D)不能利用HQL语句来修改二、简答:5分/题21. 介绍一下spring MVC的工作原理、用途及优势?答:原理:Spring提供了DispatcherServlet,这个类不仅负责实现请求转发,还负责启动一个WebApplicationContext容器。 按照Spring一贯的IoC哲学,所有的Controller都是JavaBean,并由IoC容器统一管理。对于View,则采取了更灵活的处理方 式,Spring MVC允许使用不同的View实现,除了JSP外,还可以使用Velocity、Freemaker、XSLT等多种View技术。总的来讲,要使用Spring MVC框架,需要以下步骤。 在web.xml中配置DispatcherServlet及URL映射。 编写IoC容器需要的XML配置文件,命名为-servlet.xml,放到/WEB-INF目录下。例如,如果DispatcherServlet在web.xml中的配置名称为dispatcher,则Spring将寻找dispatcher- servlet.xml配置文件。 在XML配置文件中定义URL映射方式和使用哪种View技术。用途:JSP、Servlet、JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的系统非常的繁乱,所以在此之上,我们需要一个规则、一个把这些技术组织起来的规则,这就是框架,Spring MVC便应运而生。优势:AOP 让开发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序代码中。使用 AOP 后,公共服务(比如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的复杂性。IOC 允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。正如单词倒置所表明的,IOC 就像反过来的 JNDI。没有使用一堆抽象工厂、服务定位器、单元素(singleton)和直接构造(straight construction),每一个对象都是用其协作对象构造的。因此是由容器管理协作对象(collaborator)。Spring既是一个AOP框架,也是一IOC容器。 Spring 最好的地方是它有助于您替换对象。有了 Spring,只要用 JavaBean 属性和配置文件加入依赖性(协作对象)。然后可以很容易地在需要时替换具有类似接口的协作对象。22. 请看下列程序,运行结果是class Superint i=10;Super()print();i=20;void print()System.out.print(i);publicclass Sub extends Superint j=30;Sub()print();j=40;void print()System.out.print(j);publicstaticvoid main(String args)System.out.print(new Sub().j);答:0304023. Hibernate与jdbc的联系 ?答:hibernate是jdbc的轻量级封装,包括jdbc的与数据库的连接(用perty的配置文件实现当然本质是封装了jdbc的forname),和查询,删除等代码,都用面向对象的思想用代码联系起来,hibernate通过hbm 配置文件把po类的字段和数据库的字段关联起来比如数据库的id,在po类中就是pravite Long id; public Long getId() ;public setId(Long id);然后hql语句也是面向对象的,它的查询语句不是查询数据库而是查询类的,这些实现的魔法就是xml文件,其实hibernate=封装的jdbc+xml文件24. Hibernate与spring的联系 ? 答:hibernate中的一些对象可以给Spring来管理,让Spring容器来创建hibernate中一些对象实例化。例如:SessionFactory,HibernateTemplate等。Hibernate本来是对数据库的一些操作,放在DAO层,而Spring给业务层的方法定义了事务,业务层调用DAO层的方法,很好的将Hibernate的操作也加入到事务中来了。25. MVC的各个部分都有那些技术来实现?如何实现?答:MVC是ModelViewController的简写。“Model”代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),“View”是应用的表示面(由JSP页面产生),“Controller”是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。26. 为什么要用spring: ?答:AOP 让开发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序代码中。使用 AOP 后,公共服务 (比 如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的复杂性。 IOC 允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。正如单词 倒置 所表明的,IOC 就像反 过来的 JNDI。没有使用一堆抽象工厂、服务定位器、单元素(singleton)和直接构造(straight construction),每一个对象都是用 其协作对象构造的。因此是由容器管理协作对象(collaborator)。 Spring即使一个AOP框架,也是一IOC容器。 Spring 最好的地方是它有助于您替换对象。有了 Spring,只要用 JavaBean 属性和配置文件加入依赖性(协作对象)。然后可以很容易地在需要时替换具有类似接口的协作对象。27. 介绍一下Spring的事务管理:答:事务就是对一系列的数据库操作(比如插入多条数据)进行统一的提交或回滚操作,如果插入成功,那么一起成功,如果中间有一条出现异常,那么回滚之前的所有操作。这样可以防止出现脏数据,防止数据库数据出现问题。开发中为了避免这种情况一般都会进行事务管理。Spring中也有自己的事务管理机制,一般是使用TransactionMananger进行管理,可以通过Spring的注入来完成此功能。spring提供了几个关于事务处理的类:TransactionDefinition /事务属性定义TranscationStatus /代表了当前的事务,可以提交,回滚。PlatformTransactionManager这个是spring提供的用于管理事务的基础接口,其下有一个实现的抽象类AbstractPlatformTransactionManager,我们使用的事务管理类例如DataSourceTransactionManager等都是这个类的子类。一般事务定义步骤:TransactionDefinition td = new TransactionDefinition();TransactionStatus ts = transactionManager.getTransaction(td);try /do sthtransactionMmit(ts);catch(Exception e)transactionManager.rollback(ts);spring提供的事务管理可以分为两类:编程式的和声明式的。编程式的,比较灵活,但是代码量大,存在重复的代码比较多;声明式的比编程式的更灵活。编程式主要使用transactionTemplate。省略了部分的提交,回滚,一系列的事务对象定义,需注入事务管理对象.void add()transactionTemplate.execute( new TransactionCallback()pulic Object doInTransaction(TransactionStatus ts) /do sth声明式:使用TransactionProxyFactoryBean:PROPAGATION_REQUIRED PROPAGATION_REQUIRED PROPAGATION_REQUIRED,readOnly围绕Poxy的动态代理 能够自动的提交和回滚事务erceptor.TransactionProxyFactoryBeanPROPAGATION_REQUIRED支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。PROPAGATION_SUPPORTS支持当前事务,如果当前没有事务,就以非事务方式执行。PROPAGATION_MANDATORY支持当前事务,如果当前没有事务,就抛出异常。PROPAGATION_REQUIRES_NEW新建事务,如果当前存在事务,把当前事务挂起。PROPAGATION_NOT_SUPPORTED以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。PROPAGATION_NEVER以非事务方式执行,如果当前存在事务,则抛出异常。PROPAGATION_NESTED如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则进行与PROPAGATION_REQUIRED类似的操作。28. 如何在web应用里面配置spring?答:在web.xml中加入如下同容,在启动web服务器时加载/WEB-INF/applicationContext.xml中的内容。contextorg.springframework.web.context.ContextLoaderServlet1通过如下类得到ApplicationContext实例WebApplicationContextUtils.getWebApplicationContext2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论