java versions and how to not get confused with them











up vote
0
down vote

favorite












I am aware that there is the JRE and the JVM. I have also programmed in Java, so not a total beginner. However lately I am getting very confused and would appreciate a current response to my question.



Which version of JRE and JVM do I have and which is the latest one?



Now before feeling like telling me "google it", I have already googled it. Therefore my confusion.



In the java homepage it says:




Under the General tab in the Java Control Panel, the version is
available through the About section. A dialog appears (after clicking
About) showing the Java version.




Well, I did that and I have Version 8 Update71.



in that homepage it also says:




The JRE and JDK are separate and can coexist on your system. Only one
JRE can be installed on Mac. There can be multiple JDKs installed on a
system, as many as you wish.




Alright, I know that already. So I do what they say to get the version from the terminal and I get



java -version
java version "1.8.0_71"
Java(TM) SE Runtime Environment (build 1.8.0_71-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.71-b15, mixed mode)


Alright, it seems the same. So now comes the question:



Which version do I have? I mean the Version 8 is the JRE version? or is it the JVM version? In the homepage although they distinguish them (as the quote), the instruction to get the version is the same!



To even complicate matters, I go to wikipedia and there it says that the current supported versions are Java 8 and Java 11. Why two? and what happened to 9 and 10? And again, are these JRE or JVM?



Can someone explain this to me?










share|improve this question


























    up vote
    0
    down vote

    favorite












    I am aware that there is the JRE and the JVM. I have also programmed in Java, so not a total beginner. However lately I am getting very confused and would appreciate a current response to my question.



    Which version of JRE and JVM do I have and which is the latest one?



    Now before feeling like telling me "google it", I have already googled it. Therefore my confusion.



    In the java homepage it says:




    Under the General tab in the Java Control Panel, the version is
    available through the About section. A dialog appears (after clicking
    About) showing the Java version.




    Well, I did that and I have Version 8 Update71.



    in that homepage it also says:




    The JRE and JDK are separate and can coexist on your system. Only one
    JRE can be installed on Mac. There can be multiple JDKs installed on a
    system, as many as you wish.




    Alright, I know that already. So I do what they say to get the version from the terminal and I get



    java -version
    java version "1.8.0_71"
    Java(TM) SE Runtime Environment (build 1.8.0_71-b15)
    Java HotSpot(TM) 64-Bit Server VM (build 25.71-b15, mixed mode)


    Alright, it seems the same. So now comes the question:



    Which version do I have? I mean the Version 8 is the JRE version? or is it the JVM version? In the homepage although they distinguish them (as the quote), the instruction to get the version is the same!



    To even complicate matters, I go to wikipedia and there it says that the current supported versions are Java 8 and Java 11. Why two? and what happened to 9 and 10? And again, are these JRE or JVM?



    Can someone explain this to me?










    share|improve this question
























      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I am aware that there is the JRE and the JVM. I have also programmed in Java, so not a total beginner. However lately I am getting very confused and would appreciate a current response to my question.



      Which version of JRE and JVM do I have and which is the latest one?



      Now before feeling like telling me "google it", I have already googled it. Therefore my confusion.



      In the java homepage it says:




      Under the General tab in the Java Control Panel, the version is
      available through the About section. A dialog appears (after clicking
      About) showing the Java version.




      Well, I did that and I have Version 8 Update71.



      in that homepage it also says:




      The JRE and JDK are separate and can coexist on your system. Only one
      JRE can be installed on Mac. There can be multiple JDKs installed on a
      system, as many as you wish.




      Alright, I know that already. So I do what they say to get the version from the terminal and I get



      java -version
      java version "1.8.0_71"
      Java(TM) SE Runtime Environment (build 1.8.0_71-b15)
      Java HotSpot(TM) 64-Bit Server VM (build 25.71-b15, mixed mode)


      Alright, it seems the same. So now comes the question:



      Which version do I have? I mean the Version 8 is the JRE version? or is it the JVM version? In the homepage although they distinguish them (as the quote), the instruction to get the version is the same!



      To even complicate matters, I go to wikipedia and there it says that the current supported versions are Java 8 and Java 11. Why two? and what happened to 9 and 10? And again, are these JRE or JVM?



      Can someone explain this to me?










      share|improve this question













      I am aware that there is the JRE and the JVM. I have also programmed in Java, so not a total beginner. However lately I am getting very confused and would appreciate a current response to my question.



      Which version of JRE and JVM do I have and which is the latest one?



      Now before feeling like telling me "google it", I have already googled it. Therefore my confusion.



      In the java homepage it says:




      Under the General tab in the Java Control Panel, the version is
      available through the About section. A dialog appears (after clicking
      About) showing the Java version.




      Well, I did that and I have Version 8 Update71.



      in that homepage it also says:




      The JRE and JDK are separate and can coexist on your system. Only one
      JRE can be installed on Mac. There can be multiple JDKs installed on a
      system, as many as you wish.




      Alright, I know that already. So I do what they say to get the version from the terminal and I get



      java -version
      java version "1.8.0_71"
      Java(TM) SE Runtime Environment (build 1.8.0_71-b15)
      Java HotSpot(TM) 64-Bit Server VM (build 25.71-b15, mixed mode)


      Alright, it seems the same. So now comes the question:



      Which version do I have? I mean the Version 8 is the JRE version? or is it the JVM version? In the homepage although they distinguish them (as the quote), the instruction to get the version is the same!



      To even complicate matters, I go to wikipedia and there it says that the current supported versions are Java 8 and Java 11. Why two? and what happened to 9 and 10? And again, are these JRE or JVM?



      Can someone explain this to me?







      java version






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Dec 1 at 8:33









      KansaiRobot

      1349




      1349






















          2 Answers
          2






          active

          oldest

          votes

















          up vote
          1
          down vote













          It seems to me that your questions are answered in the same Wikipedia article:




          Java 8 and Java 11 are the currently supported long-term support (LTS) version and Java 10 is the previous supported rapid release version. Java 10 support ended on the same date that support for Java 11 began, in September 2018. Java 7 is no longer publicly supported, Java 9 has stopped receiving updates. since Java 9 was a short-term rapid release version that has been superseded by Java 10, and "end of public updates" for Java 8 is scheduled for January 2019 for commercial use, and not earlier than December 2020 for non-commercial use. For Java 11, long-term support will not be provided by Oracle; instead, the broader OpenJDK community, as AdoptOpenJDK, is expected to perform the work.




          So versions 9 and 10 were short-lived. I guess that they were stop-gap measures
          that were rushed out in response to serious security bugs.



          Version 8 is the last version still supported by Oracle and divided into JDK
          and JRE. Version 11 seems to have dropped this division and to have only
          a unified JDK version based on OpenJDK, so it might not have the performance
          enhancements found in the paid version of Oracle's Java.



          For finding what versions you have on Linux, I suppose that you can query the
          installed packages.



          On Windows, you may find that information in the registry for 32-bit and 64-bit at:




          • HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeJavaSoft

          • HKEY_LOCAL_MACHINESOFTWAREJavaSoft


          You may also find that information in Control Panel > Java (32-bit) or
          Control Panel > Java (64-bit):



          enter image description here






          share|improve this answer





















          • Thanks. I am using a mac. I wonder how to find the JDK and JRE there
            – KansaiRobot
            Dec 1 at 11:48










          • Thanks! (btw, I never downvote any answer, it is not in my character :)
            – KansaiRobot
            Dec 1 at 12:31










          • Thank you. The first part of my answer is still useful, and I'll keep the second part for Windows users.
            – harrymc
            Dec 1 at 12:32










          • @kansai I do hope if someone posts an incorrect answer you'll help the rest of us know that by down voting it. Voting, both up and down, is an important part of how we help each other identify useful answers. Thanks for contributing.
            – Twisty Impersonator
            Dec 1 at 13:09










          • @TwistyImpersonator: An incorrect answer for one poster may be the correct one for another. I don't hold with downvoting answers. If someone went to the effort of thinking of an answer and posting it, he shouldn't be penalized for his effort, but rather encouraged to continue.
            – harrymc
            Dec 1 at 18:06


















          up vote
          0
          down vote













          You are confusing dome of the terms and you are on a Mac where Oracle has confused some of them as well.



          There are I think 4 different things.




          1. JVM(Java Virtual Machine ) this is in all releases of Java and is the which runs the Java compiled class files. It is not directly downloadable but is part of the other 3 items. java -version shows the version of this you are using.


          2. JDK(Java development kit) This is the installattion that you need if you are writing programs. It includes the compiler and other tools. For macOS with Oracle releases this is the only download that supplies an environment startable by /usr/bin/java


          3. JRE(Java Runtime Environment). In Windows, Linux and Apple releases of Java this supplies the minimum selection of files needed to jun a Java program from the command line. It does not seem to exist as part of an Oracle macOs release, However this is the Java(TM) SE Runtime Environment shown by Java version.


          4. JRE(Java Runtime Environment) on macOS. From Oracle this is the environment that runs Java applets in your browser. This is the JRE that you can only have one of on your mac. This is also the one that is seen and updated by the Java control panel in System Preferences.



          So on macOS from the command line you install the JDK which includes a JRE and that includes a JVM and you can have many versions of these. There is also a separate JRE(not the same as the command line) that runs applets in your browser and is in the Java control panel and you can have only one of these.



          As for version numbers etc As far as I understand after version 8 they have changes the version numbering. Wikipedia says




          In September 2017, Mark Reinhold, chief Architect of the Java Platform, proposed to change the release train to "one feature release every six months" rather than the current two-year schedule,[1][2] and later the proposal took effect.




          Thus 9,10 have been replaced by 11 and 12 is due in March 2019 - see https://en.wikipedia.org/wiki/Java_version_history for as to timings and en of support.



          To find the JVMs that you can use from the command line run /usr/libexec/java_home -V



          I get



          /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
          Matching Java Virtual Machines (6):
          11.0.1, x86_64: "OpenJDK 11.0.1" /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
          10.0.1, x86_64: "Java SE 10.0.1" /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
          9.0.1, x86_64: "Java SE 9.0.1" /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
          1.8.0_171, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
          1.8.0_92, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home
          1.8.0_77, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home


          To install and choose which JDK see https://stackoverflow.com/questions/52524112/how-do-i-install-java-11-on-mac-osx-allowing-version-switching






          share|improve this answer





















            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "3"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1379912%2fjava-versions-and-how-to-not-get-confused-with-them%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            1
            down vote













            It seems to me that your questions are answered in the same Wikipedia article:




            Java 8 and Java 11 are the currently supported long-term support (LTS) version and Java 10 is the previous supported rapid release version. Java 10 support ended on the same date that support for Java 11 began, in September 2018. Java 7 is no longer publicly supported, Java 9 has stopped receiving updates. since Java 9 was a short-term rapid release version that has been superseded by Java 10, and "end of public updates" for Java 8 is scheduled for January 2019 for commercial use, and not earlier than December 2020 for non-commercial use. For Java 11, long-term support will not be provided by Oracle; instead, the broader OpenJDK community, as AdoptOpenJDK, is expected to perform the work.




            So versions 9 and 10 were short-lived. I guess that they were stop-gap measures
            that were rushed out in response to serious security bugs.



            Version 8 is the last version still supported by Oracle and divided into JDK
            and JRE. Version 11 seems to have dropped this division and to have only
            a unified JDK version based on OpenJDK, so it might not have the performance
            enhancements found in the paid version of Oracle's Java.



            For finding what versions you have on Linux, I suppose that you can query the
            installed packages.



            On Windows, you may find that information in the registry for 32-bit and 64-bit at:




            • HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeJavaSoft

            • HKEY_LOCAL_MACHINESOFTWAREJavaSoft


            You may also find that information in Control Panel > Java (32-bit) or
            Control Panel > Java (64-bit):



            enter image description here






            share|improve this answer





















            • Thanks. I am using a mac. I wonder how to find the JDK and JRE there
              – KansaiRobot
              Dec 1 at 11:48










            • Thanks! (btw, I never downvote any answer, it is not in my character :)
              – KansaiRobot
              Dec 1 at 12:31










            • Thank you. The first part of my answer is still useful, and I'll keep the second part for Windows users.
              – harrymc
              Dec 1 at 12:32










            • @kansai I do hope if someone posts an incorrect answer you'll help the rest of us know that by down voting it. Voting, both up and down, is an important part of how we help each other identify useful answers. Thanks for contributing.
              – Twisty Impersonator
              Dec 1 at 13:09










            • @TwistyImpersonator: An incorrect answer for one poster may be the correct one for another. I don't hold with downvoting answers. If someone went to the effort of thinking of an answer and posting it, he shouldn't be penalized for his effort, but rather encouraged to continue.
              – harrymc
              Dec 1 at 18:06















            up vote
            1
            down vote













            It seems to me that your questions are answered in the same Wikipedia article:




            Java 8 and Java 11 are the currently supported long-term support (LTS) version and Java 10 is the previous supported rapid release version. Java 10 support ended on the same date that support for Java 11 began, in September 2018. Java 7 is no longer publicly supported, Java 9 has stopped receiving updates. since Java 9 was a short-term rapid release version that has been superseded by Java 10, and "end of public updates" for Java 8 is scheduled for January 2019 for commercial use, and not earlier than December 2020 for non-commercial use. For Java 11, long-term support will not be provided by Oracle; instead, the broader OpenJDK community, as AdoptOpenJDK, is expected to perform the work.




            So versions 9 and 10 were short-lived. I guess that they were stop-gap measures
            that were rushed out in response to serious security bugs.



            Version 8 is the last version still supported by Oracle and divided into JDK
            and JRE. Version 11 seems to have dropped this division and to have only
            a unified JDK version based on OpenJDK, so it might not have the performance
            enhancements found in the paid version of Oracle's Java.



            For finding what versions you have on Linux, I suppose that you can query the
            installed packages.



            On Windows, you may find that information in the registry for 32-bit and 64-bit at:




            • HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeJavaSoft

            • HKEY_LOCAL_MACHINESOFTWAREJavaSoft


            You may also find that information in Control Panel > Java (32-bit) or
            Control Panel > Java (64-bit):



            enter image description here






            share|improve this answer





















            • Thanks. I am using a mac. I wonder how to find the JDK and JRE there
              – KansaiRobot
              Dec 1 at 11:48










            • Thanks! (btw, I never downvote any answer, it is not in my character :)
              – KansaiRobot
              Dec 1 at 12:31










            • Thank you. The first part of my answer is still useful, and I'll keep the second part for Windows users.
              – harrymc
              Dec 1 at 12:32










            • @kansai I do hope if someone posts an incorrect answer you'll help the rest of us know that by down voting it. Voting, both up and down, is an important part of how we help each other identify useful answers. Thanks for contributing.
              – Twisty Impersonator
              Dec 1 at 13:09










            • @TwistyImpersonator: An incorrect answer for one poster may be the correct one for another. I don't hold with downvoting answers. If someone went to the effort of thinking of an answer and posting it, he shouldn't be penalized for his effort, but rather encouraged to continue.
              – harrymc
              Dec 1 at 18:06













            up vote
            1
            down vote










            up vote
            1
            down vote









            It seems to me that your questions are answered in the same Wikipedia article:




            Java 8 and Java 11 are the currently supported long-term support (LTS) version and Java 10 is the previous supported rapid release version. Java 10 support ended on the same date that support for Java 11 began, in September 2018. Java 7 is no longer publicly supported, Java 9 has stopped receiving updates. since Java 9 was a short-term rapid release version that has been superseded by Java 10, and "end of public updates" for Java 8 is scheduled for January 2019 for commercial use, and not earlier than December 2020 for non-commercial use. For Java 11, long-term support will not be provided by Oracle; instead, the broader OpenJDK community, as AdoptOpenJDK, is expected to perform the work.




            So versions 9 and 10 were short-lived. I guess that they were stop-gap measures
            that were rushed out in response to serious security bugs.



            Version 8 is the last version still supported by Oracle and divided into JDK
            and JRE. Version 11 seems to have dropped this division and to have only
            a unified JDK version based on OpenJDK, so it might not have the performance
            enhancements found in the paid version of Oracle's Java.



            For finding what versions you have on Linux, I suppose that you can query the
            installed packages.



            On Windows, you may find that information in the registry for 32-bit and 64-bit at:




            • HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeJavaSoft

            • HKEY_LOCAL_MACHINESOFTWAREJavaSoft


            You may also find that information in Control Panel > Java (32-bit) or
            Control Panel > Java (64-bit):



            enter image description here






            share|improve this answer












            It seems to me that your questions are answered in the same Wikipedia article:




            Java 8 and Java 11 are the currently supported long-term support (LTS) version and Java 10 is the previous supported rapid release version. Java 10 support ended on the same date that support for Java 11 began, in September 2018. Java 7 is no longer publicly supported, Java 9 has stopped receiving updates. since Java 9 was a short-term rapid release version that has been superseded by Java 10, and "end of public updates" for Java 8 is scheduled for January 2019 for commercial use, and not earlier than December 2020 for non-commercial use. For Java 11, long-term support will not be provided by Oracle; instead, the broader OpenJDK community, as AdoptOpenJDK, is expected to perform the work.




            So versions 9 and 10 were short-lived. I guess that they were stop-gap measures
            that were rushed out in response to serious security bugs.



            Version 8 is the last version still supported by Oracle and divided into JDK
            and JRE. Version 11 seems to have dropped this division and to have only
            a unified JDK version based on OpenJDK, so it might not have the performance
            enhancements found in the paid version of Oracle's Java.



            For finding what versions you have on Linux, I suppose that you can query the
            installed packages.



            On Windows, you may find that information in the registry for 32-bit and 64-bit at:




            • HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeJavaSoft

            • HKEY_LOCAL_MACHINESOFTWAREJavaSoft


            You may also find that information in Control Panel > Java (32-bit) or
            Control Panel > Java (64-bit):



            enter image description here







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Dec 1 at 10:06









            harrymc

            251k11259557




            251k11259557












            • Thanks. I am using a mac. I wonder how to find the JDK and JRE there
              – KansaiRobot
              Dec 1 at 11:48










            • Thanks! (btw, I never downvote any answer, it is not in my character :)
              – KansaiRobot
              Dec 1 at 12:31










            • Thank you. The first part of my answer is still useful, and I'll keep the second part for Windows users.
              – harrymc
              Dec 1 at 12:32










            • @kansai I do hope if someone posts an incorrect answer you'll help the rest of us know that by down voting it. Voting, both up and down, is an important part of how we help each other identify useful answers. Thanks for contributing.
              – Twisty Impersonator
              Dec 1 at 13:09










            • @TwistyImpersonator: An incorrect answer for one poster may be the correct one for another. I don't hold with downvoting answers. If someone went to the effort of thinking of an answer and posting it, he shouldn't be penalized for his effort, but rather encouraged to continue.
              – harrymc
              Dec 1 at 18:06


















            • Thanks. I am using a mac. I wonder how to find the JDK and JRE there
              – KansaiRobot
              Dec 1 at 11:48










            • Thanks! (btw, I never downvote any answer, it is not in my character :)
              – KansaiRobot
              Dec 1 at 12:31










            • Thank you. The first part of my answer is still useful, and I'll keep the second part for Windows users.
              – harrymc
              Dec 1 at 12:32










            • @kansai I do hope if someone posts an incorrect answer you'll help the rest of us know that by down voting it. Voting, both up and down, is an important part of how we help each other identify useful answers. Thanks for contributing.
              – Twisty Impersonator
              Dec 1 at 13:09










            • @TwistyImpersonator: An incorrect answer for one poster may be the correct one for another. I don't hold with downvoting answers. If someone went to the effort of thinking of an answer and posting it, he shouldn't be penalized for his effort, but rather encouraged to continue.
              – harrymc
              Dec 1 at 18:06
















            Thanks. I am using a mac. I wonder how to find the JDK and JRE there
            – KansaiRobot
            Dec 1 at 11:48




            Thanks. I am using a mac. I wonder how to find the JDK and JRE there
            – KansaiRobot
            Dec 1 at 11:48












            Thanks! (btw, I never downvote any answer, it is not in my character :)
            – KansaiRobot
            Dec 1 at 12:31




            Thanks! (btw, I never downvote any answer, it is not in my character :)
            – KansaiRobot
            Dec 1 at 12:31












            Thank you. The first part of my answer is still useful, and I'll keep the second part for Windows users.
            – harrymc
            Dec 1 at 12:32




            Thank you. The first part of my answer is still useful, and I'll keep the second part for Windows users.
            – harrymc
            Dec 1 at 12:32












            @kansai I do hope if someone posts an incorrect answer you'll help the rest of us know that by down voting it. Voting, both up and down, is an important part of how we help each other identify useful answers. Thanks for contributing.
            – Twisty Impersonator
            Dec 1 at 13:09




            @kansai I do hope if someone posts an incorrect answer you'll help the rest of us know that by down voting it. Voting, both up and down, is an important part of how we help each other identify useful answers. Thanks for contributing.
            – Twisty Impersonator
            Dec 1 at 13:09












            @TwistyImpersonator: An incorrect answer for one poster may be the correct one for another. I don't hold with downvoting answers. If someone went to the effort of thinking of an answer and posting it, he shouldn't be penalized for his effort, but rather encouraged to continue.
            – harrymc
            Dec 1 at 18:06




            @TwistyImpersonator: An incorrect answer for one poster may be the correct one for another. I don't hold with downvoting answers. If someone went to the effort of thinking of an answer and posting it, he shouldn't be penalized for his effort, but rather encouraged to continue.
            – harrymc
            Dec 1 at 18:06












            up vote
            0
            down vote













            You are confusing dome of the terms and you are on a Mac where Oracle has confused some of them as well.



            There are I think 4 different things.




            1. JVM(Java Virtual Machine ) this is in all releases of Java and is the which runs the Java compiled class files. It is not directly downloadable but is part of the other 3 items. java -version shows the version of this you are using.


            2. JDK(Java development kit) This is the installattion that you need if you are writing programs. It includes the compiler and other tools. For macOS with Oracle releases this is the only download that supplies an environment startable by /usr/bin/java


            3. JRE(Java Runtime Environment). In Windows, Linux and Apple releases of Java this supplies the minimum selection of files needed to jun a Java program from the command line. It does not seem to exist as part of an Oracle macOs release, However this is the Java(TM) SE Runtime Environment shown by Java version.


            4. JRE(Java Runtime Environment) on macOS. From Oracle this is the environment that runs Java applets in your browser. This is the JRE that you can only have one of on your mac. This is also the one that is seen and updated by the Java control panel in System Preferences.



            So on macOS from the command line you install the JDK which includes a JRE and that includes a JVM and you can have many versions of these. There is also a separate JRE(not the same as the command line) that runs applets in your browser and is in the Java control panel and you can have only one of these.



            As for version numbers etc As far as I understand after version 8 they have changes the version numbering. Wikipedia says




            In September 2017, Mark Reinhold, chief Architect of the Java Platform, proposed to change the release train to "one feature release every six months" rather than the current two-year schedule,[1][2] and later the proposal took effect.




            Thus 9,10 have been replaced by 11 and 12 is due in March 2019 - see https://en.wikipedia.org/wiki/Java_version_history for as to timings and en of support.



            To find the JVMs that you can use from the command line run /usr/libexec/java_home -V



            I get



            /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
            Matching Java Virtual Machines (6):
            11.0.1, x86_64: "OpenJDK 11.0.1" /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
            10.0.1, x86_64: "Java SE 10.0.1" /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
            9.0.1, x86_64: "Java SE 9.0.1" /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
            1.8.0_171, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
            1.8.0_92, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home
            1.8.0_77, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home


            To install and choose which JDK see https://stackoverflow.com/questions/52524112/how-do-i-install-java-11-on-mac-osx-allowing-version-switching






            share|improve this answer

























              up vote
              0
              down vote













              You are confusing dome of the terms and you are on a Mac where Oracle has confused some of them as well.



              There are I think 4 different things.




              1. JVM(Java Virtual Machine ) this is in all releases of Java and is the which runs the Java compiled class files. It is not directly downloadable but is part of the other 3 items. java -version shows the version of this you are using.


              2. JDK(Java development kit) This is the installattion that you need if you are writing programs. It includes the compiler and other tools. For macOS with Oracle releases this is the only download that supplies an environment startable by /usr/bin/java


              3. JRE(Java Runtime Environment). In Windows, Linux and Apple releases of Java this supplies the minimum selection of files needed to jun a Java program from the command line. It does not seem to exist as part of an Oracle macOs release, However this is the Java(TM) SE Runtime Environment shown by Java version.


              4. JRE(Java Runtime Environment) on macOS. From Oracle this is the environment that runs Java applets in your browser. This is the JRE that you can only have one of on your mac. This is also the one that is seen and updated by the Java control panel in System Preferences.



              So on macOS from the command line you install the JDK which includes a JRE and that includes a JVM and you can have many versions of these. There is also a separate JRE(not the same as the command line) that runs applets in your browser and is in the Java control panel and you can have only one of these.



              As for version numbers etc As far as I understand after version 8 they have changes the version numbering. Wikipedia says




              In September 2017, Mark Reinhold, chief Architect of the Java Platform, proposed to change the release train to "one feature release every six months" rather than the current two-year schedule,[1][2] and later the proposal took effect.




              Thus 9,10 have been replaced by 11 and 12 is due in March 2019 - see https://en.wikipedia.org/wiki/Java_version_history for as to timings and en of support.



              To find the JVMs that you can use from the command line run /usr/libexec/java_home -V



              I get



              /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
              Matching Java Virtual Machines (6):
              11.0.1, x86_64: "OpenJDK 11.0.1" /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
              10.0.1, x86_64: "Java SE 10.0.1" /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
              9.0.1, x86_64: "Java SE 9.0.1" /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
              1.8.0_171, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
              1.8.0_92, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home
              1.8.0_77, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home


              To install and choose which JDK see https://stackoverflow.com/questions/52524112/how-do-i-install-java-11-on-mac-osx-allowing-version-switching






              share|improve this answer























                up vote
                0
                down vote










                up vote
                0
                down vote









                You are confusing dome of the terms and you are on a Mac where Oracle has confused some of them as well.



                There are I think 4 different things.




                1. JVM(Java Virtual Machine ) this is in all releases of Java and is the which runs the Java compiled class files. It is not directly downloadable but is part of the other 3 items. java -version shows the version of this you are using.


                2. JDK(Java development kit) This is the installattion that you need if you are writing programs. It includes the compiler and other tools. For macOS with Oracle releases this is the only download that supplies an environment startable by /usr/bin/java


                3. JRE(Java Runtime Environment). In Windows, Linux and Apple releases of Java this supplies the minimum selection of files needed to jun a Java program from the command line. It does not seem to exist as part of an Oracle macOs release, However this is the Java(TM) SE Runtime Environment shown by Java version.


                4. JRE(Java Runtime Environment) on macOS. From Oracle this is the environment that runs Java applets in your browser. This is the JRE that you can only have one of on your mac. This is also the one that is seen and updated by the Java control panel in System Preferences.



                So on macOS from the command line you install the JDK which includes a JRE and that includes a JVM and you can have many versions of these. There is also a separate JRE(not the same as the command line) that runs applets in your browser and is in the Java control panel and you can have only one of these.



                As for version numbers etc As far as I understand after version 8 they have changes the version numbering. Wikipedia says




                In September 2017, Mark Reinhold, chief Architect of the Java Platform, proposed to change the release train to "one feature release every six months" rather than the current two-year schedule,[1][2] and later the proposal took effect.




                Thus 9,10 have been replaced by 11 and 12 is due in March 2019 - see https://en.wikipedia.org/wiki/Java_version_history for as to timings and en of support.



                To find the JVMs that you can use from the command line run /usr/libexec/java_home -V



                I get



                /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
                Matching Java Virtual Machines (6):
                11.0.1, x86_64: "OpenJDK 11.0.1" /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
                10.0.1, x86_64: "Java SE 10.0.1" /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
                9.0.1, x86_64: "Java SE 9.0.1" /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
                1.8.0_171, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
                1.8.0_92, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home
                1.8.0_77, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home


                To install and choose which JDK see https://stackoverflow.com/questions/52524112/how-do-i-install-java-11-on-mac-osx-allowing-version-switching






                share|improve this answer












                You are confusing dome of the terms and you are on a Mac where Oracle has confused some of them as well.



                There are I think 4 different things.




                1. JVM(Java Virtual Machine ) this is in all releases of Java and is the which runs the Java compiled class files. It is not directly downloadable but is part of the other 3 items. java -version shows the version of this you are using.


                2. JDK(Java development kit) This is the installattion that you need if you are writing programs. It includes the compiler and other tools. For macOS with Oracle releases this is the only download that supplies an environment startable by /usr/bin/java


                3. JRE(Java Runtime Environment). In Windows, Linux and Apple releases of Java this supplies the minimum selection of files needed to jun a Java program from the command line. It does not seem to exist as part of an Oracle macOs release, However this is the Java(TM) SE Runtime Environment shown by Java version.


                4. JRE(Java Runtime Environment) on macOS. From Oracle this is the environment that runs Java applets in your browser. This is the JRE that you can only have one of on your mac. This is also the one that is seen and updated by the Java control panel in System Preferences.



                So on macOS from the command line you install the JDK which includes a JRE and that includes a JVM and you can have many versions of these. There is also a separate JRE(not the same as the command line) that runs applets in your browser and is in the Java control panel and you can have only one of these.



                As for version numbers etc As far as I understand after version 8 they have changes the version numbering. Wikipedia says




                In September 2017, Mark Reinhold, chief Architect of the Java Platform, proposed to change the release train to "one feature release every six months" rather than the current two-year schedule,[1][2] and later the proposal took effect.




                Thus 9,10 have been replaced by 11 and 12 is due in March 2019 - see https://en.wikipedia.org/wiki/Java_version_history for as to timings and en of support.



                To find the JVMs that you can use from the command line run /usr/libexec/java_home -V



                I get



                /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
                Matching Java Virtual Machines (6):
                11.0.1, x86_64: "OpenJDK 11.0.1" /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
                10.0.1, x86_64: "Java SE 10.0.1" /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home
                9.0.1, x86_64: "Java SE 9.0.1" /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
                1.8.0_171, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
                1.8.0_92, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_92.jdk/Contents/Home
                1.8.0_77, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home


                To install and choose which JDK see https://stackoverflow.com/questions/52524112/how-do-i-install-java-11-on-mac-osx-allowing-version-switching







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Dec 1 at 11:49









                Mark

                4,9592229




                4,9592229






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Super User!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1379912%2fjava-versions-and-how-to-not-get-confused-with-them%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

                    Alcedinidae

                    RAC Tourist Trophy