教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

JAVA面试题大全(含答案)(3)

来源:网络收集 时间:2026-08-31
导读: none 解答: (一)lazy:延迟加载 Lazy的有效期:只有在session打开的时候才有效;session关闭后lazy就没效了。 lazy策略可以用在: a. 标签上:可以取值true/false b. 标签上,可以取值true/false,这个特性需要类

none

解答:

(一)lazy:延迟加载

Lazy的有效期:只有在session打开的时候才有效;session关闭后lazy就没效了。

lazy策略可以用在:

a.标签上:可以取值true/false

b.标签上,可以取值true/false,这个特性需要类增强

c./等集合上,可以取值为true/false/extra

d./等标签上,可以取值false/proxy/no-proxy

1) get和load的区别:

a.get不支持延迟加载,而load支持。

b.当查询特定的数据库中不存在的数据时,get会返回null,而load则抛出异常。

2) 类(Class)的延迟加载:

a. 设置标签中的lazy=”true”,或是保持默认(即不配置lazy属性)

b. 如果lazy的属性值为true,那么在使用load方法加载数据时,只有确实用到数据的时候才会发

出sql语句;这样有可能减少系统的开销。

3) 集合(collection)的延迟加载:可以取值true,false,extra

a.true:默认取值,它的意思是只有在调用这个集合获取里面的元素对象时,才发出查询语句,加载其集合元素的数据

b.false:取消懒加载特性,即在加载对象的同时,就发出第二条查询语句加载其关联集合的数据

c.extra:一种比较聪明的懒加载策略,即调用集合的size/contains等方法的时候,hibernate并不会去加载整个集合的数据,而是发出一条聪明的SQL语句,以便获得需要的值,只有在真正需要用到这些集合元素对象数据的时候,才去发出查询语句加载所有对象的数据

4) Hibernate单端关联懒加载策略:即在/标签上可以配置

懒加载策略。可以取值为:false/proxy/no-proxy

a.false:取消懒加载策略,即在加载对象的同时,发出查询语句,加载其关联对象

b.proxy:这是hibernate对单端关联的默认懒加载策略,即只有在调用到其关联对象的方法的时候才真正发出查询语句查询其对象数据,其关联对象是代理类

c.no-proxy:这种懒加载特性需要对类进行增强,使用no-proxy,其关联对象不是代理类

注意:在class标签上配置的lazy属性不会影响到关联对象!!!

(二)inverse

inverse是指的关联关系的控制方向,inverse=false的side(side其实是指inverse=false所位于的class元素)端有责任维护关系,而inverse=true端无须维护这些关系

(三)cascade

cascade指的是层级之间的连锁操作。在定义关联对象的映射时,使用cascade=”all”,cascade=”save-update”,cascade=”all-delete-orphan”或cascade=”delete”

a.如果父对象被保存,所有的子对象会被传递到saveOrUpdate()方法去执行(cascade=”save-update”)

b.如果父对象被传递到update()或者saveOrUpdate(),所有的子对象会被传递到saveOrUpdate()方法去执行(cascade=”save-update”)

c.如果一个临时的子对象被一个持久化的父对象引用了,它会被传递到saveOrUpdate()去执行 (cascade=”save-update”)

d.如果父对象被删除了,所有的子对象对被传递到delete()方法执行 (cascade=”delete”)

e.如果临时的子对象不再被持久化的父对象引用,什么都不会发生(必要时,程序应该明确的删除这个子对象),除非声明了cascade=”all-delete-orphan”,在这种情况下,成为“孤儿”的子对象会被

删除。

(四) save、update、delete一对多关系中的一方对象操作时的区别

1)当一方设置inverse=true时,所有由一方发出的操作都不会关联到多方。

2)当一方设置 inverse=false, cascade=all-delete-orphan时,将删除不再和一方对象关联的所有多方对象。 3)当一方设置 inverse=false, cascade=all时,当保存和删除一方对象时,级联保存和删除所有关联的多方对象。

4)当一方设置 inverse=false, cascade=none时,当对一方操作时,不级联到关联的多方对象。

26.简单说明什么是递归?什么情况会使用?并使用java实现一个简单的递归程序。

解答:

1)递归做为一种算法在程序设计语言中广泛应用.是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象。

2)递归算法一般用于解决三类问题:

a.数据的定义是按递归定义的。(Fibonacci(斐波那契)函数)

b.问题解法按递归算法实现。(回溯)

c.数据的结构形式是按递归定义的。(树的遍历,图的搜索)

3).这是一个排列的例子,它所做的工作是将输入的一个字符串中的所有元素进行排序并输出,例如:你给出的参数是”abc” 则程序会输出: abc acb bac bca cab cba a.算法的出口在于:low=high也就是现在给出的排列元素只有一个时。 b.算法的逼近过程:先确定排列的第一位元素,也就是循环中i所代表的元素, 然后low+1开始减少排列元素,如此下去,直到low=high public class Foo {

public static void main(String[] args) {

permute(“abc”); }

public static void permute(String str) {

char[] strArray = str.toCharArray();

permute(strArray, 0, strArray.length – 1); }

public static void permute(char[] list, int low, int high) { int i;

if (low == high) {

String cout = “”;

for (i = 0; i <= high; i++)

cout += list[i];

System.out.println(cout);

} else {

for (i = low; i <= high; i++) {

char temp = list[low];

list[low] = list[i];

list[i] = temp;

permute(list, low + 1, high);

temp = list[low];

list[low] = list[i];

list[i] = temp; } } } }

27.列出自己常用的jdk包.

解答:JDK常用的package

java.lang: 这个是系统的基础类,比如String等都是这里面的,这个package是唯一一个可以不用import就可以使用的Package

java.io: 这里面是所有输入输出有关的类,比如文件操作等

java.net: 这里面是与网络有关的类,比如URL,URLConnection等。

java.util : 这个是系统辅助类,特别是集合类Collection,List,Map等。

java.sql: 这个是数据库操作的类,Connection, Statememt,ResultSet等

28.列出自己常用的jdk中的数据结构

解答:线性表,链表,哈希表是常用的数据结构。

29.List、Map、Set三个接口存储元素时各有什么特点?

解答:

1)List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引(元素在List中的位置,类似于数组下标)来访问List中的元素,这类似于Java的数组。

2)Set是一种不包含重复的元素的Collection,即任意的两个元素e1和e2都有e1.equals(e2)=false,Set最多有一个null元素。

3)Map接口 :请注意,Map没有继承Collection接口,Map提供key到value的映射

30. 简述基于Struts框架Web应用的工作流程

解答:在web应用启动时就会加载初始化ActionServlet,ActionServlet从struts-config.x …… 此处隐藏:2458字,全部文档内容请下载后查看。喜欢就下载吧 ……

JAVA面试题大全(含答案)(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/444484.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)