Все программы, написанные на языке программирования Java, не могут работать без дополнительной программы, которая по английски называется Java Runtime Environment (JRE), а по русски ее можно называть виртуальной машиной языка программирования Java или просто интерпретатором. Про Java технологию написано очень много статей и учебников, она была в большой моде конце 90-х и в начале 21 века. Идея состояла в том, чтобы создать такую программу, которая бы и быстро работала, и не зависела бы от конкретной операционной системы (ОС). То есть работала без всяких изменений на любой системе. Был выбран вариант интерпретируемого языка, но с дополнительными усложнениями.
Первое усложнение состоит в том, что интерпретируемый язык Java все таки компилируется. Стандартные интерпретируемые языки пишутся текстом с использованием символов разных языков и текстового редактора. Интерпретатор "читает" текст и выполняет команды. Java программа тоже пишется в текстовом редакторе. Но есть компилятор, который проверяет этот текст на правильность и переписывает его в свой, так называемый байт-код. Это просто другая запись той же информации, но в более компактном и не читабельном виде. Однако в таком виде, что текст читается в любой ОС. И дополнительно все файлы собираются в zip архив, чтобы программа имела компактный вид одного файла, как это делается в компилируемых языках.
И интерпретатор выполняет вот этот самый байт-код, в котором уже нет грамматических ошибок и который точно будет работать. Он сам не зависит от ОС, а вот интерпретаторы зависят. Но их пишут профессионалы и он нужен один для всех программ. Я люблю его считать дополнением к ОС. Фактически в системе Юникс, которая разрабатывалась той же самой фирмой Sun Microsystems, что и Java интерпретатор, то есть JRE, так оно и было. Но создатели Виндовс и Эппл не захотели вставлять чужой продукт в свою систему. По этой причине фирме пришлось написать интерпретаторы для этих систем и их надо устанавливать дополнительно. Все было даже сложнее. Команда Билла Гейтса даже решила сделать свою технологию, похожую на Java, и сделала. Но о ней я говорить не буду.
Более того, он не просто интерпретирует байт-код команду за командой, а пытается компилировать куски байт-кода в код компьютера и только потом его выполнять. Это позволяет ускорить расчет больших циклов. Более того, откомпилированные куски хранятся в памяти и используются по мере надобности. Все это делает программы на языке Java такими же быстрыми, как и нормально компилируемых языках. Некоторые задержки в выполнении происходят только в самом начале. По этой причине программы выгодно писать в таком виде, чтобы они долго работали и много делали.
Для ОС Виндовс установочный файл для JRE можно получить на сайте фирмы Oracle, которая купила все разработки по Java у Sun Microsystems. Вот прямая ссылка [1] на русском языке на на страницу дя скачивания JRE. Для использования программы vkACL нужно скачивать 64-разрядную версию и иметь 64-разрядную ОС. Если нет возможности, то можно скачать и 32-разрядную версию и написать автору vkACL (то есть мне) письмо с просьбой прислать версию программы для такой JRE. Там просто будет числовой массив меньшего размера.
На момент написания этой статьи Оффлайн 64-битная JRE имел версию 8u271 и установочный exe файл имел размер 79.5 Мб. Далее его надо запустить и делать все, что попросит программа.Лучше со всем соглашаться, тогда все будет быстро. В последнее время Oracle изменил лицензию и теперь программа для личного использования бесплатная, а для коммерции надо покупать разрешение. Но мы коммерцией не занимаемся, так что для нас все осталось по-прежнему.
Но, вообще говоря, последняя версия JRE не всегда требуется. На компьютер ее лучше поставить, а вот если вам надо поставить программу на внешний носитель (флешку или винчестер), то для экономии места можно использовать и более старую версию меньшего размера. Дело в том, что программы от версии к версии все время растут в размере. А сам язык еще ни разу не менялся, и программы, написанные 20 лет назад, все равно работают. Фокус в том, что JRE никак не вписывается в ОС на конкретном компьютере. Она просто прописывает путь, где ее надо искать и все. Это позволяет запускать программы простым кликом.
Но сама установочная программа -- это просто архив. Любую версию уже установленной программы JRE можно скопировать на внешний носитель и она будет работать на любом компьютере с единственным ограничением, что ее нельзя будет запускать простым кликом, а надо написать командный файл, в котором прописать путь, где искать JRE и запустить программу java.exe с указанием того jar файла на командной строке, который надо выполнить. Как это выглядит практически. Например, на моем компьютере сохранилась версия JRE 8u091 в папке C:\_vk\Java\jre1.8.0_91\ и я хочу запустить программу vkACL.jar именно с этой версией JRE. Тогда надо в текстовом редакторе зaписать вот такой текст
set path=c:\_vk\Java\jre1.8.0_91\bin;%path%
java -jar vkACL.jar
pause
и спасти этот текст в файл с названием run-vkACL.bat в ту же папку, где находится файл vkACL.jar. Затем можно кликать этот bat-файл и программа запустится. Точно также будет все работать, если указанную папку скопировать на внешний носитель и переписать путь к этой папке. С внешним носителем сложность в том, что заранее не известно какую букву ему присвоит ОС. Но это легко посмотреть на месте и отредактировать bat-файл. Другой вопрос -- где взять старые версии JRE. Есть много вариантов решения. Универсальное решение -- просто спросить в поисковике.
Я устанавливал самые разные версии JRE и ни одной не уничтожил, то есть они все у меня есть. Я сам сейчас пользуюсь 6-й версией язык Java. Но ничего, из нее не использую, а вот з 5-й версии использую. Сам я до сих пор использую версию 8u171 (64), хотя версию 8u271 (64) только что скачал и могу поставить. По ссылке [2] можно скачать JRE 8u91 (64). Это zip архив, в котором записана папка. Ее надо скопировать в любое место и все. И этого вполне хватит для работы на любом внешнем носителе.
Есть у меня и более старые 32-битные версии 6u4, 7u9. Но на них та программа vkACL, какая сейчас дается для скачивания, работать не будет, нужно уменьшить размер числового массива и это разумно делать только если у вас очень старый компьютер и старая ОС. По этой причине я ссылок не даю. Если вам это надо, пишите мне и я вам вышлю версию vkACL с меньшим массивом и дам ссылку на скачивание старой JRE.
[1] https://www.java.com/ru/download/manual.jsp
[2] Скачать JRE 8u91 (64), файл размером 62.4 Мб