月份:2017年7月

Hibernate乐观锁引发的StaleObjectStateException分析

前言 最近一个项目中使用了Hibernate的乐观锁,不巧的是出现了乐观锁最容易报的错:org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction 下面将通过一个模拟的实例重现问题,并做相应的分析。 乐观锁的作用 乐观锁的主要作用是为了解决事务并发带来的问题,相对于悲观锁而言,乐观锁机制采取了更加宽松的加锁机制; 悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性,但随之而来的就是数据库性能的大量开销,特别是对长事务而言; 乐观锁机制在一定程度上解决了这个…

阅读全文 »

POI事件驱动读取Excel分析

前言 前一篇文章http://codingo.xyz/index.php/2017/06/29/poi_excel/介绍了实际项目中读取Excel导致内存溢出的问题,最后总结了在读取大Excel情况下,优先使用事件驱动模式读取,但是文件并没有对事件驱动模式做过多分析,本文将对事件驱动模式做简单分析。 xml解析器 jdk本身提供了两种XMl解析器: 1.像文档对象模型(Document Object Model,DOM)解析器这样的树型解析器(tree parser),它们将读入的XML文档转换成树结构; 2.像用于XML的简单API(Simple API for XML,SAX)解析器这样的…

阅读全文 »