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)
Also - to the person requesting lower performance for non-dedicated machines (for using windows, and/or playing games), simply run a lower aggression (3 for 48xx series cards, 4 for 58xx series cards) and you can play DirectX Games in the background with minimal interruption. I believe the CUDA miner has a similar flag (-f 60 maybe?)