广州中公优就业IT培训学校

试听课 + 活动课
填写信息优先获取试听课

位置:学校首页 > 学校动态>广州天河区大数据培训班在哪里

广州天河区大数据培训班在哪里

众所周知,想要从普通的Java开发程序员成长为Java架构师,并不是一件轻松的事。首先Java架构师需要了解框架源码分析、性能优化、池技术等等知识技能。本文为大家整理了Java架构师经典能力提升笔试题汇总,感兴趣的同学赶紧来做一做吧!

1、什么是Spring框架?Spring框架有哪些主要模块?

答:Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成Spring框架,不必担心Spring是如何在后台进行工作的。Spring框架至今已集成了20多个模块。这些模块主要被分如下图所示的核心容器、数据访问/集成、Web、AOP(面向切面编程)、工具、消息和测试模块。

2、使用Spring框架能带来哪些好处?

答:(1)DependencyInjection(DI)方法使得构造器和JavaBeanproperties文件中的依赖关系一目了然。与EJB容器相比较,IoC容器更加趋向于轻量级。这样一来IoC容器在有限的内存和CPU资源的情况下进行应用程序的开发和发布就变得十分有利。

(2)Spring并没有闭门造车,Spring利用了已有的技术比如ORM框架、logging框架、J2EE、Quartz和JDKTimer,以及其他视图技术。

(3)Spring框架是按照模块的形式来组织的。由包和类的编号就可以看出其所属的模块,开发者仅仅需要选用他们需要的模块即可。

(4)要测试一项用Spring开发的应用程序十分简单,因为测试相关的环境代码都已经囊括在框架中了。更加简单的是,利用JavaBean形式的POJO类,可以很方便的利用依赖注入来写入测试数据。

(5)Spring的Web框架亦是一个精心设计的WebMVC框架,为开发者们在web框架的选择上提供了一个除了主流框架比如Struts、过度设计的、不流行web框架的以外的有力选项。

(6)Spring提供了一个便捷的事务管理接口,适用于小型的本地事物处理(比如在单DB的环境下)和复杂的共同事物处理(比如利用JTA的复杂DB环境)。

3、请讲述String和StringBuffer的区别。

答:String类所定义的对象是用于存放“长度固定”的字符串。StringBuffer类所定义的对象是用于存放“长度可变动”的字符串。

4、请解释下Spring框架中的IoC?

答:Spring中的org.springframework.beans包和org.springframework.context包构成了Spring框架IoC容器的基础。BeanFactory接口提供了一个先进的配置机制,使得任何类型的对象的配置成为可能。ApplicationContex接口对BeanFactory(是一个子接口)进行了扩展,在BeanFactory的基础上添加了其他功能,比如与Spring的AOP更容易集成,也提供了处理messageresource的机制(用于国际化)、事件传播以及应用层的特别配置,比如针对Web应用的WebApplicationContext。org.springframework.beans.factory.BeanFactory是SpringIoC容器的具体实现,用来包装和管理前面提到的各种bean。BeanFactory接口是SpringIoC容器的核心接口。IOC:把对象的创建、初始化、销毁交给spring来管理,而不是由开发者控制,实现控制反转。

5、什么是SpringMVC?

答:SpringMvc是spring的一个模块,基于MVC的一个框架,无需中间整合层来整合。

SpringMVC的优点:(1)它是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是java组件.并且和Spring提供的其他基础结构紧密集成.

(2)不依赖于ServletAPI(目标虽是如此,但是在实现的时候确实是依赖于Servlet的)

(3)可以任意使用各种视图技术,而不仅仅局限于JSP

(4)支持各种请求资源的映射策略

(5)它应是易于扩展的

6、SpringMVC工作原理?

(1)客户端发送请求到DispatcherServlet

(2)DispatcherServlet查询handlerMapping找到处理请求的Controller

(3)Controller调用业务逻辑后,返回ModelAndView

(4)DispatcherServlet查询ModelAndView,找到指定视图

(5)视图将结果返回到客户端

7、什么是MyBatis?

答:MyBatis是一个可以自定义SQL、存储过程和映射的持久层框架。讲下MyBatis的缓存:MyBatis的缓存分为一级缓存和二级缓存,一级缓存放在session里面,默认就有,二级缓存放在它的命名空间里,默认是不打开的,使用二级缓存属性类需要实现Serializable序列化接口(可用来保存对象的状态),可在它的映射文件中配置。

8、Mybatis是如何进行分页的?分页插件的原理是什么?

(1)Mybatis使用RowBounds对象进行分页,也可以直接编写sql实现分页,也可以使用Mybatis的分页插件。

(2)分页插件的原理:实现Mybatis提供的接口,实现自定义插件,在插件的拦截方法内拦截待执行的sql,然后重写sql。举例:selectfromstudent,拦截sql后重写为:selectt.from(select*fromstudent)tlimit0,10

9、简述Mybatis的插件运行原理,以及如何编写一个插件?

答:(1)Mybatis仅可以编写针对ParameterHandler、ResultSetHandler、StatementHandler、Executor这4种接口的插件,Mybatis通过动态代理,为需要拦截的接口生成代理对象以实现接口方法拦截功能,每当执行这4种接口对象的方法时,就会进入拦截方法,具体就是InvocationHandler的invoke()方法,当然,只会拦截那些你指定需要拦截的方法。

(2)实现Mybatis的Interceptor接口并复写intercept()方法,然后在给插件编写注解,指定要拦截哪一个接口的哪些方法即可,记住,别忘了在配置文件中配置你编写的插件。

10、谈谈你对抽象类和接口的理解。

答:定义抽象类的目的是提供可由其子类共享的一般形式、子类可以根据自身需要扩展抽象类、抽象类不能实例化、抽象方法没有函数体、抽象方法必须在子类中给出具体实现。他使用extends来继承。接口:一个接口允许一个类从几个接口继承而来,Java程序一次只能继承一个类但可以实现几个接口,接口不能有任何具体的方法,接口也可用来定义可由类使用的一组常量。其实现方式是interface来实现。

以上就是Java架构师经典能力提升笔试题汇总。大家都刷过一遍了吗?不明白的地方可以多看看参考答案,或是复习一下相关知识点,查漏补缺。

领取试听课
温馨提示:为不影响您的学业,来校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
版权所有:搜学搜课(www.soxsok.com) 技术支持:搜学搜课网