专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 中级java软件开发工程师笔试题

中级java软件开发工程师笔试题

更新时间:2020-08-20 16:03:21 来源:动力节点 浏览2777次

⒈ webservice是什么?

webservice是一种跨编程语言和跨操作系统的远程调用技术,遵循SOPA/WSDL规范。

⒉ springCloud是什么?

springcloud是一个微服务框架,并提供全套分布式系统解决方案。支持配置管理,熔断机制,leader选举,服务治理,分布式session,微代理,控制总线,智能路由,一次性token。

⒊ Java中堆和栈有什么不同?

每个线程都有自己的栈内存,用于存储本地变量,方法参数和栈调用,一个线程中存储的变量对其它线程是不可见的。而堆是所有线程共享的一片公用内存区域。对象都在堆里创建,为了提升效率线程会从堆中弄一个缓存到自己的栈,如果多个线程使用该变量就可能引发问题,这时volatile变量就可以发挥作用了,它要求线程从主存中读取变量的值。

堆:(对象)

引用类型的变量,其内存分配在堆上或者常量池(字符串常量、基本数据类型常量),需要通过new等方式来创建。

堆内存主要作用是存放运行时创建(new)的对象。

(主要用于存放对象,存取速度慢,可以运行时动态分配内存,生存期不需要提前确定)

栈:(基本数据类型变量、对象的引用变量)

基本数据类型的变量(int、short、long、byte、float、double、boolean、char等)以及对象的引用变量,其内存分配在栈上,变量出了作用域就会自动释放。

⒋ Spring的Scope有以下几种,通过 Scope注解来实现:

(1)Singleton:一个Spring容器中只有一个Bean的实例,此为Spring的默认配置,全容器共享一个实例。

(2)Prototype:每次调用新建一个Bean实例。

(3)Request:Web项目中,给每一个http request新建一个Bean实例。

(4)Session:Web项目中,给每一个http session新建一个Bean实例。

(5)GlobalSession:这个只在portal应用中有用,给每一个global http session新建一个Bean实例。

⒌ Spring事务传播行为

所谓事务的传播行为是指,如果在开始当前事务之前,一个事务上下文已经存在,此时有若干选项可以指定一个事务性方法的执行行为。在TransactionDefinition定义中包括了如下几个表示传播行为的常量:

TransactionDefinition.PROPAGATION_REQUIRED:如果当前存在事务,则加入该事务;如果当前没有事务,则创建一个新的事务。这是默认值。

TransactionDefinition.PROPAGATION_REQUIRES_NEW:创建一个新的事务,如果当前存在事务,则把当前事务挂起。

TransactionDefinition.PROPAGATION_SUPPORTS:如果当前存在事务,则加入该事务;如果当前没有事务,则以非事务的方式继续运行。

TransactionDefinition.PROPAGATION_NOT_SUPPORTED:以非事务方式运行,如果当前存在事务,则把当前事务挂起。

TransactionDefinition.PROPAGATION_NEVER:以非事务方式运行,如果当前存在事务,则抛出异常。

TransactionDefinition.PROPAGATION_MANDATORY:如果当前存在事务,则加入该事务;如果当前没有事务,则抛出异常。

TransactionDefinition.PROPAGATION_NESTED:如果当前存在事务,则创建一个事务作为当前事务的嵌套事务来运行;如果当前没有事务,则该取值等价于TransactionDefinition.PROPAGATION_REQUIRED。

⒍ Spring的声明式事务管理力度是什么级别?

Struts2是类级别的,Spring是方法级别的

spring事务可以分为编程式事务和声明式事务

⒎ spring MVC与struts2的区别:

(1)Struts2是类级别的拦截,一个类对应一个request上下文,SpringMVC是方法级别的拦截

(2)SpringMVC的方法之间基本上独立的,独享request response数据

(3)由于Struts2需要针对每个request进行封装,把request,session等servlet生命周期的变量封装成一个一个Map,供给每个Action使用,并保证线程安全,所以在原则上,是比较耗费内存的

(4)拦截器实现机制上,Struts2有以自己的interceptor机制,SpringMVC用的是独立的AOP方式

(5)SpringMVC的入口是servlet,而Struts2是filter

(6)SpringMVC集成了Ajax

(7)SpringMVC验证支持JSR303,处理起来相对更加灵活方便,而Struts2验证比较繁琐,感觉太烦乱

(8)Spring MVC和Spring是无缝的。从这个项目的管理和安全上也比Struts2高

(9)Struts2更加符合OOP的编程思想,SpringMVC就比较谨慎,在servlet上扩展

(10)SpringMVC开发效率和性能高于Struts2

⒏ Spring框架中的核心思想包括什么?

主要思想是IOC控制反转,DI依赖注入,AOP面向切面

⒐ ArrayList和LinkedList的大致区别如下:

(1)ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。

(2)对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。

(3)对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

⒑ ArrayList,Vector主要区别为以下几点:

(1):Vector是线程安全的,源码中有很多的synchronized可以看出,而ArrayList不是。导致Vector效率无法和ArrayList相比;

(2):ArrayList和Vector都采用线性连续存储空间,当存储空间不足的时候,ArrayList默认增加为原来的50%,Vector默认增加为原来的一倍;

中级java软件开发工程师笔试题

以上就是动力节点java培训机构的小编针对“中级java软件开发工程师笔试题”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>