64-битные Java-приложения: требуется ли 64-битная ОС, 64-битная JRE и 64-битная прикладная программа? - PullRequest
9 голосов
/ 30 октября 2009

Этот вопрос касается 64-битных приложений Java в целом, хотя я столкнулся с ним из-за работы с Netbeans / Eclipse. Я использую 64-битный процессор с 64-битной ОС (Windows 7). Я хотел запустить Netbeans / Eclipse с более чем 4 ГБ динамической памяти (т. Е. Используя флаг Xmx), но у меня возникла путаница. Похоже, что не существует 64-разрядной версии NetBeans, и хотя есть 64-разрядные версии Eclipse для других ОС, для Windows их нет. Кроме того, я не могу найти 64-битную версию последней JRE / JDK (я читал сайты, на которых упоминается их существование, поэтому я не уверен, что Sun временно их отключила).

Теперь, когда я объяснил свою ситуацию, у меня следующие вопросы:

  1. Какое программное обеспечение мне нужно для запуска Netbeans / Eclipse / (случайное Java-приложение) с более чем 4 ГБ динамической памяти? Достаточно ли иметь 64-битную ОС? Мне также нужен 64-битный JRE?
  2. Я думал, что исходный код Java и байт-код Java не зависят от архитектуры, поскольку в Java-программе, скомпилированной с 32-разрядным или 64-разрядным JDK, можно работать на другом компьютере с 32-разрядным или 64-разрядным JRE. Если это правда, почему Eclipse имеет 32-разрядную и 64-разрядную версии (я понимаю, что у них нет такой версии для Windows, но есть для Linux)? Означает ли это, что в Eclipse, скорее всего, есть нативные библиотеки, для которых 32-битные и 64-битные значения имеют значение?

Заранее спасибо,
red.october

Обновление 1:
Хорошо, оказывается, что существует 64-битная версия Eclipse для Windows, но по какой-то причине она глубоко скрыта (по крайней мере, я не видел, где она была связана с главной страницей). Немного покопавшись, я нашел сообщение в блоге , в котором говорится, что вы можете получить 64-битную версию Eclipse для Windows по адресу Eclipse Downloads . Эта ссылка указывает на страницу со ссылками на множество различных версий выпуска - я только что выбрал самый последний стабильный выпуск (3.5.1 на момент публикации). На этой второй странице перечислены различные загрузки для Eclipse 3.5.1, и для каждой загрузки вы можете выбирать из широкого спектра архитектур (32-разрядных и 64-разрядных) и ОС (например, Windows, Linux). Я лично выбрал загрузку Eclipse SDK - она ​​поставляется с «Платформой Eclipse, инструментами разработки Java и средой разработки плагинов, включая исходную и пользовательскую и программистскую документацию». Я не уверен, что мне нужен источник или документация, но я думаю, что всегда могу удалить его позже.

Ответы [ 3 ]

9 голосов
/ 30 октября 2009

Да, вам понадобится 64-битная JVM, чтобы использовать всю вашу память. Я не в курсе того, что вы можете получить для Windows, поэтому я позволю другому человеку ответить на этот вопрос.

Тем не менее, я думаю, что основная причина, по которой вы не можете найти 64-битные NetBeans, заключается в том, что они на 100% независимы от Java и архитектуры. Eclipse предоставляет альтернативную среду графического интерфейса с более естественным внешним видом (SWT) и использует ее для среды разработки. После того, как вы свяжетесь со своим приложением java с собственными библиотеками, вам нужно будет распределить библиотеки для правильной архитектуры, отсюда и архитектурная зависимость распределения eclipse (ваш второй элемент).

2 голосов
/ 30 октября 2009

Вы можете запустить 64-битный JDK или JRE в Windows 7, сейчас я их запускаю.

Java SE Development Kit 6u16

Java SE Runtime Environment 6u16

Выберите, какую ОС из выпадающего списка вы можете выбрать для Windows 32 или 64 бит.

1 голос
/ 30 октября 2009

64-битного Java-приложения не существует. Java скомпилированные классы находятся в байт-коде Java, точка. Выполнение программ на 64-битной JVM (для которой, в свою очередь, требуется 64-битная ОС) дает им доступ к большему объему памяти, но различие невидимо для программы, поскольку весь доступ к манипулированию памятью скрыт и все типы данных одинаковы.

См. Также этот вопрос

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...