Java工程开发师这个岗位炙手可热,市场需求多,学习Java的人也不少,所以IT企业与求职者的选择都比较多。那么IT企业在与应聘者面试时都会问到哪些问题呢,下面极悦Java学院小编为大家整理了一些面试中必问的几个java面试问题,拿起小本本,赶紧把宝典记下
名词篇
EJB:Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。
RMI:RMI(RemoteMethod Invocation,远程方法调用)是用Java在JDK1.1中实现的,它大大增强了Java开发分布式应用的能力。Java作为一种风靡一时的网络开发语言,其巨大的威力就体现在它强大的开发分布式网络应用的能力上,而RMI就是开发百分之百纯Java的网络分布式应用系统的核心解决方案之一。其实它可以被看作是RPC的Java版本。但是传统RPC并不能很好地应用于分布式对象系统。而Java RMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。
ORM:ORM对象-关系映射(Object-RelationMapping)模式是指在单个组件中负责所有实体域对象的持久化,封装数据访问细节。
问答篇
1.Servlet中如何获取用户提交的查询参数或表单数据?
可以通过请求对象(HttpServletRequest)的getParameter()方法通过参数名获得参数值。如果有包含多个值的参数(例如复选框),可以通过请求对象的getParameterValues()方法获得。
当然也可以通过请求对象的getParameterMap()获得一个参数名和参数值的映射(Map)。
2.Java集合类框架的基本接口有哪些?
集合类接口指定了一组叫做元素的对象。集合类接口的每一种具体的实现类都可以选择以它自己的方式对元素进行保存和排序。有的集合类允许重复的键,有些不允许。
3.基本的接口有:
Collection:代表一组对象,每一个对象都是它的子元素。
Set:不包含重复元素的Collection。
List:有顺序的collection,并且可以包含重复元素。
Map:可以把键(key)映射到值(value)的对象,键不能重复。
4.在Hibernate应用中Java对象的状态有哪些?
(1)临时状态(transient):刚刚用new语句创建,还没有被持久化,不处于Session的缓存中。处于临时状态的Java对象被称为临时对象。
(2)持久化状态(persistent):已经被持久化,加入到Session的缓存中。处于持久化状态的Java对象被称为持久化对象。
(3)游离状态(detached):已经被持久化,但不再处于Session的缓存中。处于游离状态的Java对象被称为游离对象。
简述篇
1.请简述Session的特点有哪些?
(1)不是线程安全的,因此在设计软件架构时,应该避免多个线程共享同一个Session实例。
(2)Session实例是轻量级的,所谓轻量级是指它的创建和销毁不需要消耗太多的资源。这意味着在程序中可以经常创建或销毁Session对象,例如为每个客户请求分配单独的Session实例,或者为每个工作单元分配单独的Session实例。
(3)在Session 中,每个数据库操作都是在一个事务(transaction)中进行的,这样就可以隔离开不同的操作(甚至包括只读操作)。
2.Java有没有goto?
goto 是Java中的保留字,在目前版本的Java中没有使用。(根据James Gosling(Java之父)编写的《The Java Programming Language》一书的附录中给出了一个Java关键字列表,其中有goto和const,但是这两个是目前无法使用的关键字,因此有些地方将其称之为保留字,其实保留字这个词应该有更广泛的意义,因为熟悉C语言的程序员都知道,在系统类库中使用过的有特殊意义的单词或单词的组合都被视为保留字)。
3.String,StringBuffer和StringBuilder有什么区别?
字符串在Java中是不可变的和最终的,所以无论何时执行字符串操作,都会创建一个新的字符串。由于String操作耗费资源,因此Java提供了两个实用程序类:StringBuffer和StringBuilder。
StringBuffer和StringBuilder是可变类。在StringBuilder操作不是线程安全的情况下,StringBuffer操作是线程安全的并且是同步的。
当多线程在单线程环境中使用相同的String和StringBuilder时,将使用StringBuffer。
与StringBuffer相比,StringBuilder的性能更快,因为没有同步开销。
最后祝各位小伙伴们面试成功,早日走上高级Java开发工程师岗位,从此迈向人生巅峰!如还有疑问,请在线咨询,有专业老师为你服务。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习