Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Windows 7, XP
  • Hyrje në programimin Java. Cilat teknologji janë komponentët thelbësorë të platformës Java? Teknologjitë Java dhe zhvillimi i aplikacioneve në ueb

Hyrje në programimin Java. Cilat teknologji janë komponentët thelbësorë të platformës Java? Teknologjitë Java dhe zhvillimi i aplikacioneve në ueb

Gjuhe Programimi Java dhe sistemi i tij shoqërues i kohës së funksionimit janë projektuar në mënyrë që pasi të zhvillohen dhe kompilohen, programet do të shpërndahen në internet në formë binare dhe do të ekzekutohen në çdo makinë të aktivizuar me Java. Siguria ka qenë pjesë e zhvillimit të Java që nga fillimi. Ky seksion do të diskutojë funksionimin e këtij sistemi sigurie.

Java është një gjuhë e sigurt për tipin. Kjo do të thotë që përpiluesi do të refuzojë çdo përpjekje për të përdorur një variabël si kjo



hakmarrje me tipin e saj. Për krahasim, merrni parasysh sa vijon

Ai gjeneron një numër të rastësishëm dhe e ruan atë në treguesin p. Më pas ruan një bajt të pavlefshëm në adresën që gjendet në p, duke mbishkruar çdo gjë që ishte më parë, kodin ose të dhënat. Në Java, konstruktet që përziejnë llojet në këtë mënyrë janë të ndaluara nga vetë gramatika. Gjithashtu, Java nuk ka ndryshore treguese, fantazma, shpërndarje memorie të menaxhuar nga përdoruesi (si malloc dhe pa pagesë), dhe të gjitha referencat e grupeve kontrollohen në kohën e ekzekutimit.

Programet Java kompilohen në një kod binar të ndërmjetëm të quajtur bytecode JVM. Ka rreth 100 udhëzime në JVM, shumica e të cilave shtyjnë objekte të një lloji të caktuar në pirg, i nxjerrin ato nga pirgu ose bashkojnë në mënyrë aritmetike dy hyrje në pirg. Këto programe JVM përgjithësisht interpretohen, megjithëse në një farë mase
Në disa raste, ato mund të përpilohen në gjuhën e makinës për ekzekutim më të shpejtë. Në modelin Java, aplikacionet e dërguara në internet për ekzekutim në distancë janë programe JVM.

Kur një aplet arrin, ai kalohet përmes një rutine kontrolli të bytekodit JVM kundër rregullave të caktuara. Një aplikacion i përpiluar siç duhet do t'i përputhet automatikisht, por asgjë nuk i pengon sulmuesit të shkruajnë një aplikacion JVM në gjuhën e asamblesë JVM. Procedura e verifikimit përfshin gjetjen e përgjigjeve për pyetjet e mëposhtme:

1. A po përpiqet apleti të falsifikojë tregues?

2. A shkel kufizimet për aksesin ndaj anëtarëve të klasave private?

3. A po përpiqet të përdorë një variabël të një lloji si një variabël të një lloji tjetër?

4. A gjeneron një tejmbushje të pirgut apo një tejmbushje të pirgut?

5. A bën konvertime të paligjshme të variablave të një lloji në variabla të një lloji tjetër?

Nëse një aplet kalon të gjitha këto teste, ai mund të ekzekutohet pa u shqetësuar se do të hyjë në zona të tjera të memories përveç të tijat.

Megjithatë, aplikacionet ende mund të bëjnë thirrje sistemore duke thirrur metodat (procedurat) Java të parashikuara për këtë qëllim. Mënyra se si Java e bënte këtë ka evoluar gjatë gjithë kohës. Në versionin e parë të Java, JDK (Java Development Kit) 1.0, aplikacionet u ndanë në dy klasa: të besueshme dhe të pabesueshme. Apletet e marra nga disku lokal ishin të besueshëm dhe u lejuan të ekzekutonin çdo thirrje sistemi që u nevojitej. Në të kundërt, aplikacionet e marra në internet konsideroheshin jo të besueshme. Ata vrapuan në një kuti rëre, siç tregohet në fig. Ora 9:33 e mëngjesit dhe ata nuk u lejuan të bënin pothuajse asgjë.

Pasi fitoi përvojë me këtë model, Sun vendosi se ishte shumë kufizues. JDK 1.1 prezantoi nënshkrimin e kodit dixhital. Kur një aplet mbërriti nga Interneti, u verifikua se ai ishte nënshkruar nga një person ose organizatë që përdoruesi i beson (siç përcaktohet nga lista e përdoruesit të mbajtësve të nënshkrimeve dixhitale të besuara). Nëse nënshkrimet mund të besoheshin, aplikacioni mund të bënte gjithçka; nëse jo, ai funksiononte në një sandbox me kufizime të rrepta.

Pas fitimit të përvojës shtesë, edhe ky sistem rezultoi i pakënaqshëm, kështu që modeli i sigurisë u ndryshua përsëri. JDK 1.2 prezantoi një politikë sigurie të konfigurueshme dhe të hollësishme që zbatohet për të gjitha aplikacionet, si lokale ashtu edhe ato të largëta. Ky model sigurie është aq kompleks sa meriton një libër më vete (Gong, 1999), kështu që ne do të japim vetëm një përmbledhje të shkurtër të disa prej veçorive të tij kryesore. Çdo applet karakterizohet nga dy gjëra: nga ka ardhur dhe kush e ka nënshkruar. Pyetjes se nga erdhi përgjigjet me URL-në e saj, dhe pyetjes se kush e ka nënshkruar i përgjigjet çelësi privat që është përdorur për ta nënshkruar atë në mënyrë dixhitale. Çdo përdorues mund të krijojë një politikë sigurie të përbërë nga një listë rregullash. Çdo rregull mund të listojë një URL, një zotërues nënshkrimi, një objekt dhe një veprim që një aplikacion mund të kryejë në një objekt nëse URL-ja e aplikacionit

dhe pronari i nënshkrimit përputhet me ato të përcaktuara në rregull. Informacioni konceptual i dhënë është paraqitur në tabelën 1. 9.3, megjithëse në fakt është i formatuar ndryshe dhe lidhet me hierarkinë e klasës Java.


Një lloj veprimi lejon aksesin në një skedar. Një veprim mund të specifikojë një skedar ose drejtori specifike, një grup të të gjithë skedarëve në një direktori të caktuar ose një grup të të gjithë skedarëve dhe drejtorive të përfshira në mënyrë rekursive në një direktori të caktuar. Tre rreshta në tabelë. 9.3 korrespondojnë me këto tre raste. Në rreshtin e parë, përdoruesi Susan ka vendosur rekordin e saj të aksesit në mënyrë që apletet që vijnë nga makineria e përpunuesit të taksave të quajtur www.taxprep.com dhe të nënshkruara nga kompania përpunuese të kenë akses në të dhënat e saj tatimore në dosjen 1040.xls. Ata mund të lexojnë vetëm këtë skedar, i cili nuk mund të lexohet nga asnjë aplikacion tjetër. Përveç kësaj, të gjitha aplikacionet nga të gjitha burimet, qofshin të nënshkruara apo jo, mund të lexojnë dhe shkruajnë skedarë në drejtorinë /usr/tmp.

Më tej, Susan i beson Microsoft-it në masën që ajo lejon aplikacionet e marra nga faqja e tij e internetit dhe të nënshkruara nga Microsoft-i të lexojnë, shkruajnë dhe fshijnë skedarët poshtë drejtorisë së Office në pemën e drejtorive, për shembull, për të rregulluar defektet dhe për të instaluar versione të reja të softuerit. Për të verifikuar nënshkrimet, Susan ose duhet të ketë çelësin publik të kërkuar në diskun e saj, ose duhet t'i marrë ato në mënyrë dinamike, si p.sh. në formën e një certifikate të nënshkruar nga një kompani që i beson dhe çelësin publik të së cilës ajo e ka.

Jo vetëm skedarët mund të veprojnë si burime të mbrojtura. Mund të siguroni gjithashtu akses në rrjet. Këtu objekti do të jetë një port specifik në një kompjuter specifik. Kompjuteri specifikohet nga adresa IP ose emri DNS; portet në këtë kompjuter specifikohen si një varg numrash. Veprimet e mundshme përfshijnë lidhjen me një kompjuter në distancë dhe pranimin e lidhjeve që vijnë nga kompjuter në distancë. Kështu, apleti mund të hyjë në rrjet, por kjo qasje është e kufizuar në komunikimin vetëm me ata kompjuterë që janë renditur në mënyrë eksplicite në listën e lejeve. Apletet, nëse është e nevojshme, mund të ngarkohen në mënyrë dinamike kod shtesë(klasat), por ngarkuesit e klasave të ofruara nga përdoruesi mund të ushtrojnë kontroll të rreptë se cilat makina mund t'i burimin këto klasa. Ka edhe shumë veçori të tjera sigurie.

Më shumë mbi temën Siguria në sistemin Java:

  1. § 39 Klasifikimi i kontratave në disa lloje. - Klasifikimi romak. - Sistemi i ligjit prusian, kodi francez dhe austriak. - Sistemi i kasafortës ruse. - Sistemi i prezantimit aktual.

Çfarë është siguria e informacionit? Kjo është gjendja e sigurisë së informacionit, e cila siguron konfidencialitetin, disponueshmërinë dhe integritetin e tij.

Zakonisht, për të vlerësuar gjendjen e sigurisë së informacionit, është e nevojshme të kuptohen dhe analizohen kërcënimet dhe burimet e tyre, të vlerësohet niveli i dëmtimit, gjasat e zbatimit dhe rëndësia e kërcënimeve, rreziqet (opsionale) që mund të ndikojnë në sistemin tonë / informacion.

Sipas mendimit tim, është e pamundur të vlerësohet siguria e një teknologjie ose gjuhe programimi të vetme pa u lidhur me një metodë specifike zbatimi, d.m.th. pa një të gatshme specifike. produkt softuerik në një gjuhë që ka një TOR të detajuar me një përshkrim të arkitekturës dhe funksionalitetit. Por kjo gjithashtu nuk do të jetë e mjaftueshme, pasi është e nevojshme të vlerësohet statusi i sigurisë së një sistemi informacioni të përfunduar me arkitekturën e tij specifike, grupin e komponentëve, proceset e biznesit, informacionin dhe, së fundi, njerëzit. Më lejoni t'ju jap një shembull të ndërtimit të një shtëpie. Kemi materiale (rërë, çimento, zhavorr, tulla, etj.) dhe mjete (kovë, lopatë, shpatull etj.). Ne nuk do të jemi në gjendje të vlerësojmë cilësinë dhe besueshmërinë e shtëpisë së përfunduar vetëm në bazë të materialeve / veglave të përdorura: sa do të zgjasë, nëse do të ketë çarje në të, nëse do të jetë e ftohtë apo e qetë në të. Ju duhet të zgjidhni një projekt shtëpie, teknologji ndërtimi dhe një ekip zejtarësh. Dhe vetëm pasi të përfundojë ndërtimi, ne do të jemi në gjendje të matim pajtueshmërinë me projektin, GOST, SNiP, të kontrollojmë matjet për mbrojtjen termike, zhurmën, ngarkesat, të analizojmë cilësinë e çimentos dhe t'i përgjigjemi shumicës së pyetjeve. Por në pyetjen kryesore "sa do të zgjasë?" Nuk do të kemi një përgjigje të saktë, pasi nuk i dimë të gjitha kushtet e funksionimit të shtëpisë dhe të gjithë faktorët që do të ndikojnë gjatë gjithë kohës.

Si të siguroni sigurinë në Java

Le të marrim Java si shembull. . Është një gjuhë programimi e orientuar nga objekti; programet e shkruara në Java përkthehen në bitekod Java, i cili ekzekutohet nga Java Virtual Machine (JVM), një program që përpunon kodin e bajtit dhe i kalon instruksionet harduerit si përkthyes. Avantazhi i kësaj mënyre të ekzekutimit të programeve është pavarësia e plotë e bytekodit nga sistemi operativ dhe hardueri, i cili ju lejon të ekzekutoni aplikacione Java në çdo pajisje për të cilën ekziston një makinë virtuale përkatëse.

« Gjuha universale" tingëllon bukur, por problemi më i zakonshëm janë të dyja anën e pasme medalje - Një rrjedhje memorie në JVM, që rezulton në tejmbushje të memories dhe përplasje. Në lidhje me këtë problem, dobësitë nuk përjashtohen, sepse postulati kryesor i besueshmërisë është sa më i thjeshtë aq më mirë. Në këtë rast, një byrek kaq kompleks po grumbullohet nga sigurimi i përputhshmërisë së një numri të madh platformash dhe sistemesh operative që është pothuajse e pamundur të gjurmohen dhe mbyllen të gjitha dobësitë e gjetura në to dhe t'i eliminojnë shpejt ato. Për të njëjtin Microsoft, dobësitë mund të gjenden dhe të rregullohen pas 4-8 vjetësh, dhe kjo nëse nuk marrim parasysh veçoritë e mbetura qëllimisht ose gabimisht të padeklaruara.

Nga praktika ime: kur programuesit shtojnë funksionalitet të ri që lidhet me atë të zbatuar tashmë, ose rregullojnë funksionalitetin e vjetër, atëherë në 15% të rasteve ata thyejnë produktin e mëparshëm të punës. Dhe nëse në të njëjtën kohë nuk kryhet testimi i plotë, ne përfundojmë me një produkt me funksionalitet të ri, por me të vjetrin që nuk funksionon pjesërisht. Ekzistojnë gjithashtu ndryshime në shkrimin e kodit për platforma të ndryshme, versione të OS, softuer. Në këtë drejtim, mund të imagjinohet se sa e vështirë është të ruash gjuhën e programimit Java dhe JVM, për të mos përmendur çështjet e sigurisë.

Për momentin është lëshuar Java Development Kit 10, e cila na ofron mekanizma standarde të sigurisë të lëshuara për Java SE 8 dhe të përshkruara në Dokumentacionin e Sigurisë. Në versionin e dhjetë, asgjë e re nuk u shtua.

Vini re se Oracle ka një Qendër të Burimeve të Sigurisë Java. Në përgjithësi, kompania e ndan sigurinë Java në katër seksione kryesore:

A) Zhvilluesit duhet:

ndiqni dhe përdorni të gjitha Përditësimet më të fundit mjediset e zhvillimit dhe sigurisë;

Përdorni programe të kontrollit të korrektësisë së kodit (për shembull, Checker Framework);

B) administratorët e sistemit duhet:

Ndiqni dhe përdorni të gjitha përditësimet më të fundit për Java dhe komponentët e nevojshëm që produkti të funksionojë (përfshirë OS, bibliotekat, kornizat, etj.);

Përdorni rregullat e vendosjes së Java të përshkruara nga dhe ;

Përdorni një vulë kohore të besueshme.

C) përdoruesit përfundimtarë duhet:

Përdorni gjithmonë versionin më të fundit origjinal të Java;

D) profesionistët e sigurisë duhet të:

Përdorni mjete të avancuara të menaxhimit dhe sigurisë (për shembull, Advanced Management Console);

Monitoroni instalimin në kohë të të gjitha përditësimeve të sigurisë;

Është e rëndësishme që të gjithë të ndjekin dhe të respektojnë rregullat dhe kërkesat e sigurisë. Është e mundur të arrihet një gjendje sigurie në një nivel adekuat vetëm duke punuar së bashku dhe duke zbatuar të gjitha masat e disponueshme (teknike, organizative). Siç tregon praktika ime, në 60% të organizatave, shërbimet e TI-së dhe të sigurisë së informacionit janë mirë me sigurinë, si dhe me përdoruesit që përdorin pajisje të korporatës dhe janë të lidhur me domen i vetëm. Por më të pakontrolluarit në këtë fushë janë zhvilluesit, drejtuesit e ekipeve, arkitektët.

Zhvillimi i softuerit dhe çështjet e sigurisë

Më gjerësisht, shkaqet kryesore të problemeve të sigurisë në aplikacione gjatë zhvillimit të softuerit janë si më poshtë:

A) Mungesa e kuptimit të terminologjisë së sigurisë në përgjithësi, për të mos përmendur njohuritë specifike dhe zgjidhjet e aplikuara.

Si rregull, zhvilluesit e lidhin sigurinë në rastin më të mirë me gjërat e mëposhtme: kontrollin e hyrjes dhe regjistrimin dhe mbrojtjen e fjalëkalimit, më rrallë - mbrojtjen e lidhjes në nivelin https (duke përdorur mekanizmat e enkriptimit që janë të disponueshëm jashtë kutisë si parazgjedhje). Kjo do të thotë, zyrtarisht ata do të përdorin metoda sigurie, të cilat në fakt do të mbeten formale, "për shfaqje", pa marrë parasysh kërkesat dhe nuancat:

Për fjalëkalimet: zakonisht përdoren vlerat e paracaktuara dhe nuk bëhen cilësime shtesë për gjatësinë, forcën, frekuencën e ndryshimit, mospërsëritshmërinë, numrin e përpjekjeve. Shumë shpesh, këto parametra nuk mund të rregullohen, pasi ato nuk janë përfshirë në detyrën e fushës së zhvillimit të softuerit, gjë që çon në nevojën për të shtuar kodin.

Mbi menaxhimin dhe regjistrimin e aksesit: në rastin më të mirë, zhvilluesit kanë përshkruar grupet ose rolet e përdoruesve dhe objektet e aksesit që duhet të jenë të disponueshme në softuer. Në rastin më të keq, vetë zhvilluesit "ndanë" seksionet dhe objektet në ato të nevojshme për përdoruesit dhe administratorët. Në rastin e parë, marrim një sistem që mund të konfigurohet në mënyrë fleksibël, por kërkon një kohë të konsiderueshme për të vendosur dhe rënë dakord për të drejtat. Në të dytën - një sistem zyrtar i kontrollit të aksesit. Për më tepër, zhvilluesit duhet të kuptojnë se çfarë lloj informacioni dhe në çfarë mase është e nevojshme të regjistroheni. Megjithatë, shpesh atyre nuk u jepet ky informacion, gjë që çon në detaje të pamjaftueshme në regjistra për të analizuar incidentet ose për të kuptuar se çfarë po ndodh në softuer. Ose për ruajtjen e tepërt të regjistrave dhe një sasi të madhe informacioni, gjë që imponon kufizime të konsiderueshme në aftësinë për të ruajtur informacionin për periudhën e kërkuar kohore (për shembull, një deri në tre vjet) ose bëhet e nevojshme të blini depo informacioni shtesë. Me regjistrimin e tepërt të informacionit, lindin probleme shtesë me shpejtësinë e analizës dhe analizës së incidenteve dhe shpejtësinë e gjetjes së informacionit të nevojshëm. Teprica mund të kërkojë gjithashtu fonde shtesë për zgjerimin e stafit, blerjen e sistemeve SIEM me personalizimin e rregullave unike të përpunimit të informacionit ose të çojë në rreziqe që lidhen me informacionin e vjetëruar. Në të njëjtën kohë, harxhohet shumë kohë për analizën dhe përpunimin e informacionit.

Mbrojtja e kanaleve të komunikimit nuk është më pak e rëndësishme, veçanërisht për sistemet e pagesave dhe ato bankare, ku përveç zbulimit të të dhënave personale dhe personale, janë të mundshme edhe humbje financiare. Më shpesh ndodh që ata të mos mendojnë për mbrojtjen e kanaleve dhe mediumit të transmetimit të informacionit, dhe nëse mendojnë, përdorin cilësimet "e parazgjedhur", për shembull, TLS / SSL. Por ka edhe veçoritë e veta në zgjedhjen e versionit të protokollit (TLS 1.1, 1.2, 1.3 ose SSL v1-3), algoritmin e kriptimit (RC4, IDEA, Triple DES, SEED, Camellia ose AES), gjatësinë e çelësit. Ndonjëherë, për shembull, zgjidhet protokolli i saktë TLS 1.2, me kriptim AES, një gjatësi çelësi prej 256 bit, por aftësia për të zgjedhur një adresë në portin 443 për HTTPS dhe ose portin 80 për HTTP harrohet, në vend që të bllokohet porta 80. , si rezultat i të cilit bëhet e mundur aksesi përmes një kanali të pasigurt. Ose, për shembull, ata ngrenë infrastrukturën në makinat virtuale dhe nuk mendojnë fare për nevojën e mbylljes së aksesit në rrjet midis makinave virtuale.

B) Problemi i dytë lidhet me biznesin, pasi investon në funksionalitete specifike të veçanta që nuk marrin parasysh blloqet e sigurisë.

Fatkeqësisht, biznesi nuk e kupton gjithmonë pse duhet të shpenzojë burime në blloqe sigurie, nëse nuk ka përfitim funksional prej tyre, produkti nuk do të sjellë më shumë para dhe ka vetëm rreziqe të mundshme që mund të mos funksionojnë. Bizneset më shpesh e kuptojnë nevojën për të investuar në siguri kur tashmë ka ndodhur një incident i sigurisë së informacionit.

Fatkeqësisht, për këtë nuk është fajtor vetëm biznesi, por edhe mjedisi i tij, i cili:

Gjithashtu nuk kupton në siguri;

U kursye buxheti për specialistët e sigurisë së informacionit (ata nuk punësohen fare, ose janë punësuar specialistë shumë të specializuar, ose është punësuar një person që është përgjegjës për gjithçka);

Dështoi të përçojë në mënyrë të arsyeshme nevojën për siguri dhe të vërtetojë saktë rreziqet aktuale (reputacion, financiar, të përkohshëm).

C) Problem komunikimi në kompani ose mungesë e tij.

Ky është rasti kur biznesi dhe mjedisi i tij e kuptojnë nevojën dhe rëndësinë e sigurisë së informacionit. Ata ndanë buxhete, punësuan specialistë të duhur, por ka vështirësi në komunikimin midis njësive të biznesit dhe shërbimeve të sigurisë së informacionit/IT, zhvilluesve.

D) Ndërgjegjësimi i pamjaftueshëm i përdoruesve të zakonshëm të shoqërisë në çështjet e sigurisë së informacionit.

Le të supozojmë se janë të gjitha nënndarjet e nevojshme, specialistët, masat teknike dhe organizative. Por përdoruesit pushojnë dhe nuk duan të punojnë sipas rregullave. Kjo është një situatë shumë e zakonshme, dhe është gjithashtu e nevojshme ta zgjidhim atë në mënyrë gjithëpërfshirëse, sepse njerëzit nuk e kuptojnë pse u duhet punë shtesë për të përmbushur çështjet e sigurisë së informacionit (skanoni skedarët me antivirus, mbani mend fjalëkalimet komplekse, njohin dhe respektojnë politikat dhe biznesin proceset, etj.). Është e nevojshme të organizohen periodikisht klasa master, të tregohet në nivelin e përditshëm se çfarë është siguria e informacionit, çfarë problemesh dhe zgjidhjesh ekzistojnë, për të sjellë qëllimet dhe objektivat globale të sigurisë së informacionit, për t'i motivuar ato dhe ndikimin e tyre në biznes.

E) Mungesa e arkitektëve të sigurisë së informacionit - specialistët e sigurisë së informacionit jo gjithmonë marrin pjesë në zhvillimin e softuerit, dhe vetë programuesit mendojnë për sigurinë e arkitekturës dhe përdorimin e modeleve të shkruara dhe të gatshme të sigurisë (Security Models).

Zhvilluesit nuk i dinë dhe nuk mund t'i dinë të gjitha nuancat, pasi detyra e tyre është të përfundojnë zhvillimin dhe të kalojnë në atë tjetër. Nëse gërmoni në vetë zhvillimin, procesi është shumë më i ndërlikuar nga sa duket. Prandaj, është e nevojshme të merret qartë detyra nga biznesi, ta zbërthehet në mini-detyra të kuptueshme për zhvilluesit, të kryhet zhvillimi, të kryhet testimi alfa dhe beta, ngarkimi, testimi funksional, rregullimi i gabimeve, kthimi në teste - ky proces është ciklik. dhe të gjatë. Prandaj, nuk është për t'u habitur që ata nuk kanë burime të mjaftueshme për të menduar për sigurinë e produktit deri në detajet më të vogla.

Për të qenë në gjendje të flisni për sigurinë, duhet të zgjidhni problemet e përshkruara më sipër. Unë nuk i përshkruaj në mënyrë specifike opsionet për zgjidhje, pasi gjithçka varet nga problemet specifike, mjedisi, kushtet. Nuk ka asnjë pilulë universale dhe duhet përdorur çdo masë e mundshme. Detyra kryesore është të sigurohet që të gjithë punonjësit e kompanisë të kuptojnë, kuptojnë dhe respektojnë kërkesat e sigurisë së informacionit dhe të jenë të interesuar për respektimin e tyre. Dhe vetëm atëherë do të jetë e mundur të flitet për efikasitetin dhe nivelin e mirë të pjekurisë së sigurisë së informacionit në kompani.

Seksioni Java i developerWorks përmban qindra artikuj, udhëzime, këshilla dhe përmbajtje të shkruara nga komuniteti Java për t'ju ndihmuar të përfitoni sa më shumë nga platforma Java dhe teknologjitë përkatëse në zhvillimin e aplikacionit tuaj. Megjithatë, për zhvilluesit fillestarë që sapo kanë filluar me Java, mund të jetë e vështirë të lundrosh në vëllimin e madh të burimeve të disponueshme në internet. Prandaj, ne kemi krijuar këtë faqe, e cila ofron një pasqyrë të teknologjive kryesore Java në kontekstin e përgjithshëm të aftësive të kësaj gjuhe. Këtu do të gjeni lidhje për burime të mëtejshme mësimore Java, si artikujt e developerWorks për fillestarët dhe burime të tjera arsimore, si dhe lidhjet e shkarkimit për produktet e IBM.

Jeni një zhvillues fillestar Java? Në këtë faqe do të gjeni një përmbledhje të teknologjive kryesore Java™ dhe vendin e tyre në zhvillimin modern të softuerit. Me lidhje me artikujt prezantues të zhvilluesitWorks mbi këtë dhe tema të ngjashme, burime të tjera arsimore, si dhe shkarkime dhe produkte IBM, kjo faqe është një pikënisje e shkëlqyer për të mësuar Java.

Çfarë është "teknologjitë Java"?

Java është një gjuhë programimi dhe një platformë.

Së pari, Java është një objekt i orientuar drejt nivelit të lartë gjuhë programimi. Në përpilimi, i cili ekzekutohet një herë gjatë ndërtimit të aplikacionit, kodi Java konvertohet në një kod gjuhësor të ndërmjetëm ( bytekod). Nga ana tjetër, bytekodi analizohet dhe ekzekutohet ( interpretuar) Java Virtual Machine (JVM), e cila vepron si një përkthyes midis gjuhës Java dhe harduerit të sistemit operativ. Të gjitha implementimet Java duhet të imitojnë JVM në mënyrë që aplikacionet që krijoni të mund të ekzekutohen në çdo sistem që përfshin Makinën Virtuale Java.

Së dyti, Java është platformë softuerike, versionet e të cilave ofrohen për sisteme të ndryshme harduerike. Ekzistojnë tre versione të Java-s (shih seksionin Java Platforma Editions më poshtë). Platforma përfshin një JVM dhe një ndërfaqe programimi të aplikacionit Java (API), e cila është një grup i gjerë i komponentëve (klasave) të softuerit të gatshëm që lehtësojnë zhvillimin dhe vendosjen e aplikacioneve dhe aplikacioneve. Java API mbulon shumë aspekte të zhvillimit të Java, duke përfshirë manipulimin e objekteve bazë, programimin e rrjetit, sigurinë, gjenerimin e XML dhe shërbimet e Uebit. API organizohet si një grup bibliotekash të quajtura paketat, të cilat përmbajnë klasa dhe ndërfaqe për zgjidhjen e detyrave të lidhura.

Përveç API-së, çdo zbatim i plotë i platformës Java duhet të përfshijë sa vijon:

  • Paketa e veglave të një zhvilluesi për përpilimin, ekzekutimin, monitorimin, korrigjimin dhe dokumentimin e aplikacioneve.
  • Mekanizmat standardë për vendosjen e aplikacioneve në një mjedis përdoruesi.
  • Mjete që ju lejojnë të krijoni ndërfaqe komplekse grafike të përdoruesit.
  • Bibliotekat e integrimit për qasje programatike në bazat e të dhënave dhe manipulim në distancë të objekteve.

JVM është gjithashtu një mjedis i provuar për ekzekutimin e aplikacioneve të shkruara në gjuhë jo Java. Në veçanti, Groovy, Scala dhe zbatimet e specializuara të Ruby dhe Python u ofrojnë zhvilluesve mundësinë për të ekzekutuar gjuhë dinamike dhe funksionale në JVM (për më shumë informacion, shihni Si lidhet Java me gjuhët dinamike dhe programimin funksional?) .

Gjuha Java u zhvillua nga Sun Microsystems. Aktualisht, zhvillimi i teknologjive Java, duke përfshirë punën për specifikimet, zbatimin e referencës dhe testet e përputhshmërisë, kryhet nën kontrollin e JCP (Java Community Process), një organizatë e hapur jofitimprurëse që bashkon zhvilluesit Java dhe mbajtësit e licencave. Në vitin 2007, Sun lëshoi ​​​​një version falas të Java, duke përfshirë përbërësit kryesorë të platformës, nën licencën GNU GPL v2 (GPLv2). Mund të lexoni më shumë rreth këtij versioni në Java dhe Zhvillimi i Software-it të Lirë.

Pse duhet të mësoni Java?

Avantazhi kryesor i gjuhës Java shprehet në transportueshmërinë e aplikacioneve Java, d.m.th. aftësia për të ekzekutuar në çdo platformë harduerike dhe sistem operativ, pasi të gjitha JVM-të, pavarësisht se në cilën platformë funksionojnë, janë në gjendje të ekzekutojnë të njëjtin bajtkod.

Gjuha Java dhe platforma janë shumë të shkallëzueshme. Mund të krijoni lehtësisht aplikacione për pajisje me burime të kufizuara duke përshtatur softuerin e shkruar fillimisht për kompjuterët desktop. Në të njëjtën kohë, gjuha Java është gjithashtu ideale për zhvillimin e aplikacioneve në ueb nga ana e serverit, me ndihmën e të cilave përdoruesi mund të aksesojë burimet kompjuterike në ueb. Aftësia për të ekzekutuar në mënyrë të sigurt kodin e ngarkuar në ueb u ndërtua në Java që në fillim, kështu që gjuha ofron nivel të lartë sigurinë kur përdorni internetin. Aplikacionet në ueb ekzekutohen në mjediset e kohës së funksionimit të quajtura Kontejnerët në ueb, të cilat ofrojnë shumë shërbime të përshtatshme, duke përfshirë dërgimin e kërkesave, sigurinë dhe konkurencën, menaxhimin e ciklit jetësor dhe aksesin në API si menaxhimi i emrave, transaksionet dhe emaili. Seriali është shkruar në Java serverët e aplikacioneve, të cilat veprojnë si kontejnerë ueb për komponentët e tjerë të shërbimit Java, XML dhe Uebit që ndërveprojnë me bazat e të dhënave dhe gjenerojnë në mënyrë dinamike përmbajtje të faqes së internetit. Këta serverë ofrojnë gjithashtu një mjedis për vendosjen e aplikacioneve dhe mjeteve të ndërmarrjes për menaxhimin e transaksioneve, grupimin, sigurinë, lidhjen dhe nivelin e kërkuar të disponueshmërisë, performancës dhe shkallëzueshmërisë.

Duke mbështetur përdorimin e standardeve të hapura në aplikacionet e ndërmarrjeve, Java hap derën për shërbimet e uebit të bazuara në XML për të ndihmuar partnerët e biznesit të komunikojnë burimet e informacionit dhe aplikacionet. Java është në qendër të shumë prej produkteve dhe shërbimeve të konsulencës teknike të IBM (Produktet dhe Teknologjitë e IBM për Zhvilluesit Java) dhe luan një rol kyç në një sërë fushash kyçe të biznesit të kompanisë.

  • Eksploroni qasjen e IBM në , dhe mësoni se si SOA ju ndihmon të ndërtoni aplikacione heterogjene që ofrojnë funksionalitet nga burime të ndryshme brenda dhe jashtë ndërmarrjes, duke mbështetur kështu proceset horizontale të biznesit. IBM ofron një sërë mjetesh të fokusuara në biznes dhe IT për t'ju ndihmuar të filloni të përdorni këtë teknologji.
  • është një qasje përbërëse e ofruar nga IBM, duke ofruar një gamë të plotë mundësish për ndryshime strategjike. Zgjidhjet e ofruara bazohen në një softuer fleksibël, të zgjerueshëm, të bazuar në standarde të hapura (përfshirë Java) dhe infrastrukturën harduerike.

Edicionet e platformës Java
Ekzistojnë tre botime të platformës Java që u mundësojnë zhvilluesve të aplikacioneve, ofruesve të shërbimeve dhe prodhuesve të pajisjeve të krijojnë zgjidhje që plotësojnë nevojat e grupeve specifike të përdoruesve.

  • Java SE (Edicioni standard i platformës Java). Duke përdorur Java SE, mund të krijoni dhe të vendosni aplikacione Java desktop dhe server, dhe të zhvilloni softuer të integruar dhe në kohë reale. Edicioni Java SE përfshin klasat e nevojshme për të krijuar shërbime Web dhe ato bazë komponentët Java EE (Java Platform, Enterprise Edition). Versioni aktual i platformës Java SE është Java SE 6, i njohur gjithashtu si Mustang. Megjithatë, shumë zhvillues janë ende duke përdorur Java SE 5 (Java 5.0, ose "Tiger").
    • Për një përmbledhje të shkëlqyer të veçorive të Java SE 5, shihni artikujt në . Shumica e aspekteve të programimit për platformën Java SE 5, për të cilën janë ndërtuar shumë aplikacione ekzistuese, janë ende të rëndësishme për Java SE 6.
    • Ky artikull përshkruan veçoritë e reja në Java SE 6 për monitorimin dhe vlerësimin e performancës së aplikacionit.
    • Ky artikull ofron një hyrje në një gjuhë skriptimi që funksionon në krye të platformës Java SE 6 për të thjeshtuar programimin e ndërfaqeve komplekse të përdoruesit.
    • Një seri me dy pjesë të titulluar ofron një hyrje në API të ofruar nga Java SE 6, e cila lejon aplikacionet Java të ekzekutojnë kodin dinamik të skriptit dhe anasjelltas. .
  • Java EE (Platforma Java, Edition Enterprise). Ky version i ndërmarrjes i platformës i ndihmon zhvilluesit të ndërtojnë dhe vendosin aplikacione të serverëve Java portativë, të besueshëm, të shkallëzuar dhe të sigurt. Duke u mbështetur në aftësitë e Java SE, Java EE ofron shërbime në internet, modele komponentësh, API të largimit dhe menaxhimit për zbatimin e softuerit të ndërmarrjes SOA dhe Web 2.0.
    • Lexoni artikujt dhe për një përmbledhje hyrëse të veçorive të versionit më të fundit të platformës Java EE.
    • Shikoni serinë, një kornizë popullore për ndërtimin e aplikacioneve Java EE të lehta dhe të fuqishme.
    • Për më shumë informacion rreth Java EE, shihni artikujt në .
    • Artikujt në serinë Getting Started: Migrate to Java Platform janë shkruar posaçërisht për zhvilluesit e .NET, aplikacionet e klientit/serverit të Windows dhe aplikacionet ASP për t'i ndihmuar ata të migrojnë në Java.
  • Java ME (Platforma Java, Micro Edition). Java ME ofron një mjedis për ekzekutimin e aplikacioneve të ndërtuara për një gamë të gjerë sistemesh celulare dhe të integruara, të tilla si telefonat celularë, PDA, set-top boxes dhe printera. Ky botim i platformës ofron ndërfaqe fleksibël të përdoruesit, një model të fortë sigurie, një gamë të plotë të protokolleve të integruara të rrjetit dhe mbështetje të fuqishme për aplikacionet e ngarkuara dinamikisht në internet dhe jashtë linje. Aplikacionet e bazuara në specifikimet Java ME mund të ekzekutohen në pajisje të shumta dhe të jenë ende në gjendje të përdorin në mënyrë efektive aftësitë e tyre të sistemit.

Cilat teknologji janë komponentët thelbësorë të platformës Java?

Seksioni Java i developerWorks përmban . Më poshtë janë renditur disa nga komponentët që mund të jenë pako shtesë dhe shtesat e përfshira në çdo edicion të platformës. Çdo teknologji ka një përshkrim të shkurtër dhe një lidhje me burimet që përshkruajnë vendin e saj në botën Java. Vini re se shumë nga komponentët janë të përfshirë me të tre botimet e platformës Java.

Teknologjitë e përfshira në Java SE:

  • Klasat e fondacionit Java (lëkundje)(JFC) është një grup bibliotekash të klasës Java për krijimin e ndërfaqeve grafike të përdoruesit dhe veçorive të tjera grafike në aplikacionet e klientit Java. Menaxhimi .
  • JavaNdihmëështë një sistem ndihmës i shtrirë, i pavarur nga platforma, i cili u lejon zhvilluesve dhe shkrimtarëve teknikë të ngulitin faqe ndihme në aplikacione, komponentë softuerësh, aplikacione, sisteme operative dhe pajisje, dhe të krijojnë sisteme ndihmëse të bazuara në ueb. Referojuni artikullit.
  • falë Ndërfaqja origjinale Java(JNI) Aplikacionet Java që ekzekutohen brenda JVM mund të ndërveprojnë me programe dhe biblioteka të shkruara në gjuhë të tjera programimi.
  • Teknologjia Java Web Start thjeshton vendosjen e aplikacioneve Java duke i lejuar përdoruesit të shkarkojnë dhe ekzekutojnë mjete të pasura softuerike, të tilla si spreadsheets, me një klikim, pa instalim (shih artikullin).
  • Lidhshmëria e bazës së të dhënave Java(JDBC) është një API që ofron mjetet për të hyrë në shumicën e burimeve të të dhënave relacionale nga aplikacionet Java. Mund të lidhet me një sërë bazash të dhënash SQL, si dhe me burime të tjera tabelare të të dhënave, si p.sh. tabelat dhe skedarët e sheshtë.
  • Java e avancuar Imazhe(JAI) është një API e orientuar nga objekti që ofron një model të thjeshtë programimi të nivelit të lartë që e bën të lehtë manipulimin e imazheve.
  • Shërbimi i Autentifikimit dhe Autorizimit Java(JAAS) është një teknologji që ofron shërbime me mjetet për të vërtetuar përdoruesit dhe për të verifikuar të drejtat e tyre të aksesit. Ai përfshin një implementim Java të infrastrukturës standarde PAM (Pluggable Authentication Module) dhe mbështet autorizimin e nivelit të përdoruesit.
  • Zgjerimi i kriptografisë Java(JCE) është një grup paketash që ofrojnë infrastrukturë dhe zbatime të algoritmeve për enkriptim, gjenerim dhe shkëmbim çelësash, si dhe vërtetim të mesazheve (Message Authentication Code - MAC). Kjo teknologji përfshin gjithashtu mbështetje për shifrat simetrike, asimetrike, të bllokut dhe të transmetimit, si dhe për rryma të sigurta dhe objekte të mbyllura. Më shumë informacion mund të gjeni në manual.
  • Objektet e të dhënave Java(JDO) është një model abstrakt standard i qëndrueshmërisë së objektit Java i bazuar në ndërfaqe. Me të, zhvilluesit mund të ruajnë drejtpërdrejt shembuj të klasave Java fusha lëndore në ruajtjen e vazhdueshme (të tilla si një bazë të dhënash). Ky model në disa raste mund të zëvendësojë shkrimin e drejtpërdrejtë në një skedar, serializimin, JDBC, si dhe përdorimin e komponentëve EJB nga ana e serverit, si të menaxhuar nga kontejnerët (Këmbëngulja e menaxhuar nga kontejneri - CMP) dhe gjendja e vetë-ruajtjes (Qëndrueshmëria e menaxhuar e Bean - BMP).
  • Paketa Zgjerimet e menaxhimit të Java-s(JMX) ofron mjete për ndërtimin e aplikacioneve të shpërndara, modulare, dinamike dhe të aktivizuara në ueb për menaxhimin dhe monitorimin e pajisjeve, softuerëve dhe rrjeteve bazuar në ofrimin e shërbimit (shih artikullin ).
  • Java Media Framework(JMF) ju lejon të shtoni informacione audio, video dhe media të tjera në aplikacionet dhe aplikacionet Java (shih manualin).
  • Emërtimi Java dhe Ndërfaqja e Drejtorisë(JNDI) është një ndërfaqe e unifikuar për qasje shërbime të ndryshme emrat dhe drejtoritë në rrjetin e korporatës. Ai i lejon aplikacionet të lidhen në mënyrë efikase me shërbime të ndryshme emërtimi dhe drejtorie në një mjedis heterogjen ndërmarrje.
  • Zgjatjet e foleve të sigurta Java(JSSE) është një grup paketash për të mundësuar shkëmbimin e sigurt të informacionit në internet. Ata zbatojnë versionin Java Protokollet SSL(Secure Sockets Layer) dhe TLS (Transport Layer Security) dhe ofrojnë mjete për enkriptimin e të dhënave, kontrollin e integritetit të mesazheve, vërtetimin e serverit dhe klientit (kjo e fundit është opsionale).
  • Java API i të folurit (JSAPI) përfshin specifikimet JSGF (Java Speech Grammar Format) dhe JSML (Java Speech Markup Language). Kjo paketë ofron aftësi për përdorimin e teknologjive të të folurit në ndërfaqen e përdoruesit. JSAPI është një API ndër-platformë për mbështetjen e njohjes komandat zanore, sistemet e futjes së të dhënave të të folurit dhe sintezës së të folurit. Për më shumë informacion, ju lutemi kontaktoni seksioni tjetër artikuj .
  • Java 3Dështë një API që ofron aftësi grafike 3D ndër-platformë dhe të shkallëzueshme në aplikacionet Java. API është i organizuar si një grup ndërfaqesh të orientuara nga objekti që formojnë një model të vetëm, të thjeshtë dhe të nivelit të lartë programimi.
  • Mekanizmi Lehtësia e meta të dhënave Lejon zhvilluesit të përcaktojnë atributet për klasat, ndërfaqet, fushat dhe metodat në mënyrë që ato të trajtohen ndryshe nga mjetet e autorizimit, mjetet e vendosjes dhe bibliotekat e palëve të treta në kohën e ekzekutimit (shih ).
  • Java Content Repository APIështë një API për aksesin në depo të përmbajtjes në Java SE, pavarësisht nga zbatimi i tyre. Depo të tilla janë sisteme të menaxhimit të informacionit të nivelit të lartë dhe janë versione të zgjeruara të depove klasike të të dhënave.
  • Numërimet(numërimi) është një lloj i të dhënave që ju lejon të përshkruani elementë të ndryshëm të të dhënave si një grup konstantesh të shtypur.
  • Gjenerikët(llojet gjenerike) ju lejojnë të krijoni klasa me parametra (lloje abstrakte) që specifikohen në fazën e instancimit. Shih artikullin për më shumë detaje, dhe gjithashtu shiko artikullin se si llojet gjenerike e bëjnë të lehtë punën me koleksionet në Java SE 6.0.
  • Shërbimet komunale Konkurrencaështë një grup klasash që ofrojnë funksionalitet të nivelit të mesëm që zakonisht kërkohet nga aplikacionet paralele të përpunimit të të dhënave.
  • Java API për përpunimin XML(JAXP) është një API që lejon aplikacionet Java të analizojnë dhe transformojnë dokumentet XML, pavarësisht nga procesori XML i përdorur. Kjo i lejon aplikacionet të kalojnë lehtësisht midis përpunuesve të ndryshëm pa ndryshuar kodin e aplikacionit. Nga ana tjetër, teknologjia JAXB ( Java API për lidhjen XML) ofron mundësi për të automatizuar përputhjen dokumente XML dhe objektet Java.
  • SOAP me API të bashkëngjitjeve për Java(SAAJ) u ofron zhvilluesve funksionet për formimin dhe përpunimin e mesazheve në përputhje me specifikimin SOAP 1.1, duke specifikuar SOAP me Attachments (SOAP me bashkëngjitje). Shihni artikullin për më shumë detaje).

Teknologjitë e përfshira në J2EE:

  • Ndërmarrja JavaBeans(EJB) është një model komponenti që thjeshton zhvillimin e programeve të mesme duke ofruar shërbime të tilla si menaxhimi i transaksioneve, siguria dhe lidhja me bazën e të dhënave.
  • Specifikimi i portletit përcakton një grup API-sh për krijimin e portaleve Java, duke mbuluar aspekte të tilla si grumbullimi dhe prezantimi i informacionit, personalizimi dhe siguria (shih artikullin).
  • javamailështë një API që ofron një grup klasash abstrakte që modelojnë sistemin e postës.
  • Shërbimi i mesazheve Java(JMS) është një API që mbështet krijimin e aplikacioneve portative Java bazuar në mekanizmin e mesazheve. Ai përcakton grup i përbashkët konceptet dhe strategjitë bazë të programimit për të gjitha sistemet e mesazheve në përputhje me JMS.
  • Fytyrat e JavaServerit(JSF) ofron një model programimi që ju ndihmon të ndërtoni aplikacione në ueb duke ndërtuar faqe nga komponentë të ndërfaqes së përdoruesit të ripërdorshëm, duke i lidhur ata komponentë me burimet e të dhënave dhe ngjarjet nga ana e klientit me mbajtësit nga ana e serverit. Për më shumë informacion, shikoni udhëzuesin me dy pjesë dhe serinë e artikujve të kolonave.
  • Faqet e serverit Java(JSP) u ofron zhvilluesve të uebit mjetet për të krijimi i shpejtë dhe mbështetje të lehtë për faqet e internetit dinamike, ndër-platformë që ndajnë ndërfaqen e përdoruesit dhe gjenerimin e përmbajtjes në mënyrë që projektuesit të mund të ndryshojnë shënimin pa prekur përmbajtjen e krijuar në mënyrë dinamike (shih.
  • Biblioteka standarde e etiketave për faqet JavaServer(JSTL) është një grup etiketash të specializuara që ofrojnë një format standard për kryerjen e veprimeve të kërkuara nga shumë aplikacione Web. Shikoni Përditësoni faqet tuaja JSP me JSTL dhe serinë me katër pjesë të quajtur .
  • Java Servlets zgjeroni funksionalitetin e serverëve të uebit duke ofruar një qasje ndër-platformë, të bazuar në komponentë për ndërtimin e aplikacioneve në ueb, e cila është e lirë nga kufizimet e performancës së CGI.
  • Arkitektura e lidhësve J2EE(JCA) ofron një arkitekturë standarde për lidhjen e aplikacioneve J2EE me sistemet heterogjene të informacionit të ndërmarrjeve (EIS). Kjo arkitekturë përcakton një grup mekanizmash të shkallëzuar dhe të sigurt të bazuar në transaksione me anë të të cilave ofruesit EIS mund të ofrojnë përshtatës standard të burimeve për t'u përfshirë në një server aplikacioni. Për më shumë informacion, shihni artikujt dhe manualin.
  • Specifikimi i menaxhimit J2EE(JMX) përcakton modelin e informacionit të menaxhimit për platformën J2EE. Ky model është krijuar posaçërisht për të ndërvepruar me shumë sisteme dhe protokolle kontrolli. Ai përmban mjete standarde për hartëzimin me Modelin e Përbashkët të Informacionit (CIM), Bazën e Informacionit të Menaxhimit SNMP (MIB) dhe Modelin e Objekteve Java duke përdorur Komponentin EJB të Menaxhimit J2EE (MEJB).
  • Java Transaction API(JTA) është një API e nivelit të lartë të zbatimit dhe të pavarur nga protokolli që u ofron programeve dhe serverëve të aplikacioneve mjetet për të hyrë në transaksione. Shërbimi i Transaksionit Java(JTS) përcakton një implementim të një menaxheri transaksioni që mbështet JTA dhe zbaton një hartë themelore në Shërbimin e Transaksionit të Objekteve OMG (OTS 1.1). Përhapja e transaksioneve në JTS zbatohet duke përdorur protokollin Inter-ORB (IIOP). Shihni artikullin për më shumë detaje.

Teknologjitë e përfshira në J2ME:

  • Profili i pajisjes së informacionit celular(MIDP) është një nga dy konfigurimet që përbëjnë mjedisin e kohës së funksionimit Java për pajisjet celulare me burime të kufizuara. MIDP ofron aplikacione me funksionalitet bazë, duke përfshirë mjete për krijimin e ndërfaqeve të përdoruesit, lidhjen me burimet e rrjetit, ruajtjen dhe menaxhimin lokal cikli i jetes.
  • Konfigurimi i pajisjes së lidhur(CDC) është një kornizë e standardizuar për ndërtimin dhe vendosjen e aplikacioneve që mund të aksesohen nga shumë pajisje të lidhura në rrjet dhe të integruara.
  • API grafike celulare 3D për J2ME(M3G) është një API 3D interaktive e lehtë që është një komponent opsional i J2ME. Mund të lexoni më shumë rreth tij në një seri prej dy pjesësh.

Teknologjitë Java dhe zhvillimi i aplikacioneve në ueb

Për shumë vite, Java ka qenë gjuha kryesore për zhvillimin e aplikacioneve në ueb. Kohët e fundit, shumë korniza dhe biblioteka janë shfaqur për të lehtësuar krijimin e aplikacioneve Java Web, duke përfshirë aplikacione të pasura interaktive Web 2.0.

Shikoni temat e Zhvillimit të Uebit Java më poshtë.

  • Artikujt në kolonë flasin për Grails, një kornizë moderne për ndërtimin e aplikacioneve Web të shkruara në Groovy. Grails ju lejon të kombinoni pa probleme kodin Java të shkruar më parë me aftësinë për të përdorur një gjuhë skriptimi fleksibël dhe dinamik. Për më shumë informacion mbi Groovy, shihni Çfarë ka të bëjë Java me gjuhët dinamike dhe programimin funksional? më poshtë.
  • Ajax është një metodologji programimi që përdor gjuhët e skriptimit të klientit për të komunikuar me një server në internet, duke ju lejuar të përditësoni shpejt informacionin në faqe pa pasur nevojë të rindezje e plotë. Pasi të keni lexuar serinë e artikujve dhe , do të mësoni se si Ajax mund t'ju ndihmojë si zhvillues i aplikacioneve Java. Për më shumë informacion, shihni developerWorks.
  • JavaServer Faces (JSF) ofron një model programimi për të ndihmuar në ndërtimin e aplikacioneve në ueb duke ndërtuar faqe nga komponentë të ripërdorshëm ndërfaqja e përdoruesit, si dhe lidhjen e këtyre komponentëve me burimet e të dhënave dhe ngjarjet e krijuara në klient - me mbajtësit e serverëve. Për më shumë informacion, shikoni udhëzuesin me dy pjesë dhe serinë e artikujve të kolonave.
  • Platforma e Mjeteve të Uebit të Eclipse (WTP) zgjeron popullaritetin Zhvillimi i eklipsit, duke shtuar mjete për ndërtimin e aplikacioneve Web bazuar në teknologjitë Java EE (shih udhëzuesin).
  • DeveloperWorks ka shumë burime të tjera të shkëlqyera për këto tema.

Teknologjitë Java, SOA dhe shërbimet e Uebit

Arkitektura e Orientuar në Shërbimin (SOA) është një model komponenti që lidh modulet funksionale të një aplikacioni (i njohur si Shërbimet nga lindi termi Shërbimet Web) nëpërmjet ndërfaqeve dhe kontratave të përshkruara në mënyrë rigoroze. Përkufizimet e ndërfaqes janë të pavarura nga hardueri, sistemi operativ dhe gjuha e programimit në të cilën zbatohet shërbimi, duke mbështetur kështu ndërveprimin e unifikuar ndërmjet shërbimeve që janë komponentë të sistemeve të ndryshme. SOA është një shembull i një modeli programimi të lidhur lirshëm që ofron një alternativë ndaj modeleve klasike, të lidhura ngushtë me orientimin nga objekti.

Të krijuara në këtë mënyrë, shërbimet e uebit ju lejojnë të përshkruani rregullat dhe proceset e biznesit në XML, në mënyrë që aplikacionet të mund të ndërveprojnë në mënyrë të pavarur nga platformat dhe gjuhët e programimit të përdorura. Teknologjitë XML promovojnë transportueshmërinë e të dhënave dhe e bëjnë më të lehtë krijimin e mesazheve, ndërsa teknologjitë Java bëjnë të mundur shkrimin e kodit portativ. XML dhe Java shkojnë krah për krah, duke i bërë ato çiftimin e përsosur të teknologjisë për ndërtimin dhe vendosjen e shërbimeve të Uebit.

Informacion më të detajuar mund të merret duke lexuar materialet e mëposhtme:

  • Faqet dhe faqja e internetit e developerWorks do t'ju ndihmojnë të lundroni në këto teknologji sfiduese.
  • Artikujt në këtë seri mbulojnë kornizat e shërbimit Java Ueb dhe shtresat e reja funksionale të ndërtuara në krye të këtyre shërbimeve.
  • Ky artikull ofron një hyrje në stilin elegant të dizajnit të shërbimeve të Uebit të quajtur Transferimi i Shtetit Përfaqësues (REST) ​​dhe shpjegon se si të përdorni Java për të krijuar shërbime Ueb të bazuara në REST.
  • Një kuptim i JAX-RPC (RPC i bazuar në Java API për të punuar me XML) është thelbësor për ndërtimin e shërbimeve efikase të Java Web.
  • JAX-WS është hapi tjetër i dukshëm në evolucionin e JAX-RPC. Një hyrje praktike për këtë API të re është dhënë në .
  • Seria e artikujve është një udhëzues për Arkitekturën e Komponentit të Shërbimit (SCA) - një specifikim që përshkruan një model për zhvillimin e aplikacioneve dhe sistemeve të bazuara në parimet SOA.
  • Ky artikull ofron një hyrje në kornizën e objekteve të të dhënave të shërbimit. të dhënat e shërbimit) që thjeshton modelin e të dhënave Java EE për ndërtimin e aplikacioneve SOA.

Çfarë lidhje ka Java me gjuhët dinamike dhe programimin funksional?

Shumë zhvillues që janë të rinj në Java kanë një përvojë të pasur me gjuhë të tjera programimi. Në të njëjtën kohë, edhe programuesit më të nderuar pranojnë se Java nuk është një gjuhë ideale për zgjidhje të gjitha detyrat e hasura në praktikë. Për fat të mirë, me mbështetjen e JVM, kur zhvilloni aplikacione për platformën Java, mund të përfitoni plotësisht nga skriptimet moderne dinamike dhe gjuhët funksionale. Fleksibiliteti dhe dinamizmi i këtyre gjuhëve rezulton të jetë shumë i dobishëm gjatë prototipit dhe zbatimit të llojeve të caktuara të aplikacioneve.

Mund të lexoni më shumë rreth mundësive të përdorimit të gjuhëve dinamike dhe funksionale në platformën Java në materialet, lidhjet me të cilat janë dhënë më poshtë.

  • Gjuha e skriptimit Groovy lejon zhvilluesit Java të përdorin konstruktet dhe bibliotekat më të njohura të gjuhës, ndërkohë që ofron një mjedis zhvillimi fleksibël dhe dinamik që nuk kërkon kompilim, thjeshton sintaksën dhe mbështet skriptimin brenda aplikacioneve të zakonshme Java. Një pasqyrë e detajuar e mundësive të kësaj gjuhe jepet në artikujt e serisë.
  • API i ri Scripting në Java SE 6, i cili është i pajtueshëm me Java SE 5 dhe përmban një grup të vogël ndërfaqesh dhe klasash, ofron një mënyrë të thjeshtë për të thirrur skriptet e shkruara në dhjetëra gjuhë nga kodi Java. Me të, ju mund të ngarkoni dhe telefononi skriptet e jashtme në kohën e ekzekutimit, duke ndryshuar në mënyrë dinamike sjelljen e aplikacionit. Mund të lexoni më shumë rreth kësaj API në një seri me dy pjesë të quajtur .
  • Jeni një mbështetës i zjarrtë i programimit funksional? Më pas duhet t'i kushtoni vëmendje kolonës, e cila flet për Scala, një gjuhë programimi për JVM që kombinon një qasje zhvillimi funksionale dhe të orientuar nga objekti.
  • VM-të kanë mbështetur gjuhët alternative të programimit për një kohë të gjatë. Në artikujt e kolonës, mund të lexoni rreth zbatimeve për JVM në gjuhë të tilla si Rexx, Ruby, JavaScript, Python dhe disa të tjera.

Java dhe Krijimi i Software-it të Lirë

Janë të panumërta biblioteka Java, mjete veglash, korniza, programe dhe serverë aplikacionesh që hapin mundësi shtesë për zhvilluesit për të përdorur këtë platformë të fuqishme. Një sërë teknologjish falas janë përfshirë në platformën Java me kalimin e kohës dhe të tjera kanë mbetur të njohura me zhvilluesit Java gjatë viteve, në disa raste duke vepruar si standarde de facto.

  • Apache Software Foundation (EN) bashkon shumë projekte me burim të hapur, shumica e të cilave janë zhvilluar duke përdorur teknologjitë Java. Disa anëtarë të kësaj familjeje projektesh janë renditur më poshtë.
    • Apache Struts (EN) është një kornizë për ndërtimin e aplikacioneve në ueb që ndjekin arkitekturën Model-View-Controller.
    • Apache Shale (EN) është një tjetër kornizë moderne për ndërtimin e aplikacioneve në ueb, e cila është pasardhëse e Struts dhe bazohet në teknologjinë JSP (JavaServer Pages). Një hyrje për Shale mund të gjendet në .
    • Apache Ant është standardi de fakto për automatizimin e procesit të ndërtimit të aplikacioneve Java.
    • Vegla e ndërtimit të Apache Maven u krijua për të përmbushur nevojat e projekteve të zhvillimit të softuerit të sotëm, të cilat karakterizohen nga bashkëpunimi dinamik midis ekipeve të zhvillimit dhe varësia nga shumë komponentë të mirëmbajtur në mënyrë të pavarur (shih udhëzuesin).
    • Apache Tomcat është një kontejner i njohur në internet që mbështet Servlets dhe Faqet e Serverit Java (JSP).
    • Projekti Apache Geronimo(EN) ka të bëjë me ndërtimin e një serveri aplikacioni Java EE plotësisht të përputhshëm me specifikat, bazuar në teknologjinë e pastër pa pagesë. Mund të lexoni më shumë rreth Geronimo në këtë artikull, si dhe në developerWorks, i cili ka shumë përmbajtje të shkëlqyer.
    • Apache Derby (EN) është një server i bazës së të dhënave relacionale i implementuar tërësisht në Java. Një hyrje në Derby është dhënë në artikull.
  • Eclipse(EN) është një platformë e hapur dhe e pavarur zhvillimi dhe një grup mjetesh bazë për krijimin e softuerit. Është shkruar në Java dhe ofron një kornizë shtesë që e bën të lehtë zhvillimin, integrimin dhe përdorimin e mjeteve softuerike. IBM është një anëtar themelues i Eclipse.org dhe është një anëtar aktiv i bordit drejtues dhe nënkomisioneve të projektit. Ju mund të lexoni për disa teknologji përbërëse të platformës Eclipse që synojnë krijimin e aplikacioneve Java në materialet e mëposhtme:
    • AspectJ(EN) është një shtesë e gjuhës Java e orientuar nga aspekti që mund të përdoret për të modularizuar funksionalitetin nga skaji në fund, si p.sh. prerjet ose trajtimin e përjashtimeve.
    • Paketa e veglave standarde të miniaplikacioneve (EN) (SWT) është një paketë veglash që ju lejon të përdorni aftësitë e sistemit operativ për të krijuar elementë të ndërfaqes së përdoruesit në një mënyrë efikase dhe të lëvizshme.
    • Mylyn(EN) është një sistem i fuqishëm i menaxhimit të punës për përdoruesit e Eclipse. Udhëzime të hollësishme jepen në artikuj dhe e njohur më parë si "Acegi Security for Spring" është një zgjidhje e fuqishme dhe fleksibël sigurie për aplikacionet e ndërmarrjeve të ndërtuara në krye të kornizës Spring. Është mbuluar në detaje në katër artikuj të serisë.
  • Sun Microsystems gjithashtu ka filluar punën në , duke lançuar projektet e mëposhtme të komunitetit në java.net(EN):
    • OpenJDK

Si të zhvilloni aftësitë e programimit Java?

Ka dy mënyra kryesore për të zhvilluar aftësitë tuaja të programimit Java: merrni një kurs trajnimi special (me mundësinë e certifikimit) ose mësoni Java vetë duke praktikuar kodimin. Kurset e trajnimit jo vetëm që ju lejojnë të mësoni nga zhvillues të aftë, por gjithashtu ju japin mundësinë për të fituar një certifikim që mund të bindë një punëdhënës të mundshëm se keni aftësitë e nevojshme për të zgjidhur sfidat teknike me të cilat përballemi. Duke vepruar kështu, ju do të jeni në gjendje të thelloni njohuritë tuaja në fusha të ndryshme të Java duke eksperimentuar vetë dhe duke përdorur të gjitha burimet e disponueshme. Cilado rrugë që zgjidhni, burimet e mëposhtme do t'ju ndihmojnë.

  • Udhëzues dhe artikuj
    • developerWorks ka një koleksion të gjerë të .
    • Artikujt në seri dhe janë të shkëlqyera për të përmirësuar aftësitë tuaja në Java.
    • Zbatimi i teorisë së projektimit për ndërtimin e aplikacioneve të botës reale mbulohet në artikujt në .
    • Zhvilluesit me përvojë Java parapaketon mjete për korrigjimin dhe testimin e aplikacioneve të tyre. DeveloperWorks ka disa artikuj në këtë seri lojërash në kohë reale të bazuara në platformën Eclipse për të mësuar programimin Java. Informacione hyrëse rreth CodeRuler jepet në artikullin Conquest of Medieval Kingdoms së bashku me CodeRuler (EN).
  • Kurse trajnimi teknik IBM
    • Shijoni një gamë të gjerë kursesh Java online, ballë për ballë dhe multimediale të zhvilluara nga IBM Global Services.
  • Certifikimin
    • Ju mund të bëni disa provime për të fituar çertifikata që tregojnë aftësitë tuaja programuese Java. Materialet për kurset e certifikimit mund të gjenden në faqen Java Certification(EN).
    • IBM ofron mundësi për aftësitë tuaja në teknologjitë e lidhura me Java, të tilla si ndërtimi i aplikacioneve të ndërmarrjeve për WebSphere, softueri Racional, DB2, XML dhe SOA.
  • Forumet
    • Moderuar nga ekspertë me dekada përvojë në teknologjinë Java, kjo është mënyra më interaktive për të mësuar gjuhën Java.

Produktet dhe teknologjitë e IBM për zhvilluesit Java

IBM është një nga liderët në aplikimin praktik të teknologjive Java. Më poshtë janë lidhjet me disa nga produktet dhe teknologjitë e IBM të disponueshme për zhvilluesit e aplikacioneve për platformën Java.

  • Produkte të shkarkueshme falas:
    • (Java Developer Kit) është një grup mjetesh për ndërtimin dhe testimin e aplikacioneve dhe aplikacioneve për Java SE dhe Java ME në një sërë sistemesh operative të njohura, duke përfshirë Windows, Linux dhe AIX.
    • (IBM Development Package for Eclipse) është një paketë veglash e pambështetur e zhvilluesve të bazuar në Eclipse që ju lejon të krijoni dhe ekzekutoni aplikacione në mjedisin tuaj të zhvillimit jashtë kutisë.
    • : Mund të shkarkoni paketat e softuerit falas Eclipse nga developerWorks, duke përfshirë produktet e njëkohshme Calisto dhe Europa.
    • është një depo virtuale e teknologjive premtuese Java e zhvilluar nga IBM. Këto përfshijnë API-të, IDE-të, kompletet e zhvillimit, implementimet e referencës dhe shërbimet. Më poshtë janë lidhjet me disa nga teknologjitë e paraqitura në alphaWorks.
    • . Ky mjet ndihmon në analizimin dhe gjenerimin e skripteve Ant të testueshme për ndërtimin e projekteve të zhvilluara me Eclipse, Rational dhe WebSphere IDE për platformat Java EE dhe SCA.
    • (IBM Pattern Modeling and Analysis Tool for Java Garbage Collector). Ky mjet analizon skedarët e detajuar të gjurmëve GC, analizon përdorimin dinamik të memories (grumbullit) dhe rekomandon cilësimet e aplikacionit bazuar në rezultatet e simulimit të memories. (Secure Shell Library for Java) është një zbatim i lehtë i protokollit SSH-2 i zhvilluar nga IETF (Internet Engineering Task Force). Ai siguron vërtetim të sigurt dhe shërbime të tjera të sigurta që funksionojnë në një rrjet të pasigurt. ju lejon të konsolidoni dhe transformoni të dhënat, duke rritur kështu produktivitetin, fleksibilitetin dhe produktivitetin e biznesit tuaj duke aksesuar shpejt informacionin që ju nevojitet.

Në këtë udhëzues, ne do të mbulojmë gjithçka që duhet të dini përpara se të filloni studimin. programimi në java. Do të mësoni për aftësitë e platformës, aplikimin e saj, si dhe se si të filloni të mësoni Java në mënyrën e duhur.

Cila është gjuha e programimit Java?

Në 1991, Ekipi i Gjelbër, një divizion i Sun Microsystems, i udhëhequr nga James Gosling, krijoi një gjuhë për programimin e pajisjeve elektronike të konsumit. Në atë kohë quhej Lisi ("Lisi"). Pse "Lisi"? Thjesht sepse kjo pemë u rrit jashtë dritares së zyrës së Gosling.

Ekipi i Gjelbër demonstroi përdorimin e Oak në një TV interaktiv. Por për televizionin kabllor dixhital të atyre viteve, kjo teknologji ishte shumë e avancuar. Në të njëjtën kohë, Interneti po fitonte popullaritet, për të cilin gjuha e re e programimit ishte më e përshtatshme.

Pas ca kohësh, gjuha e re u riemërua në Green, dhe pas kësaj - në Java, për nder të kafesë nga ishulli Java. Prandaj, logoja Java tregon një filxhan kafeje.

Gjatë zhvillimit të Java, C/C++ ishte popullor, kështu që Gosling bëri sintaksën e gjuhës të ngjashme me C/C++ dhe zbatoi parimin për të " shkruani një herë - vraponi kudo". Në 1995, Sun Microsystems lëshoi ​​​​të parën version zyrtar java. Dhe në të njëjtën kohë, u njoftua se Java do të përfshihej në shfletuesin Netscape Navigator.

Në vitin 2010, Sun Microsystems, së bashku me gjuhën e programimit Java, u ble nga Oracle Corporation.

Historia e versionit Java

  1. Qershor 1991 - fillimi i projektit të zhvillimit gjuhë programimi java.
  2. JDK 1.0 - Janar 1996.
  3. JDK 1.1 - shkurt 1997.
  4. J2SE 1.2 - Dhjetor 1998.
  5. J2SE 1.3 - maj 2000.
  6. J2SE 1.4 - Shkurt 2002.
  7. J2SE 5.0 - Shtator 2004.
  8. Java SE 6 - Dhjetor 2006.
  9. Java SE 7 - korrik 2011.
  10. Java SE 8 - 18 Mars 2014.
  11. Java SE 9 - 21 shtator 2017.

Karakteristikat e gjuhës programuese Java

Java - gjuhë ndër-platformë

Kodi Java i shkruar në një platformë ( dmth sistemi operativ) mund të ekzekutohet i pandryshuar në platforma të tjera.

Makina virtuale Java përdoret për të ekzekutuar Java ( Makina virtuale Java, JVM). JVM përpunon kodin e bajtit, pas së cilës procesori përpunon kodin e marrë nga JVM. Të gjitha makinat virtuale funksionojnë në mënyrë të ngjashme, kështu që i njëjti kod funksionon në të njëjtën mënyrë në të gjitha sistemet operative, gjë që e bën Java një gjuhë programimi ndër-platformë.

Gjuhë programimi e orientuar nga objekti

Ka stile të ndryshme programimi, dhe një nga më të njohurit është programimi i orientuar drejt objekteve. Me këtë qasje, një problem kompleks ndahet në më të vogla duke krijuar objekte. Kjo e bën kodin të ripërdorshëm.

Karakteristikat e orientuara nga objekti gjenden në shumë gjuhë programimi, duke përfshirë Java, Python dhe C++. Nëse jeni serioz për të mësuar se si të programoni, duhet të përfshini një qasje të orientuar nga objekti në planin tuaj të të mësuarit.

Java është e shpejtë

Versionet e hershme gjuhë programimi Java shpesh është kritikuar për punë e ngadaltë. Por sot situata ka ndryshuar në mënyrë dramatike. Versionet e reja të JVM janë shumë më të shpejta dhe procesorët që i interpretojnë ato po bëhen më të shpejtë.

Java është një nga gjuhët më të shpejta të programimit sot. Kodi Java i optimizuar mirë funksionon pothuajse aq shpejt sa gjuhët e programimit të nivelit të ulët si C/C++ dhe shumë më shpejt se Python, PHP, etj.

Java është një platformë e sigurt

Java është:

  • një platformë e sigurt për zhvillimin dhe ekzekutimin e aplikacioneve;
  • ofron mjete për menaxhimin automatik të kujtesës, gjë që redukton cenueshmërinë e kodit;
  • siguron transferim të sigurt të të dhënave.

Bibliotekë e gjerë thelbësore

Një nga arsyet për miratimin e përhapur të Java është biblioteka e saj e madhe standarde. Ai përmban qindra klasa dhe metoda nga paketa të ndryshme që e bëjnë jetën më të lehtë për zhvilluesit. Për shembull,

java.lang është veçori të avancuara për vargje, vargje, etj.

java.util është një bibliotekë për të punuar me strukturat e të dhënave, shprehjet e rregullta, datat dhe kohët, etj.

kava.io - bibliotekë për hyrjen/daljen e skedarëve, trajtimin e përjashtimeve, etj.

Duke përdorur platformën Java

Para se të mësoni Java programimi nga e para, duhet të dini se më shumë se 3 miliardë pajisje në mbarë botën funksionojnë në këtë platformë. Për çfarë saktësisht mund të përdoret:

  1. Aplikacionet Android - Për të zhvilluar aplikacione Android, gjuha e programimit Java përdoret shpesh në lidhje me Android SDK ( nga kompleti anglisht i zhvillimit të softuerit - kompleti i zhvillimit të softuerit).
  2. Aplikacionet në ueb - Java përdoret për të ndërtuar aplikacione në ueb duke përdorur programe serveri, kornizë Struts dhe JSP. Këtu janë disa aplikacione të njohura të internetit të shkruara në Java: Google.com, Facebook.com, eBay.com, LinkedIn.com.

Vlen të përmendet se këto faqe nuk janë domosdoshmërisht të shkruara ekskluzivisht në Java, dhe mund të përdorin edhe gjuhë të tjera programimi.

  1. Zhvillimi i Softuerit- Programet si Eclipse, OpenOffice, Vuze, MATLAB dhe shumë të tjera janë shkruar në Java.
  2. Përpunimi i të dhënave të mëdha - për përpunimin e "të dhënave të mëdha"Ju mund të përdorni kornizën Hadoop shkruar në Java.
  3. Sistemet e tregtimit- duke përdorur platformën Platforma Tregtare e Oracle Extreme Java, ju mund të shkruani programe për tregtim.
  4. Pajisjet e ngulitura- Teknologjia Java Embedded e Oracle fuqizon miliarda pajisje sot, të tilla si TV, karta SIM, luajtës Blu-ray dhe më shumë.

Gjithashtu programimi në Java përdoret për të zhvilluar lojëra, aplikacione shkencore ( p.sh për përpunimin e gjuhës natyrore) dhe në shumë fusha të tjera.

Terminologjia Java që duhet të dini

Java është një grup teknologjish ( gjuhë programimi dhe platformë kompjuterike) projektuar për të krijuar dhe ekzekutuar softuer. por termi Java shpesh i referohen vetë gjuhës së programimit.

Gjuhë programimi Java është një gjuhë programimi ndër-platformë, për qëllime të përgjithshme, e orientuar nga objekti, me një gamë të gjerë aftësish.

Java 9 është versioni më i fundit i Java në kohën e këtij shkrimi.

Java EE, Java Me dhe Java SE - këta emra janë përkatësisht Java Enterprise Edition, Micro Edition dhe Standard Edition.

Java EE synon aplikacionet që funksionojnë në serverë. Java ME është projektuar për pajisje të kufizuara me energji, siç janë pajisjet e integruara. Java SE është botimi standard i Java për të shkruar programe të rregullta.

Nëse jeni i ri në Programimi Java, ju rekomandojmë të filloni me Java SE.

JVM - Makina virtuale Java (" Makina virtuale Java") është një program që lejon një kompjuter të ekzekutojë programe të shkruara në Java.

JRE - Java Runtime Environment (" Koha e ekzekutimit në Java”) përfshin JVM, bibliotekat përkatëse dhe komponentë të tjerë të nevojshëm për ekzekutimin e programeve. Por JRE nuk ka një përpilues, korrigjues ose mjete të tjera zhvillimi.

JDK - Paketa e Zhvillimit Java Zhvillues Java) përmban JRE dhe mjete të tjera zhvillimi si përpiluesit, korrigjuesit, etj.

Si të ekzekutoni Java në sistemin tuaj operativ

Si të ekzekutoni Java në Mac OS

Ja çfarë duhet të bëni për Java programimi nga e para dhe instalimi i platformës në Mac OS X ose macOS:

  1. Shkarkoni versionin më të fundit të Java ( JDK) me Faqet e shkarkimit të Java SE.
  2. Klikoni dy herë në skedarin DMG të shkarkuar dhe ndiqni udhëzimet e instaluesit.
  3. Për të verifikuar instalimin, hapni një terminal dhe futni komandën e mëposhtme:

javac -version

Nëse Java është instaluar saktë, do të shfaqet versioni i programit ( p.sh. javac 1.8.0_60).

Hapi tjetër është instalimi i IDE ( mjedisi i integruar i zhvillimit) për të shkruar dhe ekzekutuar kodin Java. Ne do të instalojmë versionin falas IntelliJ IDEA dhe ekzekutoni Java në të. Ja çfarë duhet të bëni për këtë:

  1. Shkoni në Faqja e shkarkimit IntelliJ dhe shkarkoni versionin falas të Komunitetit.
  1. Hapni skedarin DMG të shkarkuar dhe ndiqni udhëzimet e instalimit. Për akses i shpejtë ju mund të zhvendosni IntelliJ IDEA në dosjen tuaj të aplikacioneve.
  2. Hapni IntelliJ IDEA. Zgjidhni opsionin "Mos importo cilësimet" (" Mos importo cilësimet"") dhe klikoni "Ok». Pas kësaj, pranoni politikën e privatësisë së Jetbrains duke klikuar në butonin "Prano".
  3. Tani mund ta personalizoni ndërfaqen për veten tuaj. Ju gjithashtu mund ta kaloni këtë hap dhe të lini gjithçka si parazgjedhje. Nëse nuk jeni të sigurt, thjesht kaloni këtë hap duke klikuar "Kapërceni të gjitha dhe vendosni parazgjedhjet" (" Kapërceni gjithçka dhe vendosni cilësimet e paracaktuara»).


  1. Programi do t'ju tregojë një faqe mirëseardhjeje. Klikoni në "Krijo projekt të ri" (" Krijo një projekt të ri»).
  2. Në dritaren tjetër, zgjidhni " Java"Në panelin e majtë dhe klikoni" I ri"Në krye të dritares së programit për të zgjedhur" JDK» . Këtu ju duhet të zgjidhni vendin ku keni instaluar JDK, pastaj klikoni Next.


  1. Ju do të keni mundësinë për të krijuar një projekt nga një shabllon ("Krijo projekt nga shabllon"). Ne e injorojmë atë dhe shtypim butonin "Tjetër» .
  2. Hapi tjetër i instalimit gjuhë programimi Java, shkruani emrin e projektit dhe klikoni butonin " Finish» .
  3. Në panelin e majtë do të shihni projektin tuaj. Nëse paneli nuk është i dukshëm, shkoni te menyja Shikimet > ToolWindows > Projekti.
  4. Shkoni te Hello > New > Java dhe vendosni emrin e klasës. Ne e emërtuam atë së pari.


  1. Për të ekzekutuar programin që sapo keni shkruar, shkoni te Run > Run... Klikoni në First ( ky është emri i skedarit që kemi krijuar


Si të ekzekutoni Java në Linux

Për të drejtuar shembuj nga mësime programimi nga e para Java në Linux do të ketë nevojë për Kompletin e Zhvillimit JAVA SE ( JDK) dhe një IDE për të zhvilluar projektet tuaja. Ndiqni udhëzimet hap pas hapi për të filluar me Java.

Instaloni Java

  1. Hapni një terminal dhe shkruani komandën e mëposhtme për të instaluar Java:

    sudo add-apt-repository ppa:webupd8team/java


    përditësim sudo apt; sudo apt install oracle-java8-installer

  1. Pranoni marrëveshjen e licencës dhe kushtet e përdorimit duke klikuar përkatësisht OK dhe Po.
  2. Ju keni instaluar Java. Për të kontrolluar që instalimi ishte i suksesshëm, futni komandën e mëposhtme në një terminal:

java-version

Nëse shfaqet versioni aktual, instalimi ishte i suksesshëm. Nëse jo, kontrolloni me Faqja e ndihmës së Oracle.

Instalimi i IntelliJ IDEA

  1. Shkoni në.


  1. Shkarkoni versionin falas të Komunitetit duke klikuar butonin Shkarko.
  2. Pas shkarkimit ndryshoni direktorinë në terminal në drejtorinë tuaj të shkarkimeve dhe nxirrni skedarin Java tar në dosjen /opt me komandën e mëposhtme:

sudo tar xf .tar.gz -C /opt/

  1. Pas shpaketimit, ndryshoni drejtorinë në dosjen IntelliJ IDEA bin:

    cd /opt/ /bin

  2. Për të nisur IDE, futni komandën e mëposhtme:
  3. Zgjidhni "Mos importo cilësimet" (" Mos importo cilësimet"") dhe klikoni "OK". Pas kësaj, ne pranojmë politikën e privatësisë së Jetbrains duke klikuar në butonin "Prano» .
  4. Tani për të kaluar kurse programimi Java mund të personalizojë ndërfaqen për ju. Krijoni një shkurtore desktopi për qasje të shpejtë në program. Pas kësaj, për të nisur IDE, klikoni " Tjetër"Në të gjithë hapat e mëposhtëm.
  5. Programi do të shfaqë një faqe mirëseardhjeje. Klikoni "Krijo projekt të ri" (" Krijo një projekt të ri»).
  6. Në dritaren tjetër, zgjidhni Java në panelin e majtë dhe sigurohuni që Java të jetë zgjedhur në rreshtin Project SDK. Nëse jo, atëherë zgjidhni vendndodhjen ku keni instaluar JDK: /usr/lib/jvm/java-8-oracle.


  1. Klikoni "Next" dy herë dhe krijoni një projekt.
  2. Në hapin tjetër, shkruani emrin e projektit dhe klikoni butonin " Finish» . Tani do ta shihni projektin tuaj në panelin e majtë. Nëse ky panel nuk është i dukshëm, shkoni te menyja Shikimet > ToolWindows > Projekti.
  3. Shtoni klasë e re java. Zgjidhni src në panelin e majtë me një klikim të djathtë dhe shkoni te New > Java Class. Vendosni emrin e klasës. Emri i klasës nuk duhet të përmbajë hapësira.


  1. Shkruani kodin Java dhe ruani projektin.
  2. Për të ekzekutuar programin, shkoni te Run > Run... Klikoni në HelloWorld ( emri i projektit) - programi do të përpilojë skedarin dhe do ta ekzekutojë atë.


Si të ekzekutoni Java në Windows (XP, 7, 8 dhe 10)

Për të mësuar Java bazat e programimit dhe duke ekzekutuar platformën në Windows, do t'ju duhet një JAVA SE Development Kit (JDK) dhe një IDE për zhvillimin e projektit. Ndiqni udhëzimet hap pas hapi më poshtë:

instalimi Java

  • Shkoni në faqja e shkarkimit Kompleti i zhvillimit të versionit standard Java.
  1. Në seksionin Java SE Development Kit në krye të tabelës, klikoni "Prano marrëveshjen e licencës" (" Prano marrëveshjen e licencës"). Pastaj klikoni në lidhjen Windows (x64) nëse keni një sistem operativ 64-bit ose Windows (x86) nëse keni një sistem operativ 32-bit.

  1. Pas shkarkimit, ekzekutoni skedarin e instalimit dhe ndiqni udhëzimet që do të shfaqen në ekran. Kliko " Tjetra". Zgjidhni të gjitha funksionet duke klikuar " Ky funksion do të instalohet në hard diskun lokal" dhe kopjoni vendndodhjen e instalimit ( është e theksuar me të verdhë) në Notepad, më pas shtypni përsëri " Tjetra».


  1. Gjatë procesit të instalimit, do t'ju kërkohet të instaloni JRE. Klikoni Next dhe më pas Finish për të përfunduar instalimin.
  2. Tani ju duhet të redaktoni variablin PATH. Shkoni në Paneli i kontrollit > Sistemi dhe siguria > Sistemi. Në panelin e majtë zgjidhni " Opsione shtesë sistemet."

  1. Kliko " Variablat e Mjedisit". Në seksionin " Variablat e sistemit » gjeni variablin PATH dhe në dritaren tjetër klikoni "Edit".

  1. Zgjidhni të gjithë tekstin në " Vlera e ndryshueshme" dhe kopjojeni atë në një skedar teksti të veçantë. Kjo do ta bëjë më të lehtë modifikimin dhe kontrollin për gabime. Shihni nëse teksti i kopjuar përmban rreshtin: C : ProgramData Oracle Java javapath ; . Nëse po, atëherë mund të kaloni në hapin tjetër. Nëse jo, atëherë ngjisni vendndodhjen e instalimit që keni kopjuar më parë në fillim të variablës dhe shtoni koshin në fund të rreshtit si kjo: C : Program Files (x 86) Java jdk 1.8.0_112 bin ; Ju lutemi vini re se versioni juaj JDK (jdk 1.8.0_112 ) mund të jetë i ndryshëm. Kopjoni vlerën e ndryshores dhe ngjisni atë në kutinë PATH.


  1. Kliko " Ne rregull' për të ruajtur ndryshimet tuaja.
  2. Për të kontrolluar nëse platforma është instaluar saktë për hyrje në programim Java, hap linja e komandës, duke shtypur cmd në shiritin e kërkimit të Windows ose përmes komandës "Run ..." ( Windows-R). Futni komandën java -version. Nëse shfaqet versioni aktual i Java, atëherë instalimi ishte i suksesshëm. Nëse jo, kontrolloni me Faqja e ndihmës së Oracle.

Instalimi i IntelliJ IDEA

  1. Shkoni në Faqja e shkarkimit të IntelliJ IDEA.
  2. Shkarkoni versionin falas të Komunitetit duke klikuar Shkarko.


  1. Pasi të keni shkarkuar, ekzekutoni skedarin e konfigurimit dhe ndiqni udhëzimet që do të shfaqen në ekran. Më pas krijoni një shkurtore desktopi për versionin 64-bit dhe shtoni lidhje me shtesën .java. Klikoni "Tjetër"Dhe vazhdoni me instalimin.


  1. Pasi të instalohet, hapni IntelliJ IDEA duke klikuar në ikonën e desktopit.
  2. Zgjidhni "Mos importo cilësimet" (" Mos importo cilësimet”) dhe klikoni OK. Pas kësaj, ne pranojmë politikën e privatësisë së Jetbrains duke klikuar "Prano".
  3. Tani mund ta personalizoni ndërfaqen për veten tuaj. Ju gjithashtu mund ta kaloni këtë hap dhe të lini gjithçka si parazgjedhje duke klikuar butonin Skip All and Set Defaults.
  4. Programi do të shfaqë një faqe mirëseardhjeje. Klikoni "Krijo projekt të ri" (" Krijo një projekt të ri»).


  1. Në dritaren tjetër, zgjidhni "Java" në panelin e majtë dhe klikoni "E re" në krye të dritares së programit për të zgjedhur JDK. Këtu duhet të zgjidhni vendndodhjen ku u instalua JDK gjatë instalimit të Java, dhe më pas klikoni " Tjetër».
  2. IntelliJ IDEA do të gjejë JDK dhe do ta njohë atë. Asnjë opsion tjetër nuk duhet të kontrollohet, thjesht klikoni " Tjetër» .
  3. Në ekranin tjetër, vendosni emrin e projektit: HelloWorld dhe klikoni Finish. Nëse programi thotë se drejtoria nuk ekziston, klikoni OK. Nëse nuk e shihni panelin e majtë, shkoni te Views > Tool Windows > Project.
  4. Për të vendosur emrin e klasës, zgjidhni dosjen src në panelin e majtë. Klikoni me të djathtën mbi të, shkoni te New > Java dhe jepini klasës një emër. Emri i klasës nuk duhet të përmbajë hapësira.


  1. Shkruani kodin dhe ruani projektin Java mësim programimi.
  2. Për të ekzekutuar programin, shkoni te menyja Run > Run... Klikoni në HelloWorld - programi do ta përpilojë skedarin dhe do ta ekzekutojë atë.


Programi juaj i parë Java

Për t'i prezantuar përdoruesit me një gjuhë të re programimi, përdorni programin Hello World ("Hello world!"). Ky është një program i thjeshtë që shfaq fjalët Hello, World! Në këtë seksion, ne do t'ju mësojmë se si të shkruani këtë program Java duke përdorur IntelliJ IDEA.

  1. Hapni IntelliJ IDEA.
  2. Shkoni te Skedari > I ri > Projekti… > Java ( në shiritin e majtë të navigimit).
  3. Vendosni emrin e projektit (Emri i projektit) nga kurs programimi J a va. Ne do ta emërtojmë Hello World dhe klikojmë Finish.
  4. Tani duhet të krijojmë një klasë të re Java.
  5. Zgjidhni dosjen src në panelin e majtë, më pas shkoni te File > New > Java Class dhe emërtoni klasën e re HelloWorld.
  6. Kopjoni kodin e mëposhtëm në skedarin HelloWorld.java dhe ruajeni.

klasa publike HelloWorld ( publike statike e zbrazët kryesore (string args) (


// printon "Përshëndetje, Botë!"


System.out.println ("Përshëndetje, Botë!");

  1. Shtypni butonin e fillimit ( Vraponi). Nëse gjithçka është në rregull, do të shihni në ekran mbishkrimin Hello, World!

Si të mësoni Java?

Dokumentacioni zyrtar Java

Oracle, kompania që zotëron Java, publikon mësime cilësore. Dokumentacioni zyrtar mbulon të gjitha veçoritë e Java dhe përditësohet rregullisht.

Shënim: E vetmja pengesë është se dokumentacioni zyrtar Java nuk është gjithmonë i shkruar në gjuhën më të thjeshtë të mundshme.

Nëse vërtet dëshironi të mësoni programimi në Java, blej një libër të mirë. Sigurisht, 1000 faqe nuk mund të lexohen në një ditë. Por një libër i mirë do t'ju ndihmojë të mësoni se si të programoni.

Java: Udhëzuesi i plotë (botimi i 10-të)

Libër i mrekullueshëm për ata që sapo kanë filluar të mësojnë Java. Edicioni i fundit përfshin të gjitha veçoritë e versionit Java 8.

Libri mbulon gjithçka që ju duhet të dini rreth programimit Java, duke përfshirë sintaksën, fjalët kyçe dhe bazat e programimit, si dhe bibliotekën Java API, aplikacionet Java dhe më shumë.

Java Filozofia (botimi i 4-të)

Nëse po migroni në Java nga një gjuhë tjetër programimi, ky libër është për ju. Nëse po filloni nga e para, është mirë ta lexoni së bashku me një tjetër.

Java 8. Referenca në Xhep: Ndihma e Parë për Programuesit Java

Ky libër përmban përgjigje të qarta për pyetjet që lindin kur mësoni J programimi ava nga e para. Ai mbulon shkurtimisht të gjitha konceptet thelbësore të Java (duke përfshirë Java 9). Nuk dëshironi të shfletoni qindra faqe duke kërkuar rreshtin e duhur? Blini këtë libër.

Në vend të një përfundimi

Nëse filloni të mësoni Java, nuk mund të gaboni - kjo është një gjuhë programimi premtuese e plot me një shumëllojshmëri të gjerë mundësish.

Para se të filloni të mësoni Java, këtu janë disa këshilla:

  • Mos lexoni artikuj tutorial dhe shembuj si një roman. Mënyra e vetme për t'u bërë një programues i mirë është të shkruani shumë kode.
  • Nëse po migroni nga një gjuhë tjetër programimi (të themi C#), nuk keni nevojë të shkruani kodin e stilit C#.
  • Gjeni komunitetet Java në internet. Kur mësoni të shkruani programe të thjeshta në Java, gjeni faqet e internetit dhe forumet e njohura Java. Mundohuni të zgjidhni problemet që kanë programuesit e tjerë. Kjo është një mënyrë e shkëlqyer për të zgjeruar njohuritë tuaja. Plus, nëse ngecni, do të dini se ku të kërkoni ndihmë.

Shpresojmë që ky artikull t'ju inkurajojë të mësoni Java dhe t'ju ndihmojë të filloni programet tuaja të para.

Përkthimi i artikullit " Mësoni programimin Java. Udhëzuesi përfundimtar” u përgatit nga një ekip miqësor i projektit

Ne do të flasim për sintaksën bazë Java për fillestarët. Sintaksa e një gjuhe programimi është një grup rregullash që rregullojnë mënyrën se si shkruhet dhe interpretohet...

gjuha Java. Prezantimi.

Për një kohë të gjatë ishte e vështirë të imagjinohej një revistë kompjuterike pa një artikull në gjuhën Java. Edhe gazeta dhe revista të tilla të njohura si The New York Times, The Washington Post dhe Business Week shkruan për të.

Është e pamundur të kujtohet se Radioja Publike Kombëtare (National radio publike) i ka kushtuar ndonjëherë një program dhjetë minutash një gjuhe programimi. Nëse kjo është e mirë apo e keqe varet nga këndvështrimi. Po investimi prej 100 milionë dollarësh në prodhimin e softuerit të krijuar duke përdorur një gjuhë të caktuar programimi?! CNN, CNBC dhe media të tjera kanë folur dhe janë ende duke folur për mënyrën se si Java mund dhe do ta bëjë këtë.

Megjithatë, ky libër është për programues seriozë dhe meqenëse Java është një gjuhë programimi serioze, ne kemi shumë për të mbuluar. Pra, ne nuk do të zhytemi në analizën e premtimeve reklamuese dhe do të përpiqemi të zbulojmë se çfarë është e vërtetë dhe çfarë është trillim në to. Në vend të kësaj, ne do ta përshkruajmë gjuhën Java në detaje të mjaftueshme si një gjuhë programimi (duke përfshirë, natyrisht, veçoritë që bëjnë të mundur përdorimin e saj për të punuar në internet, gjë që, në fakt, shkaktoi kaq shumë bujë reklamash). Pas kësaj, ne do të përpiqemi të ndajmë realitetin nga fantazia duke shpjeguar se çfarë mund dhe nuk mund të bëjë gjuha Java.

Në fillim kishte një humnerë midis premtimeve reklamuese dhe mundësive reale të gjuhës Java. Teksa piqej, teknologjia u bë më e qëndrueshme dhe e besueshme dhe pritshmëritë ranë në një nivel të arsyeshëm. Java tani po përdoret gjithnjë e më shumë për të krijuar "middleware" që komunikon midis klientëve dhe burimeve të serverit (të tilla si bazat e të dhënave).

Megjithëse këto aplikacione të rëndësishme nuk janë befasuese, është pikërisht në këtë fushë që gjuha Java është dëshmuar më e dobishme për shkak të pavarësisë së makinës, multithreading dhe aftësive të programimit të rrjetit. Përveç kësaj, gjuha Java ka marrë drejtimin në sistemet e integruara, duke u bërë standardi de fakto për pajisjet portative, kioskat virtuale, kompjuterët e makinave në bord dhe të ngjashme. Megjithatë, përpjekjet e para për të rishkruar programet Java të përdorura gjerësisht për kompjuterët personalë ishin të pasuksesshme - aplikacionet që rezultuan doli të ishin me fuqi të ulët dhe të ngadaltë. Me ardhjen e versionit të ri, disa nga këto probleme janë zgjidhur, e megjithatë duhet pranuar se përdoruesve, në përgjithësi, nuk u intereson fare se në cilën gjuhë janë shkruar programet që blejnë. Ne besojmë se avantazhet kryesore të gjuhës Java do të shfaqen në krijimin e llojeve të reja të pajisjeve dhe aplikacioneve, dhe jo në rishkrimin e programeve ekzistuese.

Gjuha Java si mjet programimi

Si gjuha e programimit Java i ka tejkaluar premtimet e saj reklamuese. Padyshim, është një nga gjuhët më të mira të disponueshme për programuesit seriozë. Java ka potencialin të jetë një gjuhë e shkëlqyer programimi, por ndoshta është tepër vonë tani. Kur shfaqet një gjuhë e re programimi, ka një të menjëhershme problem i pakëndshëm përputhshmëria e tij me softuerin e krijuar më parë. Për më tepër, edhe nëse ndryshimet në këto programe mund të bëhen pa ngatërruar tekstin e tyre, është e vështirë për krijuesit e një gjuhe që mirëpritet kaq ngrohtë nga publiku, siç është gjuha Java, të thonë drejtpërdrejt: "Po, ne mund të kanë bërë një gabim gjatë zhvillimit të versionit X, por versioni Y do të jetë më i mirë." Si rezultat, duke pritur që të shfaqen përmirësime të mëtejshme, duhet të themi se struktura e gjuhës Java nuk do të ndryshojë ndjeshëm në të ardhmen e afërt.

Pyetja e qartë është: Si është përmirësuar gjuha Java?". Rezulton se kjo nuk është bërë duke përmirësuar vetë gjuhën e programimit, por duke ndryshuar rrënjësisht bibliotekat e programeve të shkruara në gjuhën Java. Sun Microsystems ka ndryshuar gjithçka: nga emrat e funksioneve individuale të bibliotekës (duke i bërë ato më kuptimplota) dhe metodat e funksionimit të moduleve grafike (duke ndryshuar mënyrën e trajtimit të ngjarjeve dhe duke rishkruar pjesërisht programet e punonjësve), dhe duke përfunduar me krijimin e veçorive të reja të gjuhës, si p.sh. objektet e printimit, që nuk ishin në Java 1.0. Rezultati është një platformë programimi shumë më e dobishme se të gjitha versionet e mëparshme gjuha Java.

Microsoft ka lëshuar produktin e vet të quajtur J++, i cili lidhet me gjuhën Java. Gjuha J++ interpretohet nga një makinë virtuale e përputhshme me Java Virtual Machine kur ekzekuton bytecode, por ndërfaqet me kodin e jashtëm janë dukshëm të ndryshme midis këtyre gjuhëve. Gjuhët J++ dhe Java kanë pothuajse të njëjtën sintaksë. Megjithatë, Microsoft ka krijuar konstruksione gjuhësore shtesë. Të gjithë ata kanë një vlerë mjaft të dyshimtë, me përjashtim të Ndërfaqja e Windows API. Përveç faktit që këto gjuhë kanë të njëjtën sintaksë, bibliotekat e tyre kryesore (vargjet, shërbimet, mjetet e programimit të rrjetit, mjetet multithreading, bibliotekat e matematikës, etj.) janë në thelb të njëjta.

Megjithatë, bibliotekat grafike, ndërfaqja e përdoruesit dhe qasja në objekte të largëta këto gjuhë janë krejtësisht të ndryshme. Aktualisht, Microsoft nuk e mbështet më gjuhën J++, pasi ka zhvilluar një gjuhë të re C# që ka shumë ngjashmëri me Java, por përdor një makinë virtuale të ndryshme. Ky libër nuk mbulon J++ ose C#.

Përfitimet e gjuhës Java

1) Një nga avantazhet kryesore të gjuhës Java është pavarësia nga platforma në të cilën ekzekutohen programet: I njëjti kod mund të ekzekutohet në sistemet operative Windows, Solaris, Linux, Machintosh, etj.
Kjo është me të vërtetë e nevojshme kur programet shkarkohen në internet për ekzekutim të mëvonshëm nën sisteme të ndryshme operative.

2) Një avantazh tjetër është se sintaksa e gjuhës Java është e ngjashme me sintaksën e gjuhës C++ dhe programuesit gjuhët që flasin C dhe C++ janë të lehta për t'u mësuar. Vërtetë, për programuesit që njohin gjuhën e Visual Basic, kjo sintaksë mund të jetë e pazakontë.

Nëse nuk keni programuar kurrë në C++, disa nga termat e përdorur në këtë seksion mund të mos jenë të qarta për ju. Në këtë rast, ju mund ta kaloni atë. Në kohën kur të arrini në fund të Kapitullit 6, këto terma do të bëhen të njohura për ju.

3) Gjithashtu, Java - një gjuhë plotësisht e orientuar nga objekti, madje më shumë se C++. Të gjitha entitetet në gjuhën Java janë objekte, me përjashtim të disa llojeve primitive, siç janë numrat. (Për shkak se është e lehtë të zhvillohen projekte komplekse duke përdorur programimin e orientuar nga objekti, ai ka zëvendësuar programimin e vjetër të strukturuar. Nëse nuk jeni të njohur me programimin e orientuar nga objekti, kapitujt 3-6 do t'ju japin gjithçka informacionin e nevojshëm rreth tij.)

Megjithatë, nuk mjafton të zhvillohet një dialekt tjetër, pak i përmirësuar, i gjuhës C++. Është me rëndësi thelbësore që është më e lehtë të zhvillohen programe pa gabime në Java sesa në C++. Pse? Dizajnerët e gjuhës Java kanë menduar gjatë dhe shumë përse programet e shkruara në C++ janë kaq të prirur për gabime. Ata i dhanë gjuhës Java mjete për të eliminuar vetë mundësinë e krijimit të programeve që do të fshihnin gabimet më të zakonshme. Për ta bërë këtë, sa më poshtë bëhet në gjuhën Java.

4) Mundësia e alokimit të qartë dhe lirimit të memories është e përjashtuar.
Kujtesa në gjuhën Java çlirohet automatikisht nga mekanizmi i mbledhjes së mbeturinave. Programuesi është i garantuar kundër gabimeve që lidhen me përdorimin e gabuar të memories.

5) Futen vargje të vërteta dhe ndalohet aritmetika e treguesve.
Tani programuesit në thelb nuk mund të fshijnë të dhënat nga memorja për shkak të përdorimit të gabuar të treguesve.

6) Përjashtohet mundësia e ngatërrimit të operatorit të caktimit me operatorin e krahasimit të barazisë.
Tani nuk mund të përpiloni as if(ntries = 3) . . . (programuesit për Gjuha pamore Bazat mund të mos vërejnë fare problem këtu, pasi ky gabim është burimi i shumicës së keqkuptimeve në gjuhët C dhe C++).

7) Trashëgimia e shumëfishtë është e përjashtuar. Ai është zëvendësuar nga një koncept i ri - një ndërfaqe, e huazuar nga gjuha Objective C.
Një ndërfaqe i jep programuesit pothuajse gjithçka që një programues mund të fitojë nga trashëgimia e shumëfishtë duke shmangur kompleksitetin e menaxhimit të hierarkive të klasave.

Karakteristikat karakteristike të gjuhës Java

E thjeshtë
Interpretuar
Shpërndarë
E besueshme
I sigurt
makinë e pavarur
Orientuar në objekt
performancë të lartë
me shumë fije
dinamike
Arkitektura kompjuterike e pavarur

Ne kemi prekur tashmë disa nga këto pika në pjesën e fundit. Në këtë seksion, ne do të: ofrojmë citate nga manuali i gjuhës Java, duke zbuluar veçoritë e gjuhës; Le të ndajmë me lexuesit disa mendime rreth veçorive të caktuara të gjuhës, bazuar në përvojën tonë me versionin e saj të fundit.

E thjeshtë

Ne donim të krijonim një sistem që është i lehtë për t'u programuar, nuk kërkon trajnim shtesë dhe merr parasysh praktikën mbizotëruese dhe standardet e programimit. Prandaj, edhe pse ne e konsideruam gjuhën C++ të papërshtatshme për këto qëllime, gjuha Java u projektua të ishte sa më e ngjashme për ta bërë sistemin më të aksesueshëm. Java-s i mungojnë shumë nga veçoritë e përdorura rrallë, të paqarta dhe të paqarta të C++ që ne besojmë se bëjnë më shumë dëm sesa mirë.

Sintaksa e gjuhës Java është në thelb një version i rafinuar i sintaksës së gjuhës C++. Kjo gjuhë nuk ka skedarë kokash, aritmetikë të treguesve (dhe vetë treguesit), struktura, bashkime, mbingarkime të operatorëve, klasa bazë virtuale, etj. (Dallimet midis gjuhëve Java dhe C++ përshkruhen në shënimet për gjuhën C++ të shpërndara në të gjithë librin.) Sidoqoftë, zhvilluesit nuk u përpoqën të rregullonin të gjitha mangësitë e gjuhës C++.

Për shembull, sintaksa e deklaratës switch në gjuhën Java ka mbetur e pandryshuar. Duke ditur gjuhën C++, do të jetë e lehtë të kaloni në sintaksën e gjuhës Java.
Nëse zakonisht përdorni një mjedis programimi vizual (siç është Visual Basic), do ta keni të vështirë gjuhën Java.
Sintaksa e saj shpesh duket mjaft e çuditshme (megjithëse nuk është e vështirë të kuptosh kuptimin e shprehjes). Më e rëndësishmja, kur punoni në gjuhën Java, duhet të programoni shumë më tepër. E bukura e gjuhës Visual Basic është se mjedisi i saj i programimit vizual ju lejon të krijoni pothuajse automatikisht infrastrukturën e aplikacionit. Për të arritur të njëjtin rezultat duke përdorur gjuhën Java, duhet të programoni me dorë, por kjo rezulton në programe shumë më të shkurtra.

Sidoqoftë, ekziston një lloj i tretë i mjedisit programues që ju lejon të krijoni programe duke përdorur teknologjinë zvarrit dhe lësho.

Një aspekt tjetër i thjeshtësisë është shkurtësia. Një nga qëllimet e gjuhës Java është të mundësojë zhvillimin e programeve që mund të ekzekutohen tërësisht në mënyrë të pavarur në makina të vogla. Madhësia e përkthyesit kryesor dhe mbështetjes së klasës është rreth 40 KB; bibliotekat standarde dhe mjetet e filetimit (veçanërisht mikrokerneli i pavarur) marrin edhe 17: KB.
Kjo sukses i madh. Vini re, megjithatë, se bibliotekat mbështetëse të GUI janë shumë më të mëdha.

Orientuar në objekt

E thënë thjesht, programimi i orientuar nga objekti është një teknikë programimi që fokusohet në të dhëna (d.m.th., objekte) dhe mjetet për t'iu qasur atyre. Duke tërhequr një analogji të zdrukthtarisë, mjeshtri i orientuar nga objekti është i fokusuar kryesisht në karrigen që po bën, dhe së dyti interesohet vetëm për mjetet e nevojshme për ta bërë këtë; në të njëjtën kohë, marangozi jo i orientuar nga objekti mendon vetëm për veglat e tij. Vetitë e orientuara nga objekti i Java dhe C++ janë në thelb të njëjta.

Orientimi i objektit tashmë e ka dëshmuar vlerën e tij gjatë 30 viteve të fundit, dhe pa të është e pamundur të imagjinohet një gjuhë programimi moderne. Në të vërtetë, tiparet e orientuara nga objekti i gjuhës Java janë të krahasueshme me ato të C++. Dallimi kryesor midis tyre qëndron në mekanizmin e trashëgimisë së shumëfishtë, për të cilën gjeti gjuha Java zgjidhja më e mirë, si dhe në modelin metaklase të gjuhës Java.

Mekanizmat e reflektimit (Kapitulli 5) dhe serializimi i objekteve (Kapitulli 12) ju lejojnë të zbatoni objekte dhe mjete të qëndrueshme për krijimin e ndërfaqeve grafike të përdoruesit bazuar në komponentë të gatshëm.

Nëse nuk keni programuar kurrë në një gjuhë të orientuar nga objekti, hidhini një sy nga afër Kapitujt 4-6. Këta kapituj prezantojnë bazat e programimit të orientuar nga objekti dhe tregojnë se si mund të përdoret për të zhvilluar projekte komplekse mbi gjuhët tradicionale procedurale si C ose Basic.

Shpërndarë

Java ka një bibliotekë të madhe programesh për transferimin e të dhënave bazuar në protokollet TCP/IP (Transmission Control Protocol/Internet Protocol) si HTTP (Hypertext Transfer Protocol) ose FTP (File Protokolli i Transferimit transferimi i skedarëve). Aplikacionet e shkruara në gjuhën Java mund të hapin dhe aksesojnë objektet përmes rrjetit duke përdorur dheURL-të (Uniform Resource Location - Uniform Resource Location) janë po aq të lehta sa një rrjet lokal.

Gjuha Java ofron mjete të fuqishme dhe të përshtatshme për të punuar në rrjet. Kushdo që ka provuar ndonjëherë të shkruajë programe për internetin në gjuhë të tjera do të befasohet këndshëm se sa lehtësisht zgjidhen detyrat më të vështira, si hapja e lidhjeve të rrjetit (lidhja e prizave), në Java. Mekanizmi elegant, i përbërë nga të ashtuquajturat servlets (servlets), e bën punën në server jashtëzakonisht efikase.

Servletët mbështeten nga shumë serverë të njohur në internet. (Rrjetëzimi do të trajtohet në vëllimin e dytë.) Komunikimi ndërmjet objekteve të shpërndara në gjuhën Java sigurohet nga një mekanizëm për thirrjen e metodave në distancë (kjo temë trajtohet edhe në vëllimin e dytë).

E besueshme

Gjuha Java është krijuar për të krijuar programe që duhet të funksionojnë me besueshmëri në të gjitha situatat. Fokusi i gjuhës Java është në zbulimin e hershëm gabimet e mundshme, kontroll dinamik(gjatë ekzekutimit të programit), dhe shmangia e situatave të prirura për gabime... I vetmi ndryshim domethënës midis Java dhe C++ është modeli i treguesit të gjuhës Java, i cili eliminon mundësinë e mbishkrimit të memories dhe prishjes së të dhënave.

Kjo pronë është gjithashtu shumë e dobishme. Përpiluesi i gjuhës Java zbulon gabime që në gjuhët e tjera zbulohen vetëm në kohën e ekzekutimit. Për më tepër, programuesit që kanë shpenzuar shumë orë në kërkim të një gabimi të prishjes së kujtesës për shkak të një treguesi të keq do të jenë shumë të lumtur që në parim probleme të tilla nuk mund të lindin në gjuhën Java.

Nëse keni programuar ndonjëherë në gjuhët Visual Basic ose COBOL që nuk përdorin në mënyrë eksplicite tregues, mund të mos e kuptoni pse kjo është kaq e rëndësishme. Programuesit C janë shumë më pak me fat. Ata kanë nevojë për tregues për të hyrë në vargjet, vargjet, objektet dhe madje edhe skedarët. Kur programoni në Visual Basic, asnjë nga këto nuk kërkohet dhe programuesi nuk duhet të shqetësohet për ndarjen e memories për këto entitete. Nga ana tjetër, shumë struktura të dhënash në një gjuhë që nuk ka tregues janë shumë të vështira për t'u zbatuar. Strukturat e zakonshme si vargjet dhe vargjet nuk kanë nevojë për tregues. Fuqia e plotë e treguesve shfaqet vetëm aty ku nuk mund të shpërndahen, për shembull, kur krijohen lista të lidhura. Programuesit Java i kursehen përgjithmonë treguesit e këqij, shpërndarjet e gabuara dhe rrjedhjet e kujtesës.

I sigurt

Gjuha Java është krijuar për t'u përdorur në një mjedis të rrjetit ose të shpërndarë. Për këtë arsye, shumë vëmendje i është kushtuar sigurisë. Gjuha Java ju lejon të krijoni sisteme që janë të mbrojtura nga viruset dhe ngacmimet.

Në botimin e parë kemi shkruar “Kurrë mos thuaj kurrë” dhe kishim të drejtë. Një grup ekspertësh sigurie në Universitetin Princeton zbuluan gabimet e para të sigurisë në Java 1.0 menjëherë pasi versioni i parë i JDK doli në shitje. Për më tepër, ata dhe ekspertë të tjerë vazhduan të gjenin gjithnjë e më shumë gabime në mekanizmat e sigurisë të të gjitha versioneve të mëvonshme të gjuhës Java.

Në anën pozitive të kësaj situate, Java Language Development Group ka deklaruar zero tolerancë për çdo defekt në sistemin e sigurisë dhe është nisur menjëherë për të rregulluar çdo problem që gjendet në mekanizmin e sigurisë së aplikacioneve. Në veçanti, duke publikuar specifikimet e brendshme të përkthyesit të gjuhës Java, Sun e ka bërë shumë më të lehtë gjetjen e tij gabime të fshehura në sistemin e sigurisë dhe tërhoqi specialistë të pavarur për t'i kërkuar.

Kjo rriti gjasat që të gjitha dobësitë e sigurisë do të zbuloheshin së shpejti. Në çdo rast, është jashtëzakonisht e vështirë të mashtrosh sistemin e sigurisë së gjuhës Java. Defektet e gjetura deri më tani kanë qenë pothuajse të padukshme dhe numri i tyre është (relativisht) i vogël.

Faqja e internetit e sigurisë së Sun ka URL-në e mëposhtme: http://java.sun.com/sfaq/.

Këtu janë disa situata që sistemi i sigurisë Java parandalon të ndodhin.

1) Mbyllja e pirgut të programit të ekzekutueshëm, e cila u shkaktua nga "krimbi" famëkeq që u përhap në internet.

2) Dëmtimi i zonave të memories që janë jashtë hapësirës së caktuar për procesin.

3) Leximi dhe shkrimi i skedarëve lokalë kur përdorni një ngarkues të sigurt të klasës, si p.sh. një shfletues uebi, që ndalon aksesin e skedarëve të tillë.

Të gjitha këto masa sigurie janë të përshtatshme dhe zakonisht funksionojnë pa të meta, por diskrecioni nuk dëmton kurrë. Ndërsa gabimet e zbuluara deri më sot kanë qenë larg nga të parëndësishmet dhe detajet e gjetjes së tyre shpesh mbahen sekret, duhet pranuar se vërtetimi i sigurisë së gjuhës Java ndoshta nuk është më i mundur.

Me kalimin e kohës, në gjuhë janë shtuar veçori të reja sigurie. Duke filluar me versionin 1.1, gjuha Java prezantoi nocionin e klasave të nënshkruara dixhitale. Duke përdorur një klasë me nënshkrim dixhital, mund të jeni të sigurt për autorin e saj. Nëse i besoni, mund t'i jepni kësaj klase të gjitha privilegjet e disponueshme në kompjuterin tuaj.

Mekanizmi alternativ i shpërndarjes së kodit i propozuar nga nga Microsoft, mbështetet në teknologjinë ActiveX dhe përdor vetëm nënshkrime dixhitale për siguri. Natyrisht, kjo nuk mjafton - çdo përdorues i softuerit Microsoft mund të dëshmojë se programet përdoren gjerësisht. prodhuesit e njohur shpesh përplasen, duke krijuar kështu rrezikun e korrupsionit të të dhënave. Sistemi i sigurisë në gjuhën Java është shumë më i fortë se teknologjia ActiveX, sepse kontrollon aplikacionin që në momentin e fillimit dhe nuk e lejon atë të shkaktojë dëm.

arkitekturë e pavarur

Përpiluesi gjeneron një skedar objekti, formati i të cilit nuk varet nga arkitektura e kompjuterit - programi i përpiluar mund të ekzekutohet në çdo procesor nën kontrollin e sistemit të ekzekutimit të programit Java. Për ta bërë këtë, përpiluesi i gjuhës Java gjeneron komandat e kodit të bytekut që nuk varen nga arkitektura specifike e kompjuterit. Bajtkodi është projektuar në atë mënyrë që të mund të interpretohet lehtësisht në çdo makinë ose të përkthehet në kod të varur nga makina menjëherë.

Kjo nuk është një ide e re. Më shumë se 20 vjet më parë, si sistemi i zbatimit Pascal i zhvilluar nga Niclaus Wirth ashtu edhe sistemi UCSD Pascal përdorën të njëjtën teknologji. Përdorimi i bytekodeve jep një përfitim të madh në ekzekutimin e programit (megjithatë, kompilimi sinkron e kompenson atë në shumë raste). Zhvilluesit e gjuhës Java kanë bërë një punë të shkëlqyeshme për të zhvilluar një grup udhëzimesh bajtkodi që funksionojnë mirë në shumicën kompjuterë modernë, lehtësisht i përkthyer në udhëzime reale të makinës.

makinë e pavarur

Ndryshe nga gjuhët C dhe C++, nuk ka aspekte të specifikimeve Java që varen nga sistemi i zbatimit. Si madhësia e llojeve bazë të të dhënave ashtu edhe veprimet aritmetike mbi to janë të përcaktuara mirë.

Për shembull, lloji int në gjuhën Java gjithmonë nënkupton një numër të plotë 32-bit. Në C dhe C++, lloji int mund të nënkuptojë ose një numër të plotë 16-bit, një numër të plotë 32-bit ose një numër të plotë me madhësi arbitrare, siç zgjidhet nga zhvilluesi i një përpiluesi të veçantë. Kufizimi i vetëm është se madhësia e një int nuk mund të jetë më e vogël se madhësia e një int të shkurtër dhe më e madhe se madhësia e një int të gjatë. madhësi fikse Llojet numerike shmangin shumë nga bezditë që lidhen me ekzekutimin e programeve në kompjuterë të ndryshëm. Të dhënat binare ruhen dhe transmetohen në një format fiks, i cili gjithashtu shmang keqkuptimet që lidhen me renditjen e ndryshme të bajteve në platforma të ndryshme (konflikti "big endian/little endian"). Vargjet ruhen në formatin standard Unicode.

Bibliotekat që janë pjesë e sistemit përcaktojnë një ndërfaqe të pavarur nga makina. Për shembull, gjuha ofron një klasë abstrakte Window dhe implementimet e saj për sistemet operative Unix, Windows dhe Macintosh.

Kushdo që ka provuar ndonjëherë të shkruajë një program që do të funksiononte po aq mirë nën sistemet operative Windows, Macintosh dhe dhjetë varietete Sistemet Unix, e di që kjo është një detyrë shumë e vështirë. Versioni Java bëri një përpjekje heroike për të zgjidhur këtë problem duke ofruar një paketë të thjeshtë veglash që përshtat elementet e zakonshme të ndërfaqes së përdoruesit në një numër të madh platformash softuerike. Fatkeqësisht, biblioteka, në të cilën është bërë shumë punë, nuk na lejoi të arrijmë rezultate të pranueshme në platforma të ndryshme. (Në të njëjtën kohë, gabime të ndryshme u shfaqën në programet grafike në platforma të ndryshme.)

Megjithatë, ky ishte vetëm fillimi. Në shumë aplikacione, pavarësia e makinës është shumë më e rëndësishme se sa sofistikimi i një ndërfaqeje grafike të përdoruesit. Janë këto aplikacione që kanë përfituar nga prezantimi i Java 1.0. Sidoqoftë, paketa e veglave GUI tani është ridizajnuar plotësisht dhe nuk varet më nga ndërfaqja e përdoruesit në kompjuterin pritës. Një version i ri më kuptimplotë dhe, sipas mendimit tonë, më tërheqës për përdoruesin sesa ato të mëparshmet.

Interpretuar

Përkthyesi i gjuhës Java mund të dërgohet në çdo makinë dhe të ekzekutojë bitekodin direkt në të. Për shkak se redaktimi i lidhjeve është një proces më i lehtë, programimi mund të bëhet shumë më i shpejtë dhe më efikas.

Ndoshta ky është një avantazh në zhvillimin e aplikacionit, por citati është një ekzagjerim i qartë. Në çdo rast, përpiluesi i gjuhës Java i përfshirë në JSDK (Kit për Zhvillimin e Softuerit Java) është mjaft i ngadaltë. (Disa përpilues të llojit të tretë, si ai i IBM-së, janë shumë më të shpejtë.) Shpejtësia e rikompilimit është vetëm një faktor në efikasitetin e një mjedisi programimi. Duke krahasuar shpejtësinë e mjediseve programuese Java dhe Visual Basic, mund të zhgënjeheni.

performancë të lartë

Ndërsa bytekodet e interpretuara përgjithësisht kanë performancë më se të mjaftueshme, ka situata ku kërkohet performancë edhe më e mirë. Bajtkodet mund të përkthehen menjëherë (në kohën e ekzekutimit) në kodet e makinerive për procesorin e veçantë në të cilin po funksionon aplikacioni.

Nëse përdorni një përkthyes për të ekzekutuar bytekodet, mos përdorni shprehjen "performancë të lartë". Megjithatë, në shumë platforma është i mundur një lloj tjetër përpilimi, i ofruar nga përpiluesit sinkron (përpiluesit vetëm në kohë-JIT). Ata e përkthejnë bajtkodin në kod specifik për makinën, e ruajnë rezultatin në memorie dhe më pas e thërrasin kur nevojitet. Meqenëse interpretimi kryhet vetëm një herë, kjo qasje rrit shumë shpejtësinë e punës.

Edhe pse përpiluesit sinkron janë akoma më të ngadaltë se kompajlerët specifikë të makinës, ata janë të paktën shumë më të shpejtë se interpretuesit, duke siguruar 10x apo edhe 20x përshpejtime për disa programe. Kjo teknologji po përmirësohet vazhdimisht dhe përfundimisht mund të arrijë shpejtësi që përpiluesit tradicionalë nuk do t'i tejkalojnë kurrë. Për shembull, një përpilues sinkron mund të përcaktojë se cila pjesë e kodit po ekzekutohet më shpesh dhe ta optimizojë atë për shpejtësinë e ekzekutimit.

SHUMËFISHORE

Ofron interaktivitet dhe ekzekutim më të mirë të programit.

Nëse keni provuar ndonjëherë multithreading në ndonjë gjuhë tjetër programimi, do të habiteni këndshëm se sa e lehtë është të bëhet në Java. Threads në gjuhën Java mund të përfitojnë nga sistemet multiprocesorike nëse sistemi operativ e lejon atë. Fatkeqësisht, zbatimet e transmetimeve në shumicën e platformave ndryshojnë shumë, dhe projektuesit e gjuhës Java nuk bëjnë asnjë përpjekje për të arritur uniformitetin. Vetëm kodi për thirrjen e fijeve mbetet i njëjtë për të gjitha makinat; Gjuha Java ia lë zbatimin e multithreading sistemit operativ themelor ose bibliotekës threading. (Temat mbulohen në vëllimin 2.) Pavarësisht kësaj, është lehtësia e multithreading-ut që e bën Java kaq tërheqëse për zhvillimin e softuerit të serverit.

dinamike

Në shumë mënyra, Java është më dinamike se C ose C++. Është projektuar për t'u përshtatur lehtësisht me një mjedis që ndryshon vazhdimisht. Ju mund të shtoni lirisht metoda dhe objekte të reja në biblioteka pa shkaktuar ndonjë dëm. Gjuha Java e bën të lehtë marrjen e informacionit për ecurinë e një programi.

Kjo është shumë e rëndësishme kur dëshironi të shtoni kod në një program që tashmë është duke u ekzekutuar. Një shembull kryesor i kësaj është kodi që shkarkohet nga Interneti për ekzekutim nga një shfletues. Në Java 1.0, marrja e informacionit për ecurinë e një programi ekzekutues nuk ishte aspak e lehtë, por versioni aktual i gjuhës Java i ekspozon programuesit si strukturën ashtu edhe sjelljen e objekteve në programin ekzekutues.
Kjo është shumë e vlefshme për sistemet që duhet të analizojnë objektet gjatë ekzekutimit të programit. Këto sisteme përfshijnë mjete GUI, korrigjues inteligjentë, shtojca dhe baza të të dhënave të objekteve.

Gjuha Java dhe Interneti

Ideja është e thjeshtë - përdoruesit shkarkojnë bajtkodet Java nga Interneti dhe i përdorin ato në makinat e tyre. Programet Java që funksionojnë në shfletues ueb quhen aplikacione. Për të përdorur aplikacionin, ju nevojitet një shfletues uebi që mbështet gjuhën Java dhe është në gjendje të interpretojë bajtkodet. Kodi burimor Java është i licencuar nga Sun, i cili insiston në pandryshueshmërinë e vetë gjuhës dhe strukturës së bibliotekave të saj kryesore. Fatkeqësisht, realiteti nuk është i tillë. Mbështetin versione të ndryshme të shfletuesve Netscape dhe Internet Explorer versione të ndryshme Gjuha Java dhe disa nga këto versione janë dukshëm të vjetruara. Kjo situatë fatkeqe po krijon gjithnjë e më shumë pengesa për zhvillimin e aplikacioneve për të përfituar nga versioni më i fundit i gjuhës Java. Për të zgjidhur këtë problem, Sun ka zhvilluar një Java Plug-in që ofron mjedisin më të avancuar për ekzekutimin e programeve Java bazuar në shfletuesit Netscape dhe Internet Explorer.

Ngarkimi i një aplikacioni është si të futni një imazh në një faqe interneti. Apleti bëhet pjesë e faqes dhe teksti mbështillet rreth hapësirës që zë. Megjithatë, ndryshimi është se imazhi tani është i gjallë. Ai i përgjigjet komandave të përdoruesit, e ndryshon atë pamjen dhe siguron transferimin e të dhënave ndërmjet kompjuterit në të cilin shikohet apleti dhe kompjuterit që kontrollon apletin.

Ngarkimi i një aplikacioni është si të futësh një fotografi në një faqe interneti. Apleti bëhet pjesë e faqes dhe teksti mbështillet rreth hapësirës që zë. Fakti është se imazhi është "live". Ai u përgjigjet komandave të përdoruesit, ndryshon pamjen e tij dhe transferon të dhëna midis kompjuterit që drejton apletin dhe kompjuterit që drejton apletin.

Në fig. Figura 1.1 tregon një shembull të mirë të një faqe interneti dinamike që kryen llogaritje komplekse dhe përdor një aplikacion për të tërhequr molekulat. Për të kuptuar më mirë strukturën e molekulës, mund ta rrotulloni atë ose të zmadhoni duke përdorur miun. Manipulime të tilla nuk mund të zbatohen në statike faqet e internetit, megjithatë aplikacionet e bëjnë këtë të mundur. (Ky aplet mund të gjendet në http://jmol.sourceforge.net.)

Oriz. 1.1. Apleti Jmol

Apletet mund të përdoren për të shtuar butona të rinj dhe fusha teksti në një faqe interneti. Sidoqoftë, aplikacione të tilla ngarkohen ngadalë përmes linjës telefonike.

Pothuajse e njëjta gjë mund të bëhet duke përdorur gjuhën Dinamike HTML, formularët gjuha HTML(Hypertext Markup Language - gjuha e shënjimit të hipertekstit) ose një gjuhë skriptimi, si JavaScript. Natyrisht, aplikacionet e para u krijuan për animacion: rrotullime globesh, vallëzime të karaktereve vizatimorë, tekste artistike, etj. Sidoqoftë, shumica e të mësipërmeve mund të krijojnë gjithashtu GIF të animuar, dhe HTML dinamike e kombinuar me skriptimin bën shumë më tepër sesa aplikacionet.

Si rezultat i papajtueshmërisë së shfletuesit dhe ngarkimit të paqëndrueshëm mbi lidhjet e ngadalta të rrjetit, aplikacionet e krijuara për faqet e internetit nuk kanë qenë një arritje e madhe. Në rrjetet lokale (intranet) situata është krejtësisht e ndryshme. Zakonisht nuk kanë probleme me xhiros kanal, kështu që koha e shkarkimit të aplikacioneve nuk është e rëndësishme. Në rrjetin lokal, mund të zgjidhni shfletuesin e dëshiruar ose të përdorni plug-in Java. Punonjësit nuk mund ta zhvendosin softuerin e dorëzuar përmes rrjetit në vendndodhjen e gabuar ose ta instalojnë gabimisht dhe administratori i sistemit nuk duhet të shkojë dhe të përditësojë softuerin në të gjitha makinat e klientit. Një numër i madh programesh për menaxhimin e inventarit, planifikimin e pushimeve, rimbursimin e udhëtimeve dhe të ngjashme janë zhvilluar nga shumë korporata në formën e aplikacioneve që përdorin shfletues.

Ndërsa po shkruanim këtë libër, lavjerrësi u kthye nga programimi nga ana e klientit në programimin nga ana e serverit. Në veçanti, serverët e aplikacioneve mund të përdorin aftësitë monitoruese të Makinës Virtuale Java për të balancuar automatikisht ngarkesën, për të bashkuar lidhjet me bazën e të dhënave, për të sinkronizuar objektet, për të mbyllur dhe ringarkuar në mënyrë të sigurtë dhe për të kryer procese të tjera të nevojshme për aplikacionet e serverëve të shkallëzuar, pothuajse të pamundura për t'u zbatuar saktë. Kështu, programuesit që krijojnë aplikacione patën mundësinë t'i blejnë ato mekanizma komplekse, në vend që t'i zhvilloni ato vetë. Kjo rriti produktivitetin e programuesve - ata u përqendruan në logjikën e programeve të tyre, duke mos u hutuar nga detajet që lidhen me funksionimin e serverëve.

Artikujt kryesorë të lidhur