logo

Да ли је Јава интерпретирана или компајлирана

Програмски језик Јава је раних 1990-их развио Сун Мицросистем. Јава је објектно оријентисан, једноставан, ефикасан, робустан и програмски језик опште намене. Првенствено се користи за пословне апликације засноване на вебу. Првобитно је дизајниран за уграђене мрежне апликације које раде на различитим платформама.

Када почнемо да учимо Јава програмирање , поставља се једно питање: да ли се Јава интерпретира или компајлира, или обоје. Такође, ово питање може поставити саговорник у вашим интервјуима везаним за Јава. Дакле, одговор на ово питање је Јава се и тумачи и компајлира . Међутим, није јасно да ли је Јава компајлирана или интерпретирана. Нити генерише машински код након компајлирања изворне датотеке, нити тумачи изворну датотеку да изврши инструкције кода ред по ред. Да бисмо одговорили на ово питање, морамо разумети како је Јава језик независан од платформе? Што значи да можемо писати Јава код на платформи и можемо да радимо на другим платформама као што је хардверска оперативна машина, без икаквих промена. Дакле, разумевање како Јава постиже независност од платформе пружиће потпун одговор на ово питање.

Јава је потпуно преносива; исти Јава код ће радити идентично на различитим платформама, без обзира на хардверску компатибилност или оперативне системе.

Јава изворни код се прво компајлира у бинарни бајт код помоћу Јава компајлера, а затим се овај бајт код покреће на ЈВМ (Јава виртуелној машини), која је софтверски тумач. Дакле, Јава се сматра и интерпретираном и компајлираном.

Преведени бајт код дозвољава ЈВМ да буду мали и ефикасни и брзи. Такође, овај бајт код обезбеђује преносивост на програмски језик Јава. Омогућава извршавање овог кода на било ком ЈВМ-у који је правилно имплементиран на машини, без обзира на хардверске и софтверске компоненте и конфигурације машине. Скоро сви веб претраживачи садрже ЈВМ за извршавање кода Јава аплета.

Хајде да то разумемо помоћу једноставног Јава програма:

Једноставан Јава програм и ради

Направите једноставну .јава датотеку користећи свој омиљени уређивач текста:

Да ли је Јава интерпретирана или компајлирана

Ставите доњи код у њега:

 class Basic{ public static void main(String args[]){ System.out.println('Hello JavaTpoint'); } } 

И сачувајте датотеку.

Сада проверите наш директоријум где смо сачували .јава датотеку.

Да ли је Јава интерпретирана или компајлирана

Можемо извршити Јава апликацију пратећи два корака.

  1. Компилирајте Јава програм
  2. Извршите апликацију

Саставите Јава апликацију:

Да бисте компајлирали Јава програм, извршите следећу команду:

 javac Basic.java 

Горња команда ће компајлирати Јава програм и креирати .цласс датотеку Јава програма која садржи бајт код Јава апликације.

Да ли је Јава интерпретирана или компајлирана

Из горњег излаза можемо видети да се након компајлирања Јава програма креира датотека .цласс. Ова датотека садржи бајт код Јава програма. Можемо извршити овај бајт код на било којој од машина које имплементирају ЈВМ.

Извршите апликацију:

Да бисте извршили ову апликацију, извршите доњу команду:

 java Basic 

Горња команда ће извршити бајт код и извршити функционалност програма:

Да ли је Јава интерпретирана или компајлирана

Из горњег излаза, одштампали смо једноставну изјаву.

Корак по корак извршавање Јава програма:

Да ли је Јава интерпретирана или компајлирана
  1. Напишите Јава код и сачувајте датотеку са .јава
  2. Сада ће ова датотека бити преведена помоћу Јава компајлера, а то је јавац.
  3. Јава компајлер ће компајлирати Јава датотеку и креирати датотеку .цласс са бајт кодом (који заправо није машински код, за разлику од Ц компајлера)
  4. Овај генерисани бајт код је неизвршиви код и сада му је потребан тумач да га конвертује у машински код. Овде ЈВМ то решава.
  5. Сада ће ЈВМ извршити овај бајт код да би извршио Јава бајт код на машини.
  6. Сада ће наш програм извршити функционалност и дати жељени резултат.

Закључак:

Јава се сматра и интерпретираном и компајлираном. Користи Јава компајлер (јавац) и ЈВМ (који је заправо софтверски заснован интерпретер) да у потпуности изврши Јава апликацију на машини.