Ethereum(J) is a pure-Java implementation of the Ethereum protocol. It is provided as a library that can be embedded in any Java/Scala project and to provide full support for Ethereum protocol and sub-services. Ethereum(J) was first developed by Roman Mandeleil and is now sponsored by <ether.camp>.
Ethereum(J) supports CPU mining. It is currently implemented in pure Java and can be used in private and test networks. You may even mine on the live Ethereum network, even though it is not economically feasible.