My understanding is that Java is platform-independent, so it does not matter whether you use it on a Ubuntu, other Linux distro, or Windows machine.Tws+ubuntu+java is the best?
I use automated trading in which my own program is written in Java. The computer uses Ubuntu as operating system and I am using IB's Gateway (not TWS) and API tools.