Динамичная компиляция
Хотя во всех случаях исходный текст программы, чтобы ее можно было выполнить, должен быть преобразован в последовательность машинных команд, однако нет необходимости выполнять это преобразование заранее. Язык Java получил известность, в частности, использованным в нем подходом, носящим название интерпретации. Исходный текст программы на языке Java преобразуется компилятором в формат, называемый байт-кодом Java. Когда вы сохраняете откомпилированный исходный текст Java-программы, вы сохраняете как раз файл с байт-кодом. Этот файл не содержит битовых последовательностей для Intel-компьютера или компьютера любого другого рода. Файл с байт-кодом содержит команды для воображаемого компьютера, называемого виртуальной Java-машиной, а также дополнительную информацию, используемую при отладке программ и при объединении нескольких файлов с байт-кодами с целью образования более сложных программных единиц.
Когда Java-программа запускается на выполнение, программа, называемая виртуальной Java-машиной, эмулирует воображаемый компьютер, читая и анализируя файлы с байт-кодами. Эмуляция заключается в извлечении комбинации битов для очередной команды воображаемого компьютера, определения того, какое действие должен выполнить воображаемый компьютер и затем выполнении этого действия. Ячейки памяти в воображаемом компьютере представляются переменными в программе виртуальной Java-машины.
Этот подход, интерпретация, обладает серьезными достоинствами. В то время как команды процессора Intel действуют только на Intel-компьютерах (и даже, возможно, лишь на определенных моделях таких компьютеров), команды байт-кодов могут исполняться на любом компьютере, для которого имеется программа виртуальной Java-машины. Главная причина широкого распространения языка Java заключается в том, что файлы байт-кодов Java можно пересылать вместе с Web-страницами (в виде апплетов Java) и исполнять их на любых компьютерах: PC, Macintosh, рабочих станциях Sun и т. д. К тому же файлы байт-кодов обладают более высокой надежностью, так как команды выполнения нежелательных действий, например, стирания важных файлов, не могут быть скрыты в такой программе. Виртуальная Java-машина перед тем, как приступить к интерпретации и выполнению любых файлов байт-кодов, проверяет их на нарушение защиты.
Хорошие книги бесплатно скачать в формате doc прекрасно подойдут для чтения на Электронных книгах.
