mybatis缓存:本地缓存:由持久层框架提供,分为:一级缓存,二级缓存
一级缓存:由Session提供,Session 一旦存在,缓存就对应的存在,Session关闭,缓存空间也跟着关闭!
二级缓存:由SessionFactory 提供,默认不开启,需要程序员手动开启。二级缓存的生命周期,与SessionFactory同步!
二、进程
应用程序:就是一个安装在OS系统上的软件!
进程:一个处于运行状态下的应用软件!
进程,是计算机最小的运行单位!同时也是计算机分配资源(内存,CPU)的最小单位!
三、线程
并行与并发:并行是同时进行,并发是交互进行
1、继承Thread类
Thread:线程 Thread就是Java中线程代表类!Thread类是所有线程的直接父类,或间接父类!
实现Runnable接口,目的:定义一个线程任务
Callable + Future 组合是JDK1.5之后,提供出来的新的线程任务创建方法!
线程状态和转换:
线程同样有生命周期:新建 - 就绪 - 运行 - 阻塞 - 死亡
CPU(逻辑内核)在调度线程时有2种调度方案:分时调度方案,抢占式调度方案!
Java 主要采用的是:抢占式调度方案!
分时调度方案:CPU给多线程分别定义一些时间段,按照时间段依次执行即可!
抢占式调度方案:线程都有优先级,默认情况下线程的优先级都是一样的。默认优先值是5,取值范围:1-10 优先级的越高的,被CPU选中的概率越高!假设:优先级都是一样的?那么就抢占,谁抢占到了,谁执行代码!