21
үшін оның браузеры желімен http сұрау және http жауап алу арқылы диалог
құруы керек.
Осы диалог нәтижесінде браузер құжаттың HTML кодын алады, оны
қарастырады, қажет қосымша бетті безендіру элементтерін (суреттер, css файлдар,
скриптар) жүктейді жне пайдаланушы экранда сайт бетін көреді.
2.2 Java
Java – Sun Microsystems (кейіннен Oracle компаниясымен алынған)
компаниясымен жасалған объектілі-бағдарланған бағдарламалау тілі. Java
қолданысы әдетте арнайы байт-кодпен аударылады, сондықтан олар компьютерді
архитектураға тәуелсіз кез-келген виртуалды Java-машинада жұмыс істей алады.
Ресми түрде шығуы - 1995 жылың 23 мамыры. Java- дағы бағдарламалар Java
виртуал машинасымен (JVM) - байттық кодты өңдейтін және нұсқауларды
жабдыққа интерпретатор ретінде жіберетін бағдарлама - орындалатын байт-кодқа
ауысады. Осылай бағдарламаны орындау әдісінің ерекшелігі жабдықтың
операциялық жүйесінен байт кодттың тәуелсіздігі, бұл Java-қолданысты керекті
виртуалды машинасы бар кез-келген құрылғыда жұмыс істеуге мүмкіндік береді.
Java технологиясының басқа маңызды ерекшелігі бағдарламаның орындалуы
толығымен вируалды машина басқаратын қауіпсіздік жүйесінің икемділігі болып
табылады. Бағдараманың бекітілген күштерін (мысалы, мәліметтерге рұқсатсыз
алу тырысу немесе басқа компьютермен байланыс) кез-келген операциялар
жыджам тоқтауды шақырады. Виртуалды машина концепцияларының
кемшіліктеріне жиі орындалуының төмендеуін жатқызады. Жетілдіру бірнеше
қатары Java-да бағдарлама орындау жылдамдығын бірнеше рет көтерді:
Бағдарлама тікелей жұмыс істеп тұрғанда класс версиясын машиналық
кодта сақтау мүмкіндігі байт-кодты машина кодына ауыстыру технологиясын
қолдану.
Стандартты кітапханада платформалық-бағдарламалық кодты кең қолдану
Байт-кодты өңдеуді тездететін аппаратты құралдар (мысалы ARM
фирмасының кейбір процессорларымен қолданатын Jazella технологиясы)
Shootout.debian.org сайтының мәліметтері бойынша әртүрлі жеті тапсырманы
Java орындалу уақыты орташа есептеумен С/С++ қарағанда екі есе көп, кейбір
жағдайда Java тезірек, ал жеке жағдайда 7 есе баяу.
Басқа жағынан көбіне С/С++ қарағанда Java-машинаның жадыны пайдалану
10-30 есе көп. Сондай-ақ Google компаниясы жүргізген зерттеуде Java тестілік
мысалдарда орындалудың төмендігі және жадыны көп алады С++
бағдарламалармен салыстырғанда. Концепцияда қаланған идеялар және түрлі
Java
виртуалды
машинасының
ортасының
іске
асуы
көптеген
бағдарламалаушыларды бағдарлама құру үшін қолдану мүмкін виртуалды
машинада орындауға болытын тіл тізімін кеңейтуге шабыттандырды. Бұл
идеялар ортақ тілді Microsoft компаниясының .NET платформасының негізінде
қойылған CLI инфрақұрылымында спецификалық білдіруінде осы идеялар
табылды. Инновациялар тізімі:
22
Динамикалық-типизирондық тілдердің қолдауы (InvokeDynamic) – JVM
кеңейтілуі (байт-кодтың семантикасы), Java тілінің динамикалық-типизирондық
тілдерін қолдау үшін;
class-файлдарды қатар тексеру - 5 версиялы class-файлы (Java Standart
Edition 7) немесе соңғы версиялары typechecking-варификаторымен тексерілуі
керек; JVM ескі варификаторға ауыспауы керек;
Java тілінің синтаксисінің өзгерісі (Project coin) - Java тіліндегі бөлшекті
өзгерістері бағдарламаудың ортақ тапсырмаларын оңтайлату үшін арнылған:
1.
String классын switch блогында қолдану
2.
Қолданылып отырған ресурстардың try блогында жабылуы (try-with-
resources) - AutoCloseableинтерфейсында қолданғанда жұмыс істейді.
3.
Жинақталған cаtch (multi-catch-exceptions) блогындағы ерекшеліктерді
өңдеу - catch ерекшеліктерді өңдеуді санау (…|…|…|).
4.
Ерекшеліктердің қайта шығарып тастау (rethrowingexception) - пайда болған
ерекшелікті шақыру ағымымен "жоғары" жіберу.
5.
Үлкен сандарды жақсы қабылдау үшін сандық литералдарда атап өту
6.
Объект құрғанда Java generic-те шығару типінің өзгеруі
7.
Екілік сандарды қолдану (binary literal) - "ob" префиксі екілік саны
қолданылғанын көрсетеді.
8.
Varargs әдісінің шақыруын оңтайлату - кіретін айнымалылардың айнымалы
санымен әдісті шақыру кезінде ескертулер азаюы.
Класстар жүктеуішінің модификациясы (Class-loader) - класстар жүктеу
топологиясының иерархиясында тұйық жағдайлардан аулақ болу үшін
URL Class Loader ашылған ресурстарды жабу
Жиынтықты жаңалау (JSR 166)
Unicode 6.0 қолдауы
Пайдаланушы тілінің және пайдаланушылық интерфейс тілінен жекеленуі -
жергілікті пайдаланушылық интерфейс тілінен ажырау үшін тілдерді өңдеуді
жаңалау
Java (nio.2) платформасы үшін I/O жаңа интерфейсы
JDBC 4.1. және Rowset 1.1 қолданылуы
Негізгі мүмкіндіктері:
автоматты түрде
жады басқару
Ерекше жағдайларды өңдеу мүмкіндіктерінің кеңейтілуі
Енгізу-шығару фильтрациясының құралының бай жиынтығы
Стандартты коллекция жиынтығы: массив, тізім, ағым және тағы басқа.
Желілік қолданыстар жасайтын қарапайым құрал болуы (соның ішінде RMI
хаттамасын қолданумен)
HTTP-сұраныстарды орындауға мүмкіндік беретін класс жиынтығы және
жауаптарды өңдеу
Көпағымды қолданыстар жасайтын енгізілген құралдар
Унифициалды Деректер базасына рұқсат алу:
1.
Жеке деңгейдегі SQL–сұраныстардың–JDBC,SQLJ негізінде: