Java常见笔试题【第二部分】

>>强大,10k+点赞的 SpringBoot 后台管理系统竟然出了详细教程!

21、使用Spring MVC 处理普通页面请求, 下面哪个排序是正确的()

1.请求:请求提交给服务器

2.分发:分发器通过web 应用配置信息 , 将请求分发至适当的控制器

3.服务调用:控制器与业务层交互

4.响应:控制器更新模型,将执行结果返回给客户端展现

A,1-2-3-4

B,1-4-3-2

C,1-4-2-3

D,1-3-2-4

正确答案:A

22、以下哪个不是 Spring AOP 的注解()

A,@Before

B,@Around

C,@BeforeReturning

D,@AfterThrowing

正确答案:C

23、"@RequestMapping是Spring中的哪一部分()

A,DAO

B,Security

C,Web MVC

D,Web

正确答案:C

24、下面关于spring和struts2的描述,错误的是()

A,spring mvc的入口是filter,而struts2是servlet

B,spring mvc是基于方法的设计,而struts2是基于类的设计

C,struts2有以自己的interceptor机制,spring mvc用的是独立的AOP方式

D, spring mvc的方法之间基本上独立的,独享request response数据,struts2所有Action变量是共享的

正确答案:A

25、Spring中,下面哪个选项支持ORM()

A,OJB

B,TopLink

C,全部选项

D,Java Data Objects(JDO)

E,iBatis

正确答案:C

26、Spring和Hibernate的集成中,下面哪项是SessionFactory 正确的实现()

A,LocalSessionFactoryBean

B,LocalFactoryBean

C,SessionFactory

D,SessionFactoryBean

正确答案:A

27、下面哪个是Spring最核心的servlet()

A,WebServlet

B,SpringServlet

C,DispatcherServlet

D,IoCServlet

正确答案:C

28、Spring-test 用什么约定在测试中使用HTTP会话和HTTP 请求对象()

A,MVC

B,Open-closed principle

C,DAOs

D,Mock objects

正确答案:D

29、Spring 中,"@Cacheable"的key生成方式,以下哪个是正确的()

A,可以是方法参数及其成员变量的任意表达式

B,只能使用所有方法参数,但可以调整次序

C,只能使用所有方法参数,且不能调整次序

D,只能指定方法参数是否参与key的生成,不能控制参数的成员变量

正确答案:A

30、使用@Required但不关联bean 来注解setter方法,将会发生()

A,bean被设置为null

B,启动异常

C,Spring 将创建bean

D,什么也不发生

正确答案:B

 


 

1,有关线程的哪些叙述是对的( )

A,一旦一个线程被创建,它就立即开始运行。

B,使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。

C,当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。

D,一个线程可能因为不同的原因停止并进入就绪状态。

答案:BCD

在抢占式线程模型中,操作系统可以在任何时候打断线程。通常会在它运行了一段时间(就是所谓的一个时间片)后才打断它。这样的结果自然是没有线程能够不公平地长时间霸占处理器。

2,哪个关键字可以对对象加互斥锁 ()

A,serialize

B,synchronized

C,transient

D,static

答案:B
A是对象串行化、C是关键字transient修饰的属性将不被串行化、D是静态的

3,下列关于线程优先级的说法中,正确的是()
A、线程的优先级是不能改变的
B、线程的优先级是在创建线程时设置的
C、在创建线程后的任何时候都可以设置
D、B和C

答案:C

Java语言中线程的优先级是用一个介于MIN_PRIORITY和MAX_PRIORITY之间的整数来表示的。可以在创建线程后的任何时候修改线程的优先级。

4,为了使模块尽可能独立,要求(  )
A.模块的内聚程度要尽量高,且耦合程度要尽量强
B.模块的内聚程度要尽量高,且耦合程度要尽量弱
C.模块的内聚程度要尽量低,且耦合程度要尽量弱
D.模块的内聚程度要尽量低,且耦合程度要尽量强

答案:B

系统设计的质量主要反映在模块的独立性上。评价模块独立性的主要标准有两个:一是模块之间的耦合,它表明两个模块之间互相独立的程度;二是模块内部之间的关系是否紧密,称为内聚。一般来说,要求模块之间的耦合尽可能地弱,即模块尽可能独立,而要求模块的内聚程度尽量高。

5,下列对于线性链表的描述中正确的是()
A.存储空间不一定是连续,且各元素的存储顺序是任意的
B.存储空间不一定是连续,且前件元素一定存储在后件元素的前面
C.存储空间必须连续,且前件元素一定存储在后件元素的前面
D.存储空间必须连续,且各元素的存储顺序是任意的

答案:A

在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间 的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。

6,下列叙述中错误的是( )

A.线性表是由n个元素组成的一个有限序列

B.线性表是一种线性结构

C.线性表的所有结点有且仅有一个前件和后件

D.线性表可以是空表

答案:C

线性表是一种线性结构,由n(n≥0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前驱,最后一个结点没有后继,其他结点有且只有一个前驱和后继,所以选项C是错误的。

7,已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为( )

A.GEDHFBCA

B.DGEBHFCA

C.ABCDEFGH

D.ACBFEDHG

答案:B

二叉树的遍历有3种:前序、中序和后序。

先序:先访问根结点、左结点、右结点

中序:先访问左结点、根结点、右结点

后序:先访问左结点、右结点、根结点

本题根据前序遍历和中序遍历的结果可以得出二叉树的结构,然后再对其进行后序遍历。

8,面向对象方法中,继承是指( )
A.一组对象所具有的相似性质
B.一个对象具有另一个对象的性质
C.各对象之间的共同性质
D.类之间共享属性和操作的机制

答案:D
继承:在程序设计中,继承是指子类自动享用父类的属性和方法,并可以增加新的属性和方法的一种机制。它是实现代码共享的重要手段,可以使软件更具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,也是面向对象的主要优点之一。

继承又分为单重继承和多重继承,单重继承是指子类只能继承一个父类的属性和操作;而多重继承是指子类可以继承了多个父类的属性和操作。

扩展:Java是一种单重继承语言,而C++是一种多重继承语言。

9,栈和队列的共同点是( )
A.都是先进先出
B.都是先进后出
C.只允许在端点处插入和删除元素
D.没有共同特点

答案:C
栈是只允许在表的一端进行插入和删除的操作,队列是允许在表的一端进行插入,另一端进行删除的操作。

10,下列关于修饰符混用的说法,错误的是()
A.abstract不能与final并列修饰同一个类
B.abstract类中不可以有private的成员
C.abstract方法必须在abstract类中
D.static方法中能处理非static的数据

答案:D

静态方法是属于类的,而普通方法是属于对象的。
属于类的静态方法可以在对象不存在的时候就能访问到,而普通方法必须先new一个对象才能用这个对象访问。当我们访问调用静态方法的时候(使用类名.静态方法名)这个时候就没有对象创建,所以普通方法是访问不到的。为了避免这种错误,所以java就不允许在静态方法中访问非静态方法。