Demand for Java developers isn't going to disappear anytime soon. The language is associated with monolith companies, that are still running last decade's tech, but Java devs are diving deep into Docker to optimize their application architecture.
There’s a current movement towards micro services; making each process do one thing well. In many ways recommended best practice in the use of application servers for years has been; try to run a small number of deployment units per JVM as you can get away with. If you put all your services (deployment units) into the same JVM; then if you need to upgrade one of those services you have to take down the JVM which can affect all the other services. So its less risky and more agile to deploy each service in a different JVM process so you can upgrade any service at any point in time without affecting any of the other services.