Hibernate 学习笔记08 --性能优化

本文探讨了Java中session.clear()的使用、内存泄露问题、1+N问题的解决策略、list与iterate的区别、缓存机制及其应用、以及针对具体场景的优化方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、  注意session.clear()的运用,尤其在不断分页循环的时候

a)        在一个大集合中进行遍历,遍历msg,取出其中的含有敏感字眼的对象;

b)       另外一种形式的内存泄露;//面试题:Java有内存泄露吗?

2、  1 + N问题 //典型的面试题

a)        Lazy

b)       BatchSize

c)        join fetch

d)       session.criteria()

3、  list和Iterate不同之处 //主要为了面试

a)        list取所有

b)       iterate先取ID,等用到的时候再根据ID来取对象

c)        session中list第二次发出,仍会到数据库查询(发SELECT语句)

d)       iterate第二次,首先找session级缓存

4、  一级缓存和二级缓存和查询缓存(面试题

a)        什么是缓存

b)       什么是一级缓存,session级别的缓存

c)        什么是二级缓存,SessionFactory级别的缓存,可以跨越session存在

                       i.             经常被访问

                     ii.             改动不大,不会经常被改动

                   iii.             数量有限

d)       打开二级缓存

                       i.             hibernate.cfg.xml设定:

<property> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值