Най-простият часовник в Java - Информатика, програмиране
Федерална агенция за образование
Федерална държавна институция за висше професионално образование
"Чувашки държавен университет на името на I.N. Улянов"
Катедра Висша математика и информационни технологии
Предмет: Програмиране на Java
По темата: "Най-простият часовник в Java"
Глава 1 Основи на Java
1.1 Изпълнение на Java програма
1.2 Какво е JDK
Глава 2 Обектно-ориентирано програмиране в Java
2.1 Принципи на обектно-ориентираното програмиране
Глава 3 Принципи на GUI
3.1 Компонент и контейнер
Глава 4 Аплети
4.2 Опции за етикети
4.3 Информация за средата на аплета
4.4 Картина и звук
Такова бързо и широко разпространение на технологията Java се дължи не на последно място на факта, че тя използва нов, специално създаден език за програмиране, който се нарича език Java. Този език е създаден на базата на Smalltalk, Pascal, C ++ и т.н., като е усвоил най-добрите им характеристики според създателите и е изхвърлил най-лошите. Има различни мнения по този въпрос, но е безспорно, че езикът се оказа удобен за изучаване, програмите, написани на него, са лесни за четене и отстраняване на грешки: първата програма може да бъде написана в рамките на един час след началото на изучаването на езика. Езикът Java се превръща в език на обучение за обектно-ориентирано програмиране, точно както Pascal беше език на обучение за структурирано програмиране.
Глава 1 Основи на Java
1.1 Изпълнение на Java програма
Както знаете, програма, написана на един от езиците на високо ниво, който включва езика Java, така нареченият изходен модул („източник“ или „суров“ на жаргон, от английски"източник") не може да се изпълни веднага. Първо трябва да бъде компилиран, т.е. преведен в последователност от машинни инструкции - обектен модул. Но дори и той, като правило, не може да бъде изпълнен незабавно: обектният модул също трябва да бъде свързан с библиотеките на функциите, използвани в модула, и кръстосаните препратки между секциите на обектния модул трябва да бъдат разрешени, което води до зареждащ модул - напълно готова за изпълнение програма.
Друга особеност на Java е, че всички стандартни функции, извикани в програмата, са свързани с нея само по време на изпълнение и не са включени в байт кодове. Както казват експертите, има динамично свързване (динамично обвързване). Това също значително намалява обема на компилираната програма.
И така, на първия етап програма, написана на езика Java, се превежда от компилатора в байт кодове. Тази компилация е независима от типа на конкретен процесор и архитектурата на всеки конкретен компютър. Може да се изпълни веднъж веднага след написването на програмата. Байткодовете се записват в един или повече файлове, могат да се съхраняват във външна памет или да се предават по мрежа. Това е особено удобно поради малкия размер на файловете с байт код. След това получените байт кодове могат да бъдат изпълнени на всяка машина, която има система, която внедрява JVM. В този случай нито типът процесор, нито архитектурата на компютъра са важни. Така се реализира принципът на Java "Write once, run anywhere" - "Написано веднъж, стартирайте навсякъде."
Интерпретацията на байт код и динамичното свързване значително забавят изпълнението на програмите. Няма значение в тези ситуации, когато байт кодовете се предават по мрежата, мрежата все още е по-бавна от всяка интерпретация, но в други ситуации е необходим мощен и бърз компютър. Ето защоустните преводачи постоянно се усъвършенстват в посока увеличаване на скоростта на превода. Разработени са JIT компилатори (Just-In-Time), които съхраняват вече интерпретирани секции от код в машинни инструкции на процесора и просто изпълняват тези секции, когато бъдат извикани отново, например в цикли. Това значително увеличава скоростта на повтарящите се изчисления. SUN разработи цялата технология Hot-Spot и я включва в своята Java Virtual Machine. Но, разбира се, само специализиран процесор може да даде най-висока скорост.
SUN Microsystems пусна PicoJava микропроцесори, които работят на JVM набор от инструкции и е на път да пусне линия от все по-мощни Java процесори. Вече има Java процесори от други компании. Тези процесори директно изпълняват байт кодове. Но когато изпълнявате Java програми на други процесори, също е необходимо да интерпретирате JVM команди в команди на конкретен процесор, което означава, че е необходима програма за интерпретатор и за всеки тип процесор и за всяка компютърна архитектура трябва да напишете свой собствен интерпретатор.
Този проблем вече е решен за почти всички компютърни платформи. Те имплементират Java виртуални машини, като за най-разпространените платформи има няколко JVM имплементации от различни компании. Все повече операционни системи и системи за управление на бази данни включват внедряване на JVM в своето ядро. Създадена е и специална операционна система JavaOS, използвана в електронните устройства. Повечето браузъри имат вградена Java виртуална машина за стартиране на аплети.
Внимателният читател вече е забелязал, че в допълнение към внедряването на JVM, за да се изпълняват байт кодове на компютър, трябва да има и набор от функции, извиквани от байт кодове и динамично свързани с байт кодове. Този комплект е във форматабиблиотека от класове на Java, която се състои от един или повече пакети. Всяка функция може да бъде написана в байт кодове, но тъй като ще бъде съхранена на определен компютър, тя може да бъде написана директно в системата с инструкции на този компютър, като по този начин се избягва интерпретацията на байт кодове. Такива функции се наричат "родни" методи (родни методи). Използването на "родни" методи ускорява изпълнението на програмата.
SUN Microsystems, създателят на Java технологията, разпространява безплатно набор от необходими софтуерни инструменти за пълния цикъл на работа с този език за програмиране: компилация, интерпретация, отстраняване на грешки, включително богата библиотека от класове, наречена JDK (Java Development Kit). Има набори от програми за инструменти и други фирми. Например IBM JDK е много популярен.