JAVA面试题记录

1.list区别

2.聚族索引

3.策略模式

4.AOP失效

5.事务传播机制,实现

6.设计模式

7.反射

8.redis

9.jvm

10.jmm

11.线程池原理

12.sql调优

数据库

13.MyISAM和InnoDB存储引擎的区别

MyISAM和InnoDB是两种不同的数据库存储引擎,它们在多个方面存在显著差异。

以下是它们之间的一些主要区别:

  • 数据存储方式不同。MyISAM将数据和索引存储在不同的文件中,数据文件为.MYD,索引文件为.MYI;InnoDB将数据和索引存储在同一个文件中,即.ibd文件。
  • 事务支持不同。MyISAM不支持事务处理;InnoDB支持事务处理,并且具有ACID兼容的事务处理能力。
  • 锁定机制不同。MyISAM只支持表级锁,这意味着当对一个表进行更新操作时,整个表会被锁定;InnoDB支持行级锁,这意味着锁定的粒度更小,提高了并发性能。
  • 外键支持不同。MyISAM不支持外键;InnoDB支持外键,这有助于维护数据的一致性和完整性。
  • 性能和优化方式不同。MyISAM适合于执行大量的SELECT查询,因为它支持不加锁的读取;InnoDB适合于执行大量的INSERT、UPDATE操作,因为它支持行级锁定。
  • 存储空间不同。MyISAM存储引擎通常需要较少的存储空间;InnoDB由于其事务支持和数据锁定机制,通常需要更多的存储空间。
  • 缓存机制不同。MyISAM仅缓存索引,数据读取依赖于操作系统的文件系统缓存;InnoDB有自己的缓存(buffer pool),不仅缓存索引,还缓存表数据。

选择哪种存储引擎取决于具体的应用场景和需求。例如,对于需要事务处理、数据一致性和较高并发性能的应用,InnoDB是更好的选择;而对于执行大量SELECT查询的场景,MyISAM可能更为合适。

14.JAVA中拆箱和装箱

Integer i = 10; //装箱

int n = i; //拆箱

装箱:自动将基本数据类型转换成包装器类型

拆箱:包装器类型自动转换成基本数据类型

装箱过程是通过调用包装器的valueOf方法实现的,

而拆箱过程是通过调用包装器的 xxxValue方法实现的。(xxx代表对应的基本数据类型)。

包装器的缓存范围:

Integer (-128~127缓存)

Boolean: (全部缓存)

Byte: (全部缓存)

Character (

Short (-128~127 缓存)

Long (-128~127 缓存)

Float (没有缓存)

Doulbe (没有缓存)

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值