使用拦截器可以在映射语句执行前后加一些自定义的操作,比如缓存、分页等
Mybatis初始化加载过程(一)
SqlSessionFactoryBuilder根据传入的数据流生成Configuration对象,然后根据Configuration对象创建默认的SqlSessionFactory实例。MyBatis通过加载并XML配置文件,将配置文信息组装成内部的Configuration对象,Configuration对象的组织结构和XML配置文件的组织结构几乎完全。
Mybatis执行mapper过程(二)
大致过程,先获取MapperProxyFactory,然后使用JDK动态代理方式构建出代理对象
Oracle数据库锁表及解锁进程
整个过程主要涉及了v$locked_object、dba_objects、v$session
为什么 ArrayList 是线程不安全的
多线程访问下,发生 ArrayIndexOutOfBoundsException 异常
Memory Analyzer分析堆快照文件过程
当应用发生OutOfMemoryError时,我们需要通过`jmap -dump:live,format=b,file=/home/dump20190318.hprof `导出当前堆快照文件,并利用Memory Analyzer工具进行分析
Linux iostat命令
iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。
Linux netstat命令
netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
Java线上故障排查手段
高CPU负载、高CPU IO Wait、频繁GC和堆内存out of memory
双亲委派模型
双亲委派模型指的是类加载器之间的层次关系。该模型要求除了顶层的启动类加载器外,其余的类加载器都应该有自己的父类加载器,而这种父子关系一般通过组合关系来实现,而不是通过继承。