- [V] guava - http://code.google.com/p/guava-libraries/
- pro and con
- pro => compatible with java, well-known, generic type infer, immutable
- con => code style is not unified with mutable and immutable collection, lack of functional features
- usage =>
- new mutable collection
- new List, ArrayList by collect.Lists.newXXXList
- new HashMap by collect.Maps.newXXXMap
- new Set by collect.Sets.newXXXMap
- new immutable collection
- new List by collect.ImmutableList.of
- new Map by collect.ImmutableMap.of
- new Set by collect.ImmutableSet.of
- prefer Iterables (1.5 compatible with foreach) to Iterators (1.2)
- Function & Predicate & Equivalence & Supplier
- Splitter & Joiner
- functional java - http://functionaljava.org/
- pro and con
- pro => easy to create and more functional
- con => convert back to java collection is too complex, need bgga complier plugin
- lambdaJ
- pro and con
- pro => more functional like LinQ
- con => too complex
- [V] google guice: dependency injection like scala trait - http://code.google.com/p/google-guice/
- [?] QueryDSL: best LinQ-like Query DSL - http://www.querydsl.com/
- pro and con
- pro => easy, most compatible with other libs, like scala, jdo, jpa, mongo
- con => based on java cant reflect with generic, some where will be stronger
- [?] lombok: Code generate and Type Inference like scala - http://projectlombok.org/index.html
- Require and Validation Contracts made by google - http://code.google.com/p/cofoja/
- code generate - http://www.jboss.org/javassist
- [V] joda-time: immutable datetime lib - http://joda-time.sourceforge.net/
- Mockito: Best Simple Mock Test Framework - http://mockito.org/
- The agile database migration framework for Java - http://code.google.com/p/flyway/
- ActiveJDBC: Rails-like JDBC lib - http://code.google.com/p/activejdbc/?
Reference By |
|