My current impression is, Apache Mesos was introduced before the LXC container technology became easily available (via Docker).
So you could implement "your own Apache Mesos Java framework" for example, or use Marathon to do that.
Now, Marathon seems to support containers as well.
Question - when would you deploy Java nowadays on/with Mesos/Marathon without contauners? And if you use containers, why should you opt for Mesos instead of for example Kubernetes?
For example, here they say in my understanding, k8s ecosystem deployment is easier while with Mesos you would have to opt for the enterprise version of DC/OS.