If you are working with primaries then the unboxed collections are a big boon. My code often uses objects though, so I use a lot of the fastutil Object2ObjectMap etc.
There are two areas that are important in my use case:
* the performance of normal get/computeIfAbsent/forEach etc. FastUtil has for example fast iterators avoid allocating Map.Entry etc.
* the memory usage. The total footprint is important because I actually dimension VMs based on stuff. But garbage collection minimization is also really important.