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 технологиясен куллана ала). Хәттә бүгенге көндә, байт-кодны турыдан-туры аңлаучы процессорларны җитештерүгә, матди чикләмәләрдән кала, берннинди техник киртәләр дә юк.
shootout.alioth.debian.org сайты мәгълүматлары буенча, җиде төрле мәсәләләрдә Java-ның эшләү вакыты, C/C++белән чагыштырганда, берярым-ике тапкыр зуррак, кайбер очракларда Java тизрәк, ә кайбер аерым очракларда 7 тапкыр акрынрак[1].Икенче яктан караганда, Java-машина санакның хәтерен, C/C++ та язылган прогограммаларга караганда, 10—30 тапкыр күбрәк сарыф итә. Шулай ук, Google компаниясе үткәргән тикшерү игътибарга лаек. Бу тәҗрибәдә Java-дагы үрнәкләр, C/C++ та язылган программаларга караганда түбәнрәк җитештерүчәнлек һәм зуррак хәтер ресурсларына мохтаҗлык күрсәтәләр[2][3][4].
Искәрмә
[үзгәртү|вики-текстны үзгәртү]- ↑Java 6 -server speed ÷ C++ GNU g++ speed | Computer Language Benchmarks Game,archived fromthe originalon 2011-06-14,retrieved2015-08-13
- ↑Metz, Cade (2011-06-03).Google pits C++ against Java, Scala, and Go.The Register.әлеге чыганактан2011-08-21 архивланды.2011-06-05 тикшерелгән.
- ↑Loop Recognition in C++/Java/Go/ScalaКалып:Ref-pdf
- ↑В Google провели сравнение производительности C++, Java, Go и Scala