В чем разница между пятью версиями Java на этой странице для Ubuntu?

9

Я хочу установить Java на свой компьютер, чтобы я мог разрабатывать программы, и я наткнулся на эту страницу о Java в документации сообщества Ubuntu . Это говорит:

Java - это технология от Oracle (ранее Sun Microsystems). Существует несколько реализаций, пять из которых будут обсуждаться здесь:

  • OpenJDK : Основной целью проекта OpenJDK является создание реализации Java SE Platform с открытым исходным кодом (6 и 7). Это версия Java по умолчанию, которую использует Ubuntu, и ее проще всего установить.
  • Oracle (Sun) Java 6 : Oracle (Sun) Java 6 является эталонной реализацией для Java 6.
  • Oracle Java 7 : Oracle Java 7 является эталонной реализацией для Java 7.
  • IBM Java : IBM Java является предпочтительным решением Java на компьютерах PowerPC. Это переопределение с помощью компилятора Just-In-Time. Он доступен только на веб-сайте IBM.
  • Компилятор GNU : компилятор Java, созданный GNU. Только разработчики должны установить это.

Я прочитал содержание, но все еще немного смущен. Это все разные версии JDK? Если нет, то что?

А какой бы вы предпочли?

Программирование нуб
источник

Ответы:

6

Это все разные версии JDK? Если нет, то что?

Это разные реализации Java / комплекты для разработки на Java (JDK). Java является стандартной платформой, и все они реализуют эту платформу по-своему. Из этих:

  • OpenJDK и GNU Compiler - единственные программы с открытым исходным кодом. Я обычно предпочитаю их - простота установки ( apt-getили Software Center) является важным фактором.
    • В частности, OpenJDK получен в основном из «официального» исходного кода Java, который открыт Oracle / Sun; он поддерживается Oracle.
  • Oracle Java 6 и 7 - это «Java», если хотите, от компании, которая изобрела Java (это была Sun, но Oracle купила их некоторое время назад). Вот почему они называются ссылочными реализациями. Вы можете использовать их, если вы используете Oracle JDK и на другой платформе, или если OpenJDK создает вам проблемы.
    • 6 и 7 относятся к версиям языка / платформы. 7 новее и имеет больше возможностей, но меньше тестировалось; 6 чрезвычайно зрелый и стабильный. Я бы предпочел 6, если вы только начинаете.
  • В отличие от вики, IBM делает JDK / JRE для всех платформ, хотя они могут быть единственными для PowerPC.

Если вы только начинаете программировать, вам подойдет практически любой из них. Перейти на OpenJDK только потому, что его легко установить.

Единственный опыт, с которым я столкнулся, это компиляция в среде с ограниченными ресурсами (128-192 МБ ОЗУ - VPS); Я обнаружил, что Oracle Java 6 JDK лучше всего работает для одной программы (т.е. успешно), а IBM Java 6 JDK - для другой ...

иш
источник
1
Просто быстрое исправление - для Java 7 эталонной реализацией является OpenJDK, а не Oracle JDK. И да, у IBM есть реализации для всех основных платформ, за исключением Solraris Oracle (Sun's).
Интелект
2

Язык Java и среда выполнения - это спецификация. Все эти пакеты являются разными реализациями одной и той же спецификации.

И читайте больше здесь: /programming/1977238/why-should-i-use-the-oracle-jdk-over-the-openjdk-or-vice-versa

Обычно вам просто нужно использовать openJDK, так как он работает так же хорошо, как Oracles JDK, но с открытым исходным кодом, поэтому у вас нет проблем с лицензиями. Больше информации на http://openjdk.java.net/

Janning
источник
1

Это объясняет, что каждый из них находится на странице, но, по сути, все они - Java-версия Orcale, разработанная разными группами.

  • OpenJDK - это разработка Java-версии Oracles с открытым исходным кодом.
  • Java 6 и 7 - просто версии стандартной версии Java для Oracle. & является самой современной и выпущенной в прошлом году в июне или июле, я думаю.
  • Версия IBM в основном использовалась для PowerPC, поскольку ее состояния, вероятно, не будут иметь большого значения для вас, если у вас нет процессора PowerPC.
  • Компилятор GNU предназначен для разработчиков, которые пишут код на Java. Это просто компилятор для Java. Если вы не знаете, что это такое, то, вероятно, вам это не нужно, если вы не хотите изучать Java-разработку.

Я использую OpenJDK, потому что он лучше работает с Minecraft. Нет другой причины, ха.

Билл

LinuxBill
источник
1

Насколько я знаю, openJDK почти такой же, как Sun JDK, главное отличие в том, что он с открытым исходным кодом. Вы не можете использовать IBM JDK, если вы являетесь пользователем ПК, так как он ограничен в PowerPC. Gcj не считается хороший выбор для меня, так как он кажется еще незрелым.

Хунсю Чен
источник
0

Это, вероятно, разозлит многих людей, пользующихся FLOSS, но вот мой короткий ответ.

Oracle приобрела Sun, Oracle (Sun) Java 6 - это просто старая версия Oracle Java 7. Как говорится, если у вас нет веских причин не использовать версию Oracle. Все остальное - попытка повторить то, что сделал Oracle, и ни один из них не так хорош.

Что касается качества. GNU Java - худшая попытка JVM, которую я когда-либо видел ... если вам не нравятся частые сбои ... не используйте его. IBM Java - честно, никогда не использовал его, поэтому нет мнения OpenJDK - если вы собираетесь использовать реализацию JVM с открытым исходным кодом, я бы использовал OpenJDK и версию 7.x.

csgeek
источник
0

У меня было меньше проблем с Oracle / Sun Java, чем с любой другой версией. OpenJDK работает большую часть времени. Я никогда не заставлял GNU Java работать. IBM Java кажется хорошей, но у меня нет большого опыта с этим.

WebUpd8te имеет PPA, который облегчает установку через apt-get. Если у вас нет причин использовать другую версию, например, лицензирование, я бы выбрал Oracle Java.

JimBeam823
источник