1、注意session.clear()的运用,尤其在不断分页循环的时候
a) 另外一种形式的内存泄露 ( Java有内存泄漏吗?语法上没有,但是可由java引起,例如:连接池不关闭,或io读取后不关闭)
2、1+N问题
a) @ManyToOne(fetch=FetchType.LAZY)
fetch=FetchType.LAZY 解决N+1问题 说明如下:
当多对一(@ManyToOne)已经设定属性" fetch=FetchType.LAZY "时
只有当需要时才会去获取关联表中数据 可以解决N+1问题
b)@BatchSize
//@BatchSize 解决N+1问题 说明如下:
//在与查询表关联的表类头处加@BatchSize(size=5)
//表示每次可查出5条记录 从而减少了select语句的个数
c) join fetch
//join fetch 解决N+1问题 说明如下:
//修改hql语句为--" from xxx left join fetch xxx "
d)QBC
//QBC(Query By Criteria) 解决N+1问题 说明如下:
//使用QBC的 createCriteria(*.class)执行查询 也可避免N+1问题
3 、list和iterate不同之处a) list取所有
b)iterate先取 ID,等用到的时候再根据ID来取对象
c) session中list第二次发出,仍会到数据库査询
d)iterate 第二次,首先找session 级缓存
分享到:
相关推荐
这篇备忘录主要关注Hibernate的核心概念、功能及其实现方式。通过博文链接(已省略)可获取更深入的探讨。 【标签】:“源码”、“工具” 【压缩包子文件的文件名称列表】:TestHQL **知识点详解:** 1. **...
开发搜索引擎模块时,要考虑的关键点包括关键词分析、相关性排名和性能优化。 4. **聊天室模块**:聊天室是实时通信的一种形式,常基于WebSocket技术实现。WebSocket提供双向通信,使得服务器与客户端可以实时交换...
3. 行为型模式:策略、模板方法、观察者、迭代器、责任链、命令、解释器、备忘录、状态、访问者模式。 七、框架与工具 1. Spring框架:依赖注入、AOP、SpringMVC、Spring Boot、Spring Cloud等。 2. MyBatis:ORM...
- 行为型模式:如策略、模板方法、观察者、迭代器、责任链、命令、备忘录、解释器模式。 7. **其他** - 架构设计:MVC、微服务、SOA等架构模式的理解和应用。 - 性能优化:包括代码优化、数据库查询优化、服务器...
- 行为型模式:观察者、模板方法、策略、状态、职责链、命令、迭代器、访问者、备忘录、解释器。 6. **Spring框架**: - IoC(Inversion of Control)和DI(Dependency Injection)的概念。 - AOP(Aspect ...
以上只是部分Java面试宝典2011版中涉及的关键知识点,实际上,这本指南还可能涵盖网络编程、数据库、JMS、NIO、并发编程深度、性能优化等方面的内容。学习和掌握这些知识将有助于你在面试中展示出全面的Java技能,并...
5. **设计模式**:熟练掌握常见的23种设计模式,如单例、工厂、建造者、观察者、适配器、装饰器、代理、桥接、责任链、命令、状态、策略、模板方法、迭代器、访问者、享元、备忘录、组合、外观等,它们是解决软件...
6. **JVM**:深入理解Java虚拟机的工作原理,包括内存模型(堆、栈、方法区、本地方法栈、程序计数器),垃圾回收机制(如GC算法、Minor GC、Major GC、Full GC),性能优化(如JVM参数调优,内存泄漏检测)。...
- 行为型模式:观察者、模板方法、策略、职责链、状态、访问者、迭代器、备忘录、命令。 4. **数据结构与算法** - 基本数据结构:数组、链表、栈、队列、堆。 - 排序算法:冒泡、插入、选择、快速、归并、希尔、...
4. **行为型模式**:如策略模式、模板方法模式、观察者模式、命令模式、迭代器模式、访问者模式、备忘录模式、状态模式、职责链模式和解释器模式。这些模式关注对象的行为和交互,使程序更加灵活和可扩展。 5. **...
存储过程的好处包括代码的重用性、安全性和性能优化。它们可以由数据库触发器调用,也可以通过客户端应用程序(如Java)或通过网络协议(如SQL*Plus或SQL Developer)调用。 Oracle存储过程的基本语法包括创建过程...
综上所述,Oracle存储过程的学习不仅涉及基础语法和结构的理解,还需要掌握其高级特性和最佳实践,包括动态SQL、异常处理、性能优化以及与其他编程语言的集成。通过深入研究这些知识点,可以充分发挥Oracle存储过程...
行为型设计模式如模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、责任链模式、访问者模式,主要处理对象间的交互和行为。 单例模式有多种实现方式,...
- 代理模式、命令模式、迭代器模式、中介者模式、备忘录模式等。 - 观察者模式、策略模式、模板方法模式、访问者模式、职责链模式等。 - **常见面试题**: - 工厂模式与抽象工厂模式的区别? - 适配器模式的两种...
3. 行为型模式:观察者、模板方法、策略、职责链、命令、解释器、迭代器、备忘录、状态、访问者。 八、框架知识 1. Spring框架:IoC容器、AOP、事务管理、Spring Boot。 2. MyBatis:SQL映射、动态SQL、事务控制。 ...
- **备忘录模式(Memento)**:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。 - **状态模式(State)**:允许一个对象在其内部状态改变时改变它的行为。 - **访问者模式(Visitor)**:...
- **性能优化**:掌握SQL层面的优化技巧,如索引、查询优化等;了解表设计层面的优化方法,如规范化设计、分区等。 - **数据库系统**:熟悉至少一种数据库管理系统(如MySQL、Oracle、SQL Server)的使用。 2. **...