摘要:
在Mybatis中,执行insert操作时,如果我们希望返回数据库生成的自增主键值,那么就需要使用到KeyGenerator对象。 需要注意的是,KeyGenerator的作用,是返回数据库生成的自增主键值,而不是生成数据库的自增主键值。返回的主键值放到哪儿呢?放到parameter object的 阅读全文
摘要:
Mybatis中的TypeHandler有两个功能: 一个是完成javaType至jdbcType的转换, 另外一个是完成jdbcType至javaType的转换。 public interface TypeHandler<T> { void setParameter(PreparedStateme 阅读全文
摘要:
内存性能指标 为了分析内存的性能瓶颈,首先你要知道,怎样衡量内存的性能,也就是性能指标问题。 首先,你最容易想到的是系统内存使用情况,比如已用内存、剩余内存、共享内存、可用内存、缓存和缓冲区的用量等。 已用内存和剩余内存很容易理解,就是已经使用和还未使用的内存。 共享内存是通过 tmpfs 实现的, 阅读全文
摘要:
在内存资源紧张时,Linux 通过直接内存回收和定期扫描的方式,来释放文件页和匿名页,以便把内存分配给更需要的进程使用。 文件页的回收比较容易理解,直接清空缓存,或者把脏数据写回磁盘后,再释放缓存就可以了。 而对不常访问的匿名页,则需要通过 Swap 换出到磁盘中,这样在下次访问的时候,再次从磁盘换 阅读全文
摘要:
系统的内存资源紧张时,系统又会如何应对呢? 这其实会导致两种可能结果,内存回收和 OOM 杀死进程。 我们这里重点看第一个可能的结果,内存回收,也就是系统释放掉可以回收的内存,比如我前面讲过的缓存和缓冲区,就属于可回收内存。它们在内存管理中,通常被叫做文件页(File-backed Page)。 文 阅读全文