好好积累一些有趣的题目,学习知识点
题目
1.实体对象在Hibernate中如何进行状态迁移?
3个状态必须记住
瞬时态(new, or transient)、持久态(managed, or persistent)、游离态(detached)和移除态(removed,以前Hibernate文档中定义的三种状态中没有移除态)
save持久化变为持久太,
2.何谓Hibernate的N+1问题,如何解决?
查询的时候多一次
n+1原理说明与解决方法
http://www.blogjava.net/RoyPayne/archive/2012/01/30/369017.html
3.Hibernate延迟加载的机制是什么,如何工作?
cglib代理加载,执行sql查询
http://blog.youkuaiyun.com/xc635960736/article/details/7049863
http://superleo.iteye.com/blog/243322
4.Hibernate级联保存要如何做?
设置cascade
5.Hibernate的二级缓存和一级缓存有什么区别?
1session 2其他缓存框架比如ehcache,session缓存不能脱离session
6.spring中关于3类读问题,2类更新问题和数据库锁原理
http://www.iteye.com/topic/1124043
7.get和post的区别
- get是从服务器上获取数据,post是向服务器传送数据。
- 在客户端,Get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据放置在HTML HEADER内提交。
- GET方式提交的数据最多只能有2k字节,而POST则没有此限制。
8.spring什么时候用require_new
9.高性能mysql
10.删除数据库表中的重复记录
http://www.cnblogs.com/ggzwtj/archive/2012/04/11/2441724.html
15.如何判断链表是否有环的存在
答:
判断链表是否存在环,办法为:
设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。(当然,fast先行头到尾部为NULL,则为无环链表)程序如下:
{
slist *slow = head, *fast = head;
while ( fast && fast->next )
{
slow = slow->next;
fast = fast->next->next;
if ( slow == fast ) break;
}
return !(fast == NULL || fast->next == NULL);
}
答:
可能原因一:
当jar有源码和注释,引用jar的api时,参数才会显示有意义的命名,也可以显示注释
当jar包没有源码时,在生成class文件时,注释会被去掉,方法参数的命名会被简单替换再也没有提示了,所以掉用api时就会出现:既没有注释,方法参数的命名也是param1这种没意义的命名方式
可能原因二:
eclipse安装了代码混淆工具,所以api的变量名被打乱,无法显示有意义的变量名
(在APS的开发环境,可能是这张情况引起的)