Docker容器vs Java虚拟机

是不是真的说,在很大程度上,现在在Docker容器中做的事情,如果有人想要的话,也可以在java中用jvm来完成。

除了能够用自己的语言编写应用程序,并具有很大的定制灵活性,docker工作人员基本上可以熟练使用Java在虚拟机上做了多less年了? 即它提供了独立于底层操作系统的可执行环境。

通常,Docker容器不能在“Java内部”完成,因为Docker用来封装应用程序,而“Java内部”是在JVM启动之后加载的代码。

JVM在分析它将searchmain方法的类时已经在运行。 因此,在进程级别的封装无法完成,因为进程(JVM)已经在运行。

Java具有封装技术,可以在各种Java元素之间提供保护(例如,请参阅Tomcat中的类加载器层次结构)。 但是这些只是隔离“应用程序插件”,运行它们的主要过程是Tomcat,这实际上是一个加载到已经运行的JVM中的程序。

这并不意味着你们不能把两者结合起来来达到某种目的,只是意味着两种产品之间提供的隔离types是不可互换的。

在Docker容器中现在做的事情也可以在java中用jvm来完成

简答:不可以。您可以在您的JVM周围包装Docker容器,但是不能在代码容器周围包装JVM。

docker工人基本上做了什么Java一直在使用它的虚拟机多年来一直在做什么? 即它提供了独立于底层操作系统的可执行环境。

Docker容器提供与其他容器的隔离而不引入虚拟化层。 因此,它们与虚拟机不同,性能更高。