Java тілін қолдану мақсаты. Java тілі клиенттік компьютер тарапынан да, сервер тарапынан да бірдей емес компьютерлік желілерде қолданбалы бағдарламалау үшін арналған әмбебап болып табылады
Байланысты: Java тілін олдану ма саты. Java тілі клиенттік компьютер тарапы
Java тілін қолдану мақсаты. Java тілі клиенттік компьютер тарапынан да, сервер тарапынан да бірдей емес компьютерлік желілерде қолданбалы бағдарламалау үшін арналған әмбебап болып табылады. Оның ішінде − жұқа аппараттық клиенттерде (ресурстары өте шектеулі аз есептеуіш қуатты құрылғыларда) пайдалану үшін. Сонымен қатар, Java-ның компиляциядан өткен бағдарламалары виртуалды Java-машинасының басқаруында ғана жұмыс істейді, сондықтан олар Java бағдарламалары деп аталады.
Бұл C және C++ бағдарламалау тілдерімен таныс мамандардың осы тілге көшуінің жеңілдігін қамтамасыз етті. Ал типтерді құрылымдық тексеру құралдарының болуы, компьютерлік желілермен жұмыс істеуге бағдарлануы, орындалатын код деңгейіндегі өзгерістер және платформалық-тәуелсіз графикалық интерфейсті қолдау, сондай-ақ, аппаратураға тікелей қарауға тыйым салу қолданбалы бағдарламалау тіліне қойылатын талаптардың көпшілігінің орындалуын қамтамасыз етті. Компьютерлер жадының жылдамдығы мен көлемі неғұрлым көп болған сайын, қолданбалы және жүйелік бағдарламалық қамтамасыз етуді бөлудегі талаптар да соғұрлым көп болады. Сәйкесінше, қолданбалы бағдарламалар үшін жадқа және компьютердің басқа да аппараттық құрылғыларына тікелей жүгіну қажеттілігі жоғалды. Сондықтан қолданбалы бағдарламалар арасында жыл сайын Java-да жазылған бағдарламалық қамтамасыз етудің үлесі өсуде. Java қосымшасы түсінігі. Бастапқыда «бағдарлама» сөзі қандайда бір тапсырманы шешу үшін процессор нұсқауларының жүйелілігін білдіреді. Бұл нұсқаулықтар машиналық кодтар болды, осыған байланысты бастапқы және орындалатын бағдарлама кодтарының арасындағы айырмашылықтар болған жоқ. Бағдарламаларды арнайы бағдарламалау тілдерінде жаза бастаған кезде олардың арасында айырмашылық пайда болды.
Сонымен қатар, бастапқы коды бар файлдағы мәтінді де және орындалатын файлды да бағдарлама ретінде атай бастады. Терминді бір мазмұнда түсіну үшін бағдарламаның орындалатын коды қосымша деп аталады (application). «Қосымша» термині – «операциялық жүйенің қосымшасы» деген сөз тіркесінен қысқарту үшін қолданылады. Ол бағдарламаның орындалатын коды тек тиісті операциялық жүйенің басқаруында жұмыс істей алатынын білдіреді. Операциялық жүйе басқаруы арқылы жұмыс істеу, онда орындалатын бағдарламалық құралдардың компьютердегі құрылғының нақты нұсқасына тәуелділігін болдырмауға мүмкіндік береді. Осыған байланысты, қарапайым қосымшалар орындалу шегі операциялық жүйелердің бір түрімен байланысты. Мысалы, MS Windows бағдарламасы Linux астында жұмыс істемейді. Қосымшалардың операциялық жүйеден тәуелділігін болдырмау мүмкіндігі бар, мұны іске асыру үшін оның командаларын операциялық жүйе құралдарымен емес, арнайы атқарушы орта арқылы қосымшаның жұмысын басқару. Атқарушы орта қосымшаның жұмыс істеу ретін бақылайды және бағдарламаны орындайды. Java тілінде жазылған бағдарламалар орындаушы ортамен − виртуалды Java-машинасымен орындалатын болады. Сондықтан қосымшаның Java-машинасы бар кез келген операциялық жүйеде орындалуы қамтамасыз етіледі. Осының арқасында мұндай бағдарламалар кез келген операциялық жүйенің қосымшалары емес, Java бағдарламалары болып табылады.
Java-машинасы және JIT-компиляция түсініктері. Java тілінде жазылған бағдарламалар кластар жиынтығы болып табылады және кеңейтілген .java атауы бар мәтіндік файлдарда сақталады. Компиляция кезінде бағдарлама мәтіні .class кеңейту атауымен екілік файлдарға аударылады (трансляцияланады). Мұндай файлдарда осы процессор командаларының байт тізбектері және оларға деректер түрінде абстрактілі Java-процессоры үшін нұсқаулықтар жиынтығы болып табылатын байт-код бар. Қандайда бір компьютерде байт-кодты орындау үшін, оны тиісті процессор нұсқаулығына аудару керек. Бұл әрекетті Java-машина орындайды. Бастапқыда байт- код әрдайым былайша орындалған: Java-процессордың нұсқаулығы алдымен компьютер процессорының нұсқаулығына аударылды, сонан соң орындалуға жіберілді. Бұл, әрине, Java қосымшаларының жұмысын айтарлықтай баяулатты. Қазіргі уақытта JIT-компиляция (Just-In-Time) деп аталатын неғұрлым күрделі схема қолданылады − бұл «іс барысында», «ұшуда» компиляция өткізу. Java-процессордың қандайда бір нұсқаулығы (немесе нұсқаулар жинағы) бірінші рет орындалғанда, арнайы буферде компиляцияланған кодты сақтай отырады және оған сәйкес байт-кодты құрастыру жүргізіледі. Сол нұсқаулықты кейіннен шақырған кезде оны түсіндірудің орнына компиляциядан өткен код буферден алынады. Сондықтан нұсқаулықты түсіндіру ол бірінші рет шақырғанда ғана жүргізіледі. Күрделі оңтайландыратын JIT-компиляторлар өте күрделі әрекеттерді жылдам орындауға қызмет етеді. Әдетте нұсқауды құрастыру интерпретациямен салыстырғанда әлдеқайда ұзағырақ болғандықтан, JIT-компиляция болған кезде оны бірінші рет орындау уақыты «таза» интерпретациямен салыстырғанда нашар болуы мүмкін. Сондықтан алдымен интерпретациялау процесін бастау, ал оған қоса фондық режимде нұсқаулықты құрастыру тиімді болады. Нұсқаулықтың келесі шақырулары кезінде құрастыру процесі аяқталғаннан кейін ғана оның компиляциядан өткен коды орындалатын болады (ал бұған дейін оның барлық шақырулары түсіндірілетін болады). Бұл ретте бағдарлама жұмысының барысында компиляциядан өткен кодты оңтайландыру жүргізіледі. Виртуалды Java-машина байт-кодты орындайды (оны интерпретациялайды, JIT-компиляциямен айналысады және JIT-компиляциядан өткен кодты орындайды), сонымен қатар басқа, да бірқатар функцияларды орындайды (файлдарға қол жеткізуді немесе графиканы ұстап тұруды қамтамасыз ете отырып, операциялық жүйемен өзара байланысты қамтамасыз ету), сондай-ақ, қажетсіз объектілермен жұмыс істейтін жадты автоматты түрде босату − қоқыстарды жинау (garbage collection). Java бағдарламаларын платформа-тәуелсіз байт-кодқа компиляциялау арқасында бұл бағдарламалардың тек бастапқы код емес, сондай-ақ, компиляциядан өткен қосымшалар деңгейінде орындалуы қамтамасыз етіледі. Әрине, бұл ретте қосымша орындалатын компьютерде тиісті процессордың кодтарына (native code-платформа − тәуелді код) жинақталған виртуалды Java − машина (Java Virtual Machine-JVM) бағдарламасы орнатылуы тиіс. Бір компьютерде әртүрлі нұсқадағы бірнеше Java-машиналар немесе әртүрлі өндіргіштердің болуы мүмкін. Java-машина спецификациясы және Java тілінің компиляторына қойылатын талаптар ашық, сондықтан әртүрлі фирмалар (Sun ғана емес) Java компиляторлары және Java-машиналарын әзірлеуде. Әдетте, белгілі операциялық жүйеде орындауға бейімделген қосымша операциялық жүйенің өзі арқылы іске қосылады. Java қосымшасы, керісінше, операциялық жүйенің өзі болып табылатын виртуалды Java-машинаның көмегімен орындалады. Осылайша, алдымен Java-машина жұмысы басталады. Ол класты компиляциядан өткен коды бар файл атын параметр ретінде алады. Бұл класста main атымен айқындалған ішкі бағдарламаны іздейді және де оны іске қосады. Java тіліндегі бағдарламалардың санаттары. Java бағдарламаларын бірнеше негізгі санатқа бөлуге болады. 1. Қосымша (application) − әдеттегі қолданбалы бағдарламаның аналогы. 2. Апплет (applet) − браузердің басқаруындағы WWW-құжат терезесінде жұмыс істейтін мүмкіндіктері шектеулі мамандандырылған бағдарлама. 3. Мидлет (midlet) − мобильді құрылғыда жұмыс істейтін мүмкіндіктері шектеулі мамандандырылған бағдарлама. Қазіргі уақытта мидлеттер-Java тілінде жазылған бағдарламалық қамтамасыз ету нарығының ең танымал сегменттерінің бірі. 4. Сервлет (servlet) − сервер жағында WWW-да жұмыс істейтін мүмкіндіктері шектеулі мамандандырылған бағдарлама. WWW-құжаттарды бағдарламалау және серверге жіберілетін ақпаратты өңдеу үшін көбінесе JSP (Java Server Pages − дұрыс Java беттері) технологиясы шеңберінде пайдаланылады. 5. Серверлік қосымша (Enterprise application) − сервер жағында бірнеше рет орындауға арналған қосымша.
6. Пакеттер-кітапханалар (Java Class Library − кластар кітапханасы немесе тиісті платформа модулі) − Java бағдарламаларымен бірнеше рет қолдануға арналған. Java бағдарламалары мен апплеттері арасында принципті айырмашылық бар: қосымша тікелей компьютерден іске қосылады және басқа бағдарламалармен қатар компьютердің барлық ресурстарына қол жеткізе алады. Апплет WWW-дан кейінгі серверден жүктеледі. Сондықтан, пайдаланушы компьютерінен конфиденциальды ақпараттың шығып кету немесе дұшпандық әрекеттер жасау қауіп-қатерін болдырмау үшін апплеттерден қосымшаларда бар көптеген мүмкіндіктер алынып тасталды. Сервлеттер − бұл сервер жағында іске қосылатын Java қосымшалары. Олар JSP технологиясы мен javax пакеті шеңберінде алдын ала анықталған басқару конструкцияларының жиынтығы арқылы файлдық жүйеге және басқа да ресурстарға қол жеткізу мүмкіндігіне ие. Сонымен қатар, олар клиенттік компьютер тарапынан HTTP-сұраулардың мазмұнына қол жеткізе алады. JSP технологиясы серверге серверлерді автоматты түрде генерациялауға және компиляциялауға мүмкіндік беретін HTML немесе XML-құжаттарда қосымша конструкциялардың (тегтердің) болуына мүмкіндік береді. Нәтижесінде деректерді немесе құжат элементтерін өңдеу өте оңай және ыңғайлы, сондай-ақ, құжаттың қажетті орындарына өңдеу нәтижелерін енгізу мүмкіндігі бар. Сервер жағында JSP тегтері бар құжатты бірінші өңдеуден бұрын, сервлеттердің автоматтық генерациясы жүреді, сондықтан JSP коды жеткілікті жылдамдықпен тез орындалады, бірақ, бұл үшін, компьютерде тиісті Java-машина орнатылуын талап етеді. Java бағдарламалары туралы толық ақпарат ұсынылған әдебиет көздерінде келтірілген. 1.2 Бағдарламалау интеграцияланған орталары туралы қысқаша мәліметтер NetBeans интеграцияланған ортасы туралы қысқаша мәлімет. NetBeans (желілік компоненттер) − ашық бастапқы коды бар тегін орта. Өте тез дамып келеді. Коммерциялық мақсатта пайдалануға рұқсат етілген. Ортаға арнайы қосымшалар арқылы жаңа мүмкіндіктерді қосу үшін дамыған құралдар бар. Сондай-ақ, ол өзіңіздің қосымшаларыңыз сақталатын репозиторий орналасқан мекен-жайды тағайындауға болады. Сондықтан NetBeans стандартты қосымшаларды орнату және жою, іздеуді, кеңес беруді және зерттеулерді талап етпейтін таза техникалық жұмысты атқарады. Орта графикалық пайдаланушы интерфейсінің (GUI) редакторының қолда бар формаларының ең дамыған және мобильді құрылғыларға арналған бағдарламалық қамтаманы әзірлеудің неғұрлым дамыған құралдарымен ерекшеленеді. Бағдарламаларды әзірлеудің қосымша құралдарының (шаблондар жиынтығының негізінде әртүрлі үлгідегі жобаларды генерациялау, қолда бар мысалдар санының көп негізінде жобаларды генерациялау, құжаттық комментарийлердің дайындамаларын генерациялау, дайын класстар бойынша навигация кезінде бастапқы JDK кодтарына көшу) ең толық жиынтығынан тұрады. Жобаны өрістетудің дамыған құралдары бар − оларды жұмыс компьютерінен беру, соның ішінде серверге орнату әрекеттерін іске асырады. Java, C, C++, Ruby, Groovy, JavaScript, JavaFX, JRuby, Rails, Grails, HTML, CSS, XML, XHTML тілдерімен, JSP, EJB, AJAX, Hibernate, JPA, Spring, Web Services, Struts технологияларымен жұмыс істейді. JUnit модульдері арқылы тестілеуді қолдайды. UML-жобалаудың дамыған құралдары бар. Eclipse және JBuilder жобаларының импортын қолдайды. Кемшіліктер. Барлық IDE сияқты көптеген ресурстарды тұтынады (285 Мбайт оперативті жады − ортаның өзі алады, ал 315 Мбайт графикалық интерфейсімен жасақталған қарапайым қосымша жұмысы кезінде тұтынады). Сондықтан компьютердің жедел жадының көлеміне (512 Мбайттан кем емес) және процессордың жылдамдығына (Celeron 1000 төмен емес) жоғары талаптар қояды. IntelliJ Idea және JBuilder жобаларын импорттауды қолдамайды. Ыңғайлы анықтамалық жүйесі жоқ. Eclipse интеграцияланған ортасы туралы қысқаша мәлімет. Eclipse (тұтану) − ашық бастапқы коды бар тегін орта, өте тез дамып келеді. Оны коммерциялық мақсатта қолдануға рұқсат етілген. Java бағдарламалау үшін кеңінен қолданылады. Бірінші болып Java әзірлеу ортасының арасында плагиндердің көмегімен ортаға жаңа мүмкіндіктерді қосу үшін дамыған құралдарды қамтамасыз етті. Осының арқасында MyEclipse, BEA Workshop, IBM Rational Application Developer, Borland JBuilder және т.б. көптеген коммерциялық даму ортасы үшін негіз (платформа) болды. Бірнеше репозиторий сайттар бар, онда көптеген плагиндер бар, сондай-ақ, репозиторийлердің мекен-жайларын тағайындауға болады. Қолдану саласына байланысты плагиндерді кластар бойынша бөлу мүмкіндігі бар. Бірақ плагиндерді сертификаттау және олардың мақсаты мен функционалдығын егжей-тегжейлі сипаттау жоқ. Сондықтан, Eclipse плагиндерін орнату және жою күтпеген нәтижемен аяқталуы мүмкін. Плагиндермен жұмыс Help мәзіріндегі Software Updates... (бағдарламалық жасақтаманы жаңарту) мәзірі тармағы арқылы реттеледі. Eclipse ортасы C++ тілінде бағдарламаларды әзірлеу үшін де-факто өнеркәсіптік стандарт болып табылады. Eclipse Ganimede ескі нұсқаларға қарағанда компьютерде инсталляция талап етпейді − дистрибутив файлдар жиынтығынан тікелей іске қосылады. Ыңғайлы реттеуші және кіріктірілген органайзер бар. Жоба кластары бойынша навигация кезінде бастапқы кодты өңдеу кезінде JDK класстарының кодына өтуді қамтамасыз етпейді, бірақ src мұрағатына жолды оңай табуға мүмкіндік береді. Java, C, C++, Ruby, Groovy, JavaScript, JRuby, Rails, Grails, Flex, XSL, HTML, CSS, XML, XHTML, JSP, EJB, AJAX, GWT, Hibernate, JPA, Spring, Web Services, Struts тілдерін қолдайды. JUnit және JBuilder жобаларын импорттау модульдері арқылы тестілеуді қолдайды. Кемшіліктер. Көптеген ресурстарды тұтынады (260 Мбайт оперативті жады − ортаның өзі, 335 Мбайт графикалық интерфейсімен жабдықталған қарапайым қосымшаның жұмысы кезінде) − шамамен NetBeans сияқты. Жобалардың дайындамасын жасау үшін шаблондар мен мысалдар практикалық түрде жоқ. GUI формасының кірістірілген редакторы жоқ, оны плагин ретінде орнату керек (сонымен қатар GUI редакторлары NetBeans редакторына айтарлықтай жол бермейді). UML-жобалау құралдары жоқ − міндетті түрде оны плагинді орнату арқылы іске қосуға болады. Әртүрлі өндірушілердің плагиндерінің үйлесімсіздігі жиі кездеседі, бұл жағдай ортаның тұрақсыздығын тудырады. Мобильді құрылғылары бар жұмыстардың кіріктірілген қолдауы іске асырылмаған. Кіріктірілген профильдер жоқ, бұл ортаны бағдарламаны өңдеудің толыққанды құралы ретінде қарастыруға мүмкіндік бермейді. NetBeans, IntelliJ Idea жобаларын импорттауды қолдамайды. Қорытынды. Eclipse бағдарламалық қамтамасыз етуді әзірлеу үшін өте қуатты платформа, бірақ қолда бар нұсқаларында NetBeans және JDeveloper бәсекеге қабілетті соңғы өнім ретінде қарастырылмайды. Нақты Java-әзірлеу үшін жарамды конфигурация жасау үшін көптеген плагиндерді іздеу және орнату талап етеді. Қарапайым бағдарламаның типтік құрылымы Барлық Java бағдарламалары әдетте мәтіндік файлдар ретінде басталады, олар кейіннен «класс» файлдарын жасау үшін қолданылады, олар, өз кезегінде, шын мәнінде орындалатын бағдарламалар болып табылады. Бұл Java бағдарламалары кез келген қарапайым мәтіндік редакторда жазылуы мүмкін дегенді білдіреді. Консольдық терезеге хабар шығаратын ең қарапайым бағдарлама: public class FirstSample { public static void main(String[] args) { System.out.println("Java tilindegy programma"); } } Бұл мысал арқылы тілдің ерекшеліктерін біліп, барлық қосымшаларда кездесетін Java-бағдарламаларына тән шектеулермен танысып өтейік. Біріншіден, назар аударатын ерекшелік − Java тілінде символдар регистрі ескеріледі. Егер оларды шатастырсақ (мысалы, main орнына Main енгізсек), бағдарлама орындалмайды. Енді бастапқы кодты талдап көрейік. Кілт сөз public кіру модификаторы деп аталады (access modifier). Мұндай модификаторлар бағдарламаның басқа бөлшектерінен кодқа жүгінуді басқарады. class негізгі сөзі бізге Java-бағдарламаларының барлық элементтері класс құрамында екенін көрсетеді. Кластар қосымшаның жұмысын анықтайтын бағдарлама логикасын іске асырады. Кілт class сөзінен кейін класс атын көрсету керек. Класс аттарын қалыптастыру ережелері аса қатал емес. Аты әріппен басталуы керек, ал қалған бөлігі әріптер мен сандардың ерікті тіркесімі болуы мүмкін. Атаудың ұзындығы шектелмеген. Класс атауы ретінде Java тілінде сақталған сөздерді (мысалы, public немесе class) пайдалануға болмайды. Атау туралы келісімдерге сәйкес, класс атауы бас әріппен басталуы керек (FirstSample аты осылай қалыптасқан). Егер атау бірнеше сөзден тұрса, олардың әрқайсысы бас әріптен басталуы тиісті. (Сөз ортасында жоғарғы регистрдің символы болуы мүмкін. Бұл ережелер кейде «camel case» («түйе стилі») деп аталады. Бастапқы мәтіннен тұратын файл жалпыға бірдей (public) класс деп аталады және кеңейтімі .java болуы керек. Осылайша, мұнда қарастырылған класс коды FirstSample.java файлына орналастырылады (Күтілгендей, символдар регистрі есепке алынады, сондықтан firstsample.java аты қолайлы емес). Егер сіз файлды дұрыс атасаңыз және бағдарламаның бастапқы мәтінінде қате жібермесеңіз, онда компиляция нәтижесінде осы кластың байт-коды бар файлды алыңыз. Java тілінің компиляторы осы FirstSample файлын автоматты түрде атайды .class және оны бастапқы файл бар сол каталогта сақтайды. Бақылау сұрақтары: Java тілін қолдану мақсаты. Java қосымшасы түсінігі. Java-машинасы және JIT-компиляция түсініктері. Java тіліндегі бағдарламалардың санаттары. NetBeans интеграцияланған ортасы туралы қысқаша мәлімет. Eclipse интеграцияланған ортасы туралы қысқаша мәлімет. Қарапайым бағдарламаның типтік құрылымы.