Java
Java - Sun Microsystems (соңрак Oracle тарафыннан сатып алына) компаниясендә эшләп чыгалыган, объектка юнәлгән программалау теле. Java телендә язылган программалар гадәттә махсус байт-кодка әйләндереләләр, шунлыктан, санак артхитектурасына бәсез рәвештә, теләсә кайтсы виртуаль Java-машинада башкарыла алалар. Рәсми дөнья күрү көне - 23 май 1995 ел.
Исеме
Башта телгә Oak ("Имән") исеме бирелгән була. Аны Джеймс Гослинг көнкүреш электрон җайланмаларын программалау өчен ясый. Нәтиҗәдә телнең исемен Javaга алыштыралар һәм клиент һәм сервер программалыры ясау өчен куллана башлыйлар. Java исеме каһвә маркасы хөрмәтенә бирелә, ә каһвә исә, үз чиратында, Һинд океанындагы утрау исемен йөртә. Шунлыктан теленең эмблемасы - парланып торган каһвә. Башта программалау максаты булган көнкүреш техникасы үрнәге буларак каһвә-машина аллюзиясенә бәйле, исем килеп чыгышының башка юрамалры да бар.
Төп үзенчәлекләре
Java телендә язылган программалар виртуаль Java-машина (JVM) башкара торган байт-кодка "тәрҗемә" ителәләр. Java-машина - интерпретатор кебе, байт-кодны эшкәртеп, инструкцияләрне санакка тапшыра.
Программадарның мондый юл белән эшләве байт-кодның санак архитектурасыннан һәм операцион системадан бәйсезлегенә китерә. Шунлыктан Java-программа Java-машина булган барлык җиһазларда да башкарыла ала. Java технологиясенең тагын бер мөһим үзенчәлеге - сыгылмалы иминлек системасы. Бу система кысаларында, JVM программаның башкарылуын тулысынча контрольдә тота. Программага бирелгән вәкилиятләрдән тыш барлык гамәлләр дә (мәсәлән, рөхсәт ителмәгән мәгълүматка керү яки башка санаклар белән элемтәгә керү) Java-машина тарафыннан өзелә.
Еш кына, виртулаь машина концепциясенең кимчелегенә җитештерүчәнлекнең түбәнәюен кертәләр. Кайбер камилләштерүләр Java-програмааларның башкарылу тизлеген арттырырга ярәм итәләр:
- Байт-кодны машина кодына әйләндерүне турыдан-туры программа эшләгән вакытта башкару (JIT-технолгия - очыш вакытанда компиляция). Кайбер очракларда тәрҗемә ителгән машина коды санак хәтерендә киләчәктә куллану өчен саклана ала.
- Стандарт китапханәләрдә, платформаның туган (ингл. native) кодын куллану
- Байт-кодның эшләвен тизләтүче аппарат чараларын куллану (мәсәлән, кайбер ARM-процессорлар Jazelle технологиясен куллана ала). Хәттә бүгенге көндә, байт-кодны турдан-туры аңлаучы процессорларны җитештерүгә, матди чикләмәләрдән кала, бен нинди техник кирәләр юк.