I'd have to look at the code to be sure, but most likely Lix and SuperLemmini are coded to be able to handle the draw calls not keeping up with the speed of physics updates (of course, if the physics updates can't keep up then there's no choice but to slow down but I'm going to assume that NL's physics speed is probably at least reasonably comparable to Lix's -- you could check if the physics are the culprit just by seeing how long the mass replay checker takes, particularly on areas that suffer from slowdown, because it just runs the physics as quickly as it possibly can without drawing anything).
Older games often noticeably slow down, but most modern games will try to keep the gameplay moving at the same speed and just draws it less often, so for example the amount of distance something moves in one second will be the same whether the game is running at 144 FPS some really fancy setup, or struggling to maintain 30 FPS. It's not a property of the language, though some libraries/engines/etc. will make it easier than others.
Java's environment has a different purpose than what you're thinking: its purpose is so that if you want to port Java applications to a new platform, instead of everyone porting individual applications, someone just ports the runtime environment. It also definitely doesn't cause all resources to be devoted to the app while it's running: if it did, you wouldn't be able to run anything else alongside a Java app. That said, it doesn't seem to be particularly good at sharing, but not in a way that appears to confer any noticeable benefits to performance. If you haven't noticed, I actually really hate the Java runtime environment. A good runtime environment is an implementation detail that stays behind the scenes where you never have to think about it, ESPECIALLY if you're just the end user, but intensive Java applications (such as modded Minecraft) can fail that pretty easily, what with all the minimum/maximum memory allocation nonsense. Most programs just figure it out as long as you've got the bare minimum, but Java needs some hand-holding, apparently.