On 2017-12-07 14:39, Alan Bateman wrote:


On 07/12/2017 05:04, mandy chung wrote:


On 12/6/17 6:08 PM, Martin Buchholz wrote:
Google decided that LinkedList is almost never the best choice, so any use of LinkedList is discouraged.

ArrayDeque's backing array never shrinks, so you might want to give it an explicit initial size.


The initial size is 16 which is okay.  I can make it smaller instead:

-        static Deque<NativeLibrary> nativeLibraryContext = new LinkedList<>(); +        static Deque<NativeLibrary> nativeLibraryContext = new ArrayDeque<>(8);

+1

This looks okay. It seems unlikely that hundreds of native libraries will be loaded, then unloaded, and the backing array being a memory concern.

It also needs to load said hundreds of native libraries in parallel for this context queue to grow in the first place, right?

So I'm not concerned, but on that tangent I have been wondering for some time why ArrayDeque doesn't have a trimToSize method like ArrayList does. Theoretically it'd be nice to have some means to allow periodically taking a look at persistent queues like this one and trim the backing arrays down if they ever outgrow their purpose. I guess
it's just never become a real problem...

/Claes

Reply via email to