My understanding of bitcoinj is that it is used to implement a "thin client" that doesn't store the entire blockchain- just the headers.
When I use the WalletAppKit, it creates a file "default.spvchain" that is 626Kib. This could easily fit in memory, so why is SPVBlockStore (using memory mapped file) used? Wouldn't MemoryBlockStore be a better choice?