С архитектурой, независимой, книга означает, что байт-код не зависит от базовой платформы, на которой работает программа. Например, не имеет значения, является ли ваша операционная система 32-битной или 64-битной, байт-код Java точно такой же. Вам не нужно перекомпилировать исходный код Java для 32-битной или 64-битной версии. (Таким образом, «архитектура» относится к архитектуре процессора).
«Переносимый» означает, что программа, написанная для запуска в одной операционной системе, работает в другой операционной системе без каких-либо изменений. С Java вам даже не нужно перекомпилировать исходный код; файл * .class, скомпилированный в Windows, например, работает в Linux, Mac OS X или любой другой ОС, для которой у вас есть доступная виртуальная машина Java.
Обратите внимание, что вы должны позаботиться о некоторых вещах, чтобы сделать ваш Java-код действительно переносимым. Например, если вы жестко закодировали пути к файлам в стиле Windows (C: \ Users \ Myself ...) в своем приложении Java, оно не будет работать в других операционных системах.