Примарни циљ од Јава програмирање стварање језика је требало да га учини преносивим, једноставним и сигурним програмским језиком. Осим овога, постоје и неке одличне карактеристике које играју важну улогу у популарности овог језика. Карактеристике Јаве су такође познате као Јава буззвордс.
Списак најважнијих карактеристика Јава језика је дат у наставку.
- Симпле
- Објектно оријентисан
- Преносив
- Независно од платформе
- Осигурано
- Робустан
- Архитектура неутрална
- Интерпретед
- Високих перформанси
- Мултитхреадед
- Дистрибутед
- Динамиц
Симпле
Јава је веома лака за учење, а њена синтакса је једноставна, чиста и лака за разумевање. Према Сун Мицросистем-у, језик Јава је једноставан програмски језик јер:
- Јава синтакса је заснована на Ц++ (тако да је програмерима лакше да је науче после Ц++).
- Јава је уклонила многе компликоване и ретко коришћене функције, на пример, експлицитне показиваче, преоптерећење оператора итд.
- Нема потребе за уклањањем нереференцираних објеката јер у Јави постоји аутоматско сакупљање смећа.
Објектно оријентисан
Јава је ан објектно оријентисан програмски језик. Све у Јави је објекат. Објектно оријентисан значи да организујемо наш софтвер као комбинацију различитих типова објеката који укључују и податке и понашање.
Објектно оријентисано програмирање (ООП) је методологија која поједностављује развој и одржавање софтвера тако што даје нека правила.
Основни концепти ООП-а су:
Независна од платформе
Јава је независна од платформе јер се разликује од других језика као нпр Ц , Ц++ , итд. који се компајлирају у машине специфичне за платформу док је Јава језик за једнократно писање, покретање било где. Платформа је хардверско или софтверско окружење у којем се програм покреће.
Постоје две врсте платформи заснованих на софтверу и хардверу. Јава пружа платформу засновану на софтверу.
Јава платформа се разликује од већине других платформи у смислу да је платформа заснована на софтверу која ради на врху других платформи заснованих на хардверу. Има две компоненте:
- Рунтиме Енвиронмент
- АПИ (програмски интерфејс апликације)
Јава код се може извршити на више платформи, на пример, Виндовс, Линук, Сун Соларис, Мац/ОС, итд. Јава код компајлира компајлер и конвертује га у бајт код. Овај бајт код је платформски независан код јер се може покренути на више платформи, тј. Напиши једном и покрени било где (ВОРА).
Осигурано
Јава је најпознатија по својој безбедности. Са Јавом можемо развити системе без вируса. Јава је обезбеђена јер:
Јава језик подразумевано обезбеђује ове хартије од вредности. Одређену сигурност такође може да обезбеди програмер апликације експлицитно преко ССЛ-а, ЈААС-а, криптографије итд.
Робустан
Енглеско рударење Робуста је јако. Јава је робусна јер:
- Користи снажно управљање меморијом.
- Недостају показивачи који избегавају безбедносне проблеме.
- Јава обезбеђује аутоматско сакупљање смећа које се покреће на Јава виртуелној машини да би се ослободили објеката које више не користи Јава апликација.
- У Јави постоји руковање изузецима и механизам за проверу типа. Све ове тачке чине Јаву робусном.
Архитектура-неутрално
Јава је архитектура неутрална јер не постоје карактеристике које зависе од имплементације, на пример, величина примитивних типова је фиксна.
У Ц програмирању, инт тип података заузима 2 бајта меморије за 32-битну архитектуру и 4 бајта меморије за 64-битну архитектуру. Међутим, он заузима 4 бајта меморије и за 32-битну и за 64-битну архитектуру у Јави.
Преносив
Јава је преносива јер вам омогућава да пренесете Јава бајткод на било коју платформу. Не захтева никакву имплементацију.
Високих перформанси
Јава је бржа од других традиционалних интерпретираних програмских језика јер је Јава бајт код 'близак' изворном коду. Још увек је мало спорији од компајлираног језика (нпр. Ц++). Јава је интерпретирани језик и зато је спорији од компајлираних језика, на пример, Ц, Ц++, итд.
Дистрибутед
Јава се дистрибуира зато што корисницима олакшава креирање дистрибуираних апликација у Јави. РМИ и ЕЈБ се користе за креирање дистрибуираних апликација. Ова карактеристика Јаве нам омогућава да приступамо датотекама позивањем метода са било које машине на интернету.
Мулти-тхреадед
Нит је као посебан програм, који се извршава истовремено. Можемо писати Јава програме који се баве многим задацима одједном дефинисањем више нити. Главна предност мулти-тхреадинг-а је у томе што не заузима меморију за сваку нит. Дели заједничко меморијско подручје. Нити су важне за мултимедију, веб апликације итд.
Динамиц
Јава је динамичан језик. Подржава динамичко учитавање класа. То значи да се класе учитавају на захтев. Такође подржава функције из својих матерњих језика, тј. Ц и Ц++.
Јава подржава динамичку компилацију и аутоматско управљање меморијом (прикупљање смећа).