So will you be able to get decent efficiency by using Java? I suppose it won't hurt the OpenCL Performance, but trying to do a CPU miner would be a waste of time (unless you can just call ufasoft's miner from your program)
Yes, performance is decent. There already is a java Miner out there called Diablo if you want to see for yourself.
Even the fastest CPU miners would not hold a candle to a gpu miner, and are arguably a waste of energy, so the one I am including is just a proof of concept.