Java69道Spring面试题和答案.docx是一份包含大量Java Spring框架相关面试题和答案的文档。该文档主要涵盖了Spring的概述、依赖注入、Spring beans、Spring注解、Spring数据访问、Spring面向切面编程等方面。Spring是一个开源的Java企业应用开发框架,旨在简化Java企业应用开发,并通过基于POJO的编程模型促进良好的编程习惯。使用Spring框架可以带来诸多好处,如轻量、控制反转、面向切面编程、容器管理、MVC框架和事务管理等。 数据库索引的优点包括: 1. 通过创建唯一性索引,可以确保数据库表中每一行数据的唯一性。 2. 可以显著加快数据检索速度,是创建索引的主要原因之一。 3. 可以加速表与表之间的连接,尤其在实现数据的参考完整性方面有意义。 4. 在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。 5. 使用索引可以通过优化隐藏器,提高系统性能。 数据库索引的缺点包括: 1. 创建索引会增加数据库的存储空间占用,影响数据插入、删除和更新的性能。 2. 维护索引会增加数据库的维护成本,包括索引的更新和重建可能会导致性能下降。 3. 当在非索引列上进行查询时,索引可能无法发挥作用,导致查询性能下降。 4. 索引可能会引发锁问题,例如行锁和表锁,影响数据库的并发性能。 5. 过多的索引会导致查询优化器选择不合适的索引,从而影响查询性能。 垃圾回收器的基本原理是通过GC来监控对象的地址、大小和使用情况,使用有向图记录和管理堆中的所有对象,判断哪些对象是"可达的"和"不可达的",回收"不可达"对象所占的内存空间。垃圾回收器并不一定能立即回收内存,但程序员可以通过手动执行System.gc()方法通知GC运行。然而,Java语言规范并不保证GC一定会执行,具体回收时间取决于GC的算法和策略。 综上所述,通过创建索引可以提高数据库的性能,但也会带来一些缺点。垃圾回收器的基本原理是通过监控对象的可达性来回收内存,可以通过手动触发GC来通知虚拟机进行垃圾回收。同时,Spring框架作为一个轻量级的企业级应用开发框架,通过控制反转和面向切面编程等特性,简化了Java应用开发工作,提高了系统的可维护性和性能。
剩余18页未读,继续阅读