Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么JavaJDK为所有操作系统提供选项?_Java - Fatal编程技术网

为什么JavaJDK为所有操作系统提供选项?

为什么JavaJDK为所有操作系统提供选项?,java,Java,我们知道java是一种独立于平台的语言,那么为什么这个站点为Linux、Windows和Solaris等所有操作系统提供JDK呢 那么为什么我们要告诉java是平台独立的呢?简单地解释一下,当您将代码从一个操作系统移动到另一个操作系统时,您不需要编译java源代码,但要运行编译后的java代码,您需要有特定于操作系统的java运行时机器。这就是为什么不同的操作系统有不同的JDK。简单地解释一下,当您将代码从一个操作系统移动到另一个操作系统时,您不需要编译java源代码,但要运行编译后的java代

我们知道java是一种独立于平台的语言,那么为什么这个站点为Linux、Windows和Solaris等所有操作系统提供JDK呢


那么为什么我们要告诉java是平台独立的呢?

简单地解释一下,当您将代码从一个操作系统移动到另一个操作系统时,您不需要编译java源代码,但要运行编译后的java代码,您需要有特定于操作系统的java运行时机器。这就是为什么不同的操作系统有不同的JDK。

简单地解释一下,当您将代码从一个操作系统移动到另一个操作系统时,您不需要编译java源代码,但要运行编译后的java代码,您需要有特定于操作系统的java运行时机器。这就是为什么不同的操作系统有不同的JDK。

因为在那里可以下载Java虚拟机的安装程序。这就是Java应用程序运行的环境


Java之所以独立于操作系统,是因为它在这个JVM中运行。

因为您可以在那里下载Java虚拟机的安装程序。这就是Java应用程序运行的环境


Java之所以独立于操作系统,是因为它在这个JVM中运行。

JVM的任务是隐藏平台之间的差异,并为应用程序代码提供相同的执行环境,而不考虑平台

是用C++编写的,它编译成本地二进制,就像任何其他C++应用程序一样。毕竟,您不会期望.exe文件在Linux上运行


因此JVM是特定于平台的,但它提供的环境不是。JVM的任务是隐藏平台之间的差异,并为应用程序代码提供相同的执行环境,而不考虑平台

是用C++编写的,它编译成本地二进制,就像任何其他C++应用程序一样。毕竟,您不会期望.exe文件在Linux上运行

因此JVM是特定于平台的,但它提供的环境不是这样的。

它是这样的:

      your application          
    ---------------------       
          JAVA on OS1           
    ---------------------
           OS1
    ---------------------
         hardware
    ---------------------
如果您在Java之上编写应用程序,那么只需移动Java即可 应用程序,按原样,不改变它,甚至不编译它到新的操作系统,因为 您的程序是在一个平台上编写的,该平台是Java,而不是本机操作系统

因此,您需要为您的操作系统下载特定的Java。但从应用程序的角度来看,它是相同的API。Java使应用程序平台独立,因为它对应用程序隐藏操作系统。但是Java本身,它必须为每个特定的操作系统编译和构建。但应用程序并不关心这一点。应用程序会看到相同的API。这就是重点。

它是这样的:

      your application          
    ---------------------       
          JAVA on OS1           
    ---------------------
           OS1
    ---------------------
         hardware
    ---------------------
如果您在Java之上编写应用程序,那么只需移动Java即可 应用程序,按原样,不改变它,甚至不编译它到新的操作系统,因为 您的程序是在一个平台上编写的,该平台是Java,而不是本机操作系统


因此,您需要为您的操作系统下载特定的Java。但从应用程序的角度来看,它是相同的API。Java使应用程序平台独立,因为它对应用程序隐藏操作系统。但是Java本身,它必须为每个特定的操作系统编译和构建。但应用程序并不关心这一点。应用程序会看到相同的API。这就是重点。

为了补充其他答案,Java是独立于平台的,因为您编写的代码应该可以在每个平台上工作。事实上,这并不完全正确。Java代码总是以同样的方式以字节码编译,但是JVM在操作系统的功能中以不同的方式解释这个公共字节码,每个操作系统有一个JVM。没有JVM实现来使用字节码的操作系统不能支持Java。

为了补充其他答案,Java是独立于平台的,因为您编写的代码应该可以在每个平台上工作。事实上,这并不完全正确。Java代码总是以同样的方式以字节码编译,但是JVM在操作系统的功能中以不同的方式解释这个公共字节码,每个操作系统有一个JVM。没有JVM实现来使用字节码的操作系统不能支持Java。

因为JVM不是独立于平台的!因为JVM不是用JAVA实现的,但可能主要是用C/C++实现的,为什么会有这么多人反对?这真是我见过的最荒谬的论坛。有人只是在问一个问题,他们不知道。如果一个问题很基本,为什么每个人都会因为问一个问题而被贬低?我不知道为什么会被贬低?这是一个非常好的问题……因为JVM不是独立于平台的!因为JVM不是用JAVA实现的,但可能主要是用C/C++实现的,为什么会有这么多人反对?这真是我见过的最荒谬的论坛。有人只是在问一个问题,他们不知道。如果一个问题很基本,为什么每个人都会因为问一个问题而被贬低?我不知道为什么会被贬低?这是一个很好的问题…vor,Maschine,Applikation。。。[原文如此]。。。你使用的语言是德语还是什么;我
我更愿意称之为丹格利什。无论如何,我对这些拼写错误感到抱歉。别担心:我是一个母语为法语的人,偶尔也会做出一些很好的法语拼写错误;vor、Maschine、应用程序。。。[原文如此]。。。你使用的语言是德语还是什么;我更愿意称之为丹格利什。无论如何,我对这些拼写错误感到抱歉。别担心:我是一个母语为法语的人,偶尔也会做出一些很好的法语拼写错误;