Oh, don't think for a second that I'm an expert. Everything I know, I learned from Gym Leader Blaine.
ANYWHO yeah it's all Java. It can theoretically run multiple instances (I've run three at once before, and I've seen four at once done), but those were all super small tournaments (<20 people). It doesn't really like it when you run a single large tourney, so I wouldn't even want to try running two of those at once.
One of the other complexities with running it in 4 pods is that seeding them into the top cut would be even more complicated than 2 is. TOM doesn't have an import feature (and my unbased, worth-nada opinion is that it won't soon - this would be one of those things where I would have no complaints about being proven wrong), so the entire thing has to be done manually to make sure the seedings remain correct. Writing TOM files from scratch is NOT fun - I had to write 3 rounds of a 25-30ish person CC back together after a tournament file got corrupted a bunch of years ago, and it took well over an hour, and that was just re-entering matches and their results; I didn't need to try and maintain the integrity of placings because it was only swiss still. That Eric can write a top cut file together out of two tournaments, and keep the seedings correct, in the small amount of time it takes him (relatively speaking) is actually pretty impressive.
Way tl;dr: Don't run multiple instances of TOM at once if either of them will be of any significant size. Totally not worth it. If it was to be expanded to 4 pods, it would absolutely, 100% take 4 computers and 4 ops.