Hibernate 连接 SQLite (hibernate-sqlite) 分页bug的修复

众所周知, Hibernate 官方目前还不支持使用 SQLite 数据库, hibernate-sqlite 是一个让 Hibernate 可以支持 SQLite 数据库的项目, 这个项目提供了 Hibernate 的 SQLite 方言(Dialect) , 最后一次更新是 July 2010, 我在使用这个项目的时候发现在分页时有个 bug, 进行分页查询时, 不管怎么改变页码, 查询结果并不会改变.

阅读全文

算法: 三只水桶等分水问题

有一个容积为8升的水桶里装满了水,另外还有一个容积为3升的空桶和一个容积为5升的空桶,如何利用这两个空桶等分8升水?附加条件是三个水桶都没有体积刻度,也不能使用其它辅助容器。

这是一道经典题目,一般人都可以在一分钟内给出答案,不过,很多人可能没有注意到这道题的答案不是唯一的。先来看看最常见的一个答案,也是目前已知最快的操作步骤,共需要7次倒水动作:

阅读全文

C++ STL 容器简介

C++ STL 简介 里已经介绍了C++的标准模版库, 以下简介下各种容器的特点.

(一)vector容器

vector的数据安排以及操作方式,与array非常相似。两者的唯一区别在于空间的运用的灵活性。array是静态空间,一旦配置了就不能改变。vector是动态空间,随着元素的加入,它的内部机制会自行扩充空间以容纳新元素。因此,vector的运用对于内存的合理利用与运用的灵活性有很大的帮助,我们再也不必因为害怕空间不足而一开始要求一个大块的array。

阅读全文

C++ STL 简介



### 一、STL简介

STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。

STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),几乎所有的代码都采用了模板类和模版函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。

阅读全文