Що таке віртуальна машина java та яка вона стосується Java?


1

Я намагався встановити затемнення на моєму Macbook Air. Коли я запускаю інсталятор, я отримую це повідомлення

введіть тут опис зображення

Здається, немає офіційної сторінки, присвяченої JVM, як інші програми. Коли я шукав "встановити jvm", я перейшов на сторінку " завантажити java ".

Я все-таки встановив останню версію Java з цієї сторінки, але повідомлення все ще є, що робить мене більше заплутаним.

Питання:

  1. Якщо JVM призначений для включення Java "де завгодно", чи не повинен він бути встановлений після встановлення останньої Java?

  2. Коли я шукаю в Google, існує багато сторінок, жодна з них не схожа на справжню сторінку, я навіть шукаю jvmна java.com, але нічого корисного не виходить.

    Чому так важко знайти такий популярний інструмент і куди саме мені слід звернутися, щоб завантажити JVM?


Це Java .... Що показали ваші дослідження
Ramhound

1
@ranhound Це не так очевидно для тих, хто не є експертом у галузі технології Java. Крім того, виправлення помилки ще менш очевидно. Мені довелося шукати інструкції для OSX (на щастя, вони були на переповнюванні стека )
DavidPostill

Відповіді:


5

Що таке СВМ?

Віртуальна машина Java (JVM) - інтерпретатор, який виконує байт-код Java.

Під час компіляції програми Java вихідним є байт-код Java, який може бути виконаний будь-яким комп'ютером, що має вбудований JVM.

У мові програмування Java весь вихідний код спочатку записується у текстові файли звичайного тексту, які закінчуються розширенням .java.

Ці вихідні файли потім компілюються у .class-файли компілятором javac.

Файл .class не містить коду, який є власним для вашого процесора; замість цього він містить байт-коди - машинну мову віртуальної машини Java (JVM).

Потім інструмент запуску Java запускає вашу програму з екземпляром віртуальної машини Java.

введіть тут опис зображення

Оскільки Java VM доступний у багатьох операційних системах, одні і ті ж файли .class можуть працювати в Microsoft Windows, операційній системі Solaris ™ (Solaris OS), Linux або Mac OS.

Деякі віртуальні машини, такі як Java SE HotSpot з першого погляду, виконують додаткові кроки під час виконання, щоб підвищити продуктивність програми. Сюди входять різні завдання, такі як пошук вузьких місць продуктивності та перекомпіляція (до рідного коду) часто використовуваних розділів коду.

введіть тут опис зображення

Джерело Про технологію Java


Отже, як завантажити JVM?

Середовище виконання Java (JRE) включає JVM.

  • Якщо ви просто запускаєте програми Java, JRE достатній.

Комплект Java Development Kit - це набір JRE (тому він також включає JVM). Він також містить інші інструменти, необхідні для розробки програм Java, наприклад компілятор.

  • Якщо ви розробляєте програми Java, вам слід завантажити JDK.

Ви можете завантажити як JRE, так і JDK за адресою http://www.oracle.com/technetwork/java/javase/downloads/index.html


То чому я отримую повідомлення про помилку?

Версія JVM, яку ви вже встановили, занадто стара для версії Eclipse, яку ви намагаєтесь встановити.

Для того, щоб отримати більш нову версію, вам потрібно встановити або новіший JRE, або новіший JDK, який включає в себе JVM.


Я все-таки встановив останню версію Java з цієї сторінки, але повідомлення все ще є

Потенційним рішенням вашої проблеми може бути видалення Java6 (надається самим Apple) і встановлення Java7 лише у вашій системі. Це застосовується лише в тому випадку, якщо у вас немає програм, які відчайдушно потребують встановлення старої версії Java6.

Щоб видалити Apple-подібну установку Java6, відкрийте термінал і:

sudo rm -rf /System/Library/Java/JavaVirtualMachines/1.6.0.jdk

Після цього кроку у вашій системі має бути встановлений лише Java7 від Oracle. Щоб перевірити, відкрийте інший термінал і виконайте:

java -version 

Він повинен відображати щось на кшталт "java версія" 1.7.0_XX ", де XX є поточною версією оновлення установки Java 7. Якщо ні: перейдіть до наступного кроку.

Перевизначте JAVA_HOMEзмінну (для підтримки IDE, таких як Eclipse та інших інструментів для розробників ...), що допомагає визначити, де у вашій системі знаходиться "активна" установка Java. Відкрийте термінал і ( Примітка : спочатку замініть XX!):

sudo rm /Library/Java/Home

sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_XX.jdk/Contents/Home /Library/Java/Home

Після цього нова установка Eclipse повинна виявити Java7 у вашій системі та працювати з цією версією поза коробкою. Ви можете змінити встановлений Eclipse, щоб використовувати цю інсталяцію, перейшовши в Eclipse:

Preferences-> Java-> Installed JREs.

Потім видаліть старий запис системи Java6 І додайте новий шлях (див. Вище) з назвою Java7.

Джерело відповідь я встановив Java 7 , але Eclipse , продовжують говорити , що 1,6 не підходить для даного продукту по MWiesner


Я спробував ці команди, але вони не спрацювали. Після запуску команди, яка повинна видалити java 1.6, я запустив java -version, і вона все ще показала java 1.6. Нарешті, я встановлюю останній jdk зі сторінки oracle, а версія стала 1.8. Запуск затемнення зараз.
shenkwen

1

є цей JDK, який є JVM плюс інші речі для розвитку Java http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html Це повідомлення у вас є скріншотом, що говорить про те, що у вас вже є JVM 1.6, але потрібно 1,7 або більше. Але вам не потрібен JDK, він досить великий.

Це посилання, що говорить про безкоштовне завантаження Java, включає JVM
https://java.com/en/download/ Google google говорить, що JRE включає JVM плюс деякі класи Інший варіант - JDK, який включає JVM плюс деякі інструменти для розробників. Вам потрібен лише JRE, якщо ви не розробник, ніж ви можете просто отримати JDK. У будь-якому випадку ви отримаєте СВМ.

Спробуйте перейти до будь-якої частини Mac, що включає перелік програм, і подивіться, чи можна видалити версію 1.6. Здається, програма, яка видає це повідомлення, бачить лише java 1.6, а не останню версію. Ви можете перевірити свій шлях echo $PATHі спробувати дізнатися, яка версія Java на вашому шляху.

ця команда працює у Windows з gnuwin32

C:\Users\harvey>java -showversion 2>&1 | head -n 1
java version "1.8.0_11"

Я думаю, що це працює і на Linux або Mac

$ java -showversion 2>&1 | head -n 1
java version "1.8.0_11"

або просто java-покажіть перехід і подивіться перший рядок виводу, і ви побачите версію.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.