sping事务传播级别
    required:默认传播级别,没有事务创建事务,有事务加入事务
    required_new : 每次创建事务,并挂起其他事务
    supports:加入当前事务,不创建事务
    not_supported:不支持事务,挂起其他事务
    mandatory:如果没有事务,抛出异常
    never:绝不支持事务,有事务抛出异常
    nested:没有事务创建事务,有事务创建嵌套事务,子事务由父事务统一提交、
    spring事务隔离级别
    Read-Uncommitted:读未提交,产生脏读
    Read-Committed:读已提交,产生不可重复读,幻读
    Repeatable-Read:可重复读,产生幻读(采用间隙锁解决)
    serializable:最高级别,串行化,资源消耗最大
    springboot常用注解
    @SpringBootApplication
    @Configuration
    @ComponentScan
    @EnableAutoConfiguration
    @ImportAutoConfiguration
    @Primary
    @Qualifier
    @Profile
    Spring Boot 可以通过 @PropertySource,@Value,@Environment, @ConfigurationPropertie注解来绑定变量
    springboot优先properties、yml
    springboot读取配置方式
    1.通过获取环境变量Environment来获取配置参数
    2.通过@Value注解方式
    3.通过@ConfigurationProperties读取配置文件映射实体类
    简单回答springbean生命周期:
    (1)实例化(必须的)构造函数构造对象
    (2)装配(可选的)为属性赋值
    (3)回调(可选的)(容器-控制类和组件-回调类)
    (4)初始化(init-method=” “)
    (5)就绪
    (6)销毁(destroy-method=” “)
    mysql Explain 执行
    ALL、index、range、 ref、eq_ref、const、system、NULL(从左到右,性能从差到好)


    网络七层:物理层、数据链路、网络层、传输层、会话层、表示层、应用层
    线程池
    ThreadPoolExecutor
    new SingleThreadExecutor单例线程池
    new FixedThreadPool定长线程池
    new CachedThreadPool可缓存线程池
    new ScheduledThreadPool定时线程池
    corePoolSize:核心池的大小
    maximumPoolSize:线程池最大线程数
    keepAliveTime:回收空闲时间
    unit:时间单位
    ThreadPoolExecutor.AbortPolicy:丢弃任务并抛出RejectedExecutionException异常。
    ThreadPoolExecutor.DiscardPolicy:也是丢弃任务,但是不抛出异常。
    ThreadPoolExecutor.DiscardOldestPolicy:丢弃队列最前面的任务,然后重新尝试执行任务(重复此过程)
    ThreadPoolExecutor.CallerRunsPolicy:由调用线程处理该任务
    Semaphore 信号量,限制线程通过的数量
    countDownLatch 多线程都执行完才能通过
    回收算法
    1.标记–清除算法
    2.复制算法
    3.标记–整理算法
    jvm内存工具jmap,jconsole
    jvm内存模型
    堆、栈、本地方法栈、程序计数器、元空间(类信息、常量池)
    偏向锁-》轻量锁-》重量锁