摘要:
1、内存溢出的原因 引起内存溢出的原因有很多种,常见的有以下几种 ①、内存中加载的数据量过于庞大,如一次从数据库取出过多数据 ②、集合类中有对对象的引用,使用完后未清空,使得JVM不能回收 ③、代码中存在死循环或循环产生过多重复的对象实体 ④、使用的第三方软件中的BUG 2、内存溢出的解决方案 第一 阅读全文
摘要:
1、Redis 1.1、Redis的数据类型 ①、字符串 string ②、哈希 hash ③、列表 list ④、集合 set ⑤、有序集合 sorted set / zset 1.2、Redis的持久化方式 Redis提供了两种持久化的方式 分别是RDB(Redis DataBase)和AOF( 阅读全文
摘要:
讲悲观锁和乐观锁之前,顺便复习一下同步锁和死锁 1、同步锁 同步锁是为了保证每个线程都能正常执行原子不可更改操作,同步监听"对象/同步锁/同步监听器/互斥锁"的一个标记锁 每个Java对象有且只有一个同步锁,在任何时刻,最多只允许一个线程拥有这把锁,当消费者线程试图执行以带有synchronized 阅读全文
摘要:
1、事务的概念 事务就是一组独立不可分割的工作单元,事务中的操作要不全部执行,要不就全都不执行 最直观的一个事务实例,如下所示 当前有两张表,分别是账户表(account_table)和商品库存表(inventory_table) 如果现在要完成张三的下单业务,要扣减购买商品的100件库存,同时还要 阅读全文
摘要:
1、数据库事务 1.1、事务的四大特性 原子性 即不可分割性,事务要么全部被执行,要么就全部不被执行 一致性 事务的执行使得数据库从一种正确状态转换成另一种正确状态 隔离性 在事务正确提交之前,不允许把该事务对数据的任何改变提供给任何其他事务 持久性 事务正确提交后,其结果将永久保存在数据库中,即使 阅读全文
摘要:
1、Spring的IOC、DI、AOP分别是什么 1.1、IOC IOC的意思是控制反转,是指创建对象的控制权转移,以前创建对象的主动权和时机是由自己把控的,而现在这种权力转移到Spring容器中,并由容器根据配置文件去创建实例和管理各个实例之前的依赖关系,对象与对象之前松散耦合,也利于功能的服用 阅读全文