java中提供很多集合类,比如ArrayList,HashMap等等。但你有没有发现其中的这些集合类都是泛型的,有的时候你会发现用泛型会比较慢。慢在哪呢?慢就慢在基本类型的装包和拆包。当你处理大数量的时候,这个慢有的时候就不能接受了。 那这怎么解决呢?推荐大家使用fastutil,一个意大利实验室出品,主要用在其的WebGraph上。



fastutil extends the Java™ Collections Framework by providing type-specific maps, sets, lists and queues with a small memory footprint and fast access and insertion; provides also big (64-bit) arrays, sets and lists, and fast, practical I/O classes for binary and text files. It is free software distributed under the Apache License 2.0. It requires Java 6 or newer. The classes implement their standard counterpart interface (e.g., Map for maps) and can be plugged into existing code. Moreover, they provide additional features (such as bidirectional iterators) that are not available in the standard classes. Besides objects and primitive types, fastutil classes provide support for references, that is, objects that are compared using the equality operator rather than the equals() method. The sources are generated using a C preprocessor, starting from a set of driver files. You can peek at thejavadoc-generated documentation. In particular, the overview explains the design choices used in fastutil. 




posted on 2011-12-22 22:41 小橋流水 阅读(...) 评论(...) 编辑 收藏




  • 随笔 - 238
  • 文章 - 0
  • 评论 - 234
  • 引用 - 0