Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Lajme
  • Mësimi i Java. Çfarë lidhje ka Java me gjuhët dinamike dhe programimin funksional? Historia e versionit Java

Mësimi i Java. Çfarë lidhje ka Java me gjuhët dinamike dhe programimin funksional? Historia e versionit Java

Pra, Java ka një histori të gjatë dhe të vështirë zhvillimi, por është koha të shqyrtojmë se çfarë ndodhi me krijuesit, çfarë karakteristikash ka kjo teknologji.

Më e njohura, dhe në të njëjtën kohë duke shkaktuar debatin më të nxehtë, prona është shumë- ose ndër-platformë... Tashmë është thënë se arrihet duke përdorur makinën virtuale JVM, e cila është një program i rregullt që ekzekutohet nga sistemi operativ dhe i ofron aplikacioneve Java me të gjitha aftësitë e nevojshme. Meqenëse të gjithë parametrat e JVM janë specifikuar, detyra e vetme mbetet - të zbatohen makinat virtuale në të gjitha platformat ekzistuese dhe të përdorura.

Prania e një makinerie virtuale përcakton shumë veti të Java-s, por tani le të ndalemi në pyetjen e mëposhtme - a është Java një gjuhë e përpiluar apo e interpretuar? Në fakt, përdoren të dyja qasjet.

Kodi burimor i çdo programi Java përfaqësohet nga skedarë teksti të zakonshëm që mund të krijohen në çdo redaktues teksti ose mjet të specializuar zhvillimi dhe kanë zgjerimin .java. Këta skedarë futen në përpiluesin Java, i cili i përkthen ato në bitekod të veçantë Java. Është ky grup kompakt dhe efikas instruksionesh që mbështetet nga JVM dhe është pjesë integrale e platformës Java.

Dalja e përpiluesit ruhet në skedarë binare me shtesën .class. Një aplikacion Java i përbërë nga skedarë të tillë futet në hyrjen e makinës virtuale, e cila fillon t'i ekzekutojë, ose t'i interpretojë ato, pasi është një program vetë.

Shumë zhvillues në fillim kritikuan ashpër sloganin e guximshëm të Sun "Shkruaj një herë, vrapo kudo", duke zbuluar gjithnjë e më shumë mospërputhje dhe mospërputhje në platforma të ndryshme. Megjithatë, duhet pranuar se ata ishin thjesht shumë të paduruar. Java sapo lindi dhe versionet e para të specifikimeve nuk ishin mjaftueshëm gjithëpërfshirëse.

Shumë shpejt, Sun arriti në përfundimin se thjesht publikimi i specifikave lirisht (siç bëhej shumë kohë përpara Java) nuk ishte i mjaftueshëm. Është gjithashtu e nevojshme të krijohen procedura të veçanta për kontrollin e produkteve të reja për pajtueshmërinë me standardet. Testi i parë i tillë për JVM përmbante vetëm rreth 600 kontrolle, një vit më vonë numri i tyre u rrit në dhjetë mijë dhe është rritur që atëherë (ishte ky test që MS IE 4.0 nuk mund të kalonte në të njëjtën kohë). Sigurisht, autorët e makinave virtuale i kanë përmirësuar ato gjatë gjithë kohës, duke eliminuar gabimet dhe duke optimizuar punën e tyre. Megjithatë, çdo teknologji, qoftë edhe e konceptuar shumë mirë, kërkon kohë për të krijuar një zbatim cilësor. Java 2 Micro Edition (J2ME) aktualisht po kalon një rrugë të ngjashme zhvillimi, por më shumë për këtë më vonë.

Vetia tjetër më e rëndësishme është orientimi i objektit Java, i cili përmendet gjithmonë në të gjithë artikujt dhe njoftimet për shtyp. Vetë qasja e orientuar drejt objektit (OOP) diskutohet në leksionin e ardhshëm, por është e rëndësishme të theksohet se në Java pothuajse gjithçka zbatohet në formën e objekteve - threads dhe rrjedhat e të dhënave, rrjetëzimi, puna me imazhe, me një ndërfaqe përdoruesi. . , trajtimi i gabimeve, etj. Në fund të fundit, çdo aplikacion Java është një koleksion klasash që përshkruajnë lloje të reja objektesh.

Një diskutim i detajuar i modelit të objektit Java kryhet gjatë gjithë kursit, megjithatë, ne përshkruajmë veçoritë kryesore. Para së gjithash, krijuesit braktisën trashëgiminë e shumëfishtë. U vendos që ai të ndërlikojë dhe mjegullojë programet. Gjuha përdor një qasje alternative - një lloj të veçantë "ndërfaqe". Është diskutuar në detaje në leksionin përkatës.

Më tej, Java aplikohet shtypje e fortë... Kjo do të thotë se çdo variabël dhe çdo shprehje ka një lloj të njohur tashmë në kohën e përpilimit. Kjo qasje përdoret për të thjeshtuar identifikimin e problemeve, sepse përpiluesi raporton menjëherë gabimet dhe tregon vendndodhjen e tyre në kod. Kërkimi i përjashtimeve (përjashtimet - siç quhen situatat e pasakta në Java) gjatë ekzekutimit të programit (runtime) do të kërkojë testime komplekse, ndërsa shkaku i defektit mund të gjendet në një klasë krejtësisht të ndryshme. Kështu, duhet të bëni përpjekje shtesë për të shkruar kodin, por besueshmëria e tij është rritur ndjeshëm (dhe ky është një nga qëllimet themelore për të cilat u krijua gjuha e re).

Ekzistojnë vetëm 8 lloje të dhënash në Java që nuk janë objekte. Ato janë përcaktuar që në versionin e parë dhe nuk kanë ndryshuar kurrë. Këto janë pesë lloje të numrave të plotë: byte, short, int, long, si dhe karaktere char. Pastaj dy tipe fraksionale notojnë dhe dyfishohen, dhe në fund tipi boolean boolean. Llojet e tilla quhen të thjeshta, ose primitive (nga primitivi anglez), dhe ato diskutohen në detaje në leksionin për llojet e të dhënave. Të gjitha llojet e tjera janë objekt ose referencë (eng. referencë).

Për disa arsye, sintaksa Java ka mashtruar shumë. Ai me të vërtetë bazohet në sintaksën e gjuhëve C / C ++, kështu që nëse shikoni kodin burimor të programeve të shkruara në këto gjuhë dhe në Java, nuk do të jeni në gjendje të kuptoni menjëherë se cila prej tyre është shkruar në cila gjuhë. Për disa arsye, kjo dha shumë arsye për të menduar se Java është një C ++ e thjeshtuar me veçori shtesë si mbledhësi i mbeturinave. Më poshtë do të shikojmë grumbulluesin automatik të plehrave, por është gabim i madh të mendosh se Java është e njëjta gjuhë si C ++.

Sigurisht, kur zhvillonin një teknologji të re, autorët e Java-s u mbështetën në një gjuhë programimi të përhapur për një sërë arsyesh. Së pari, ata vetë e konsideruan C ++ si mjetin e tyre kryesor në atë kohë. Së dyti, pse të dalësh me diçka të re kur ekziston një e vjetër krejtësisht e përshtatshme? Më në fund, është e qartë se sintaksa e panjohur do të trembë zhvilluesit dhe do të komplikojë ndjeshëm prezantimin e një gjuhe të re, dhe në fund të fundit, Java duhet të ishte përhapur sa më shpejt që të ishte e mundur. Prandaj, sintaksa u thjeshtua pak për të shmangur konstruktet tepër konfuze.

Por, siç u përmend tashmë, C ++ ishte thelbësisht i papërshtatshëm për detyrat e reja të vendosura nga zhvilluesit nga kompania Sun, kështu që modeli Java u rindërtua, dhe në përputhje me qëllime krejtësisht të ndryshme. Ligjëratat e mëtejshme gradualisht do të zbulojnë dallime specifike.

Sa i përket modelit të objektit, ai u modelua më tepër në gjuhë të tilla si Smalltalk nga IBM, ose gjuha Simula e zhvilluar në vitet '60 në Qendrën Norvegjeze të Informatikës, të cilës i referohet krijuesi i Java, James Gosling.

Një tjetër pronë e rëndësishme e Java - lehtësia e të mësuarit dhe zhvillimit - mori gjithashtu nota të diskutueshme. Në të vërtetë, autorët morën mundimin për të shpëtuar programuesit nga gabimet më të zakonshme që ndonjëherë bëjnë edhe zhvilluesit me përvojë të C / C ++. Dhe vendin e parë këtu e zë puna me kujtesën.

Në Java, që në fillim, mekanizmi automatik i grumbullimit të plehrave(nga anglishtja e grumbulluesit të mbeturinave). Supozoni se programi krijon një objekt, punon me të dhe pastaj vjen një moment kur ai nuk është më i nevojshëm. Është e nevojshme të lirohet memoria e zënë në mënyrë që të mos ndërhyjë në funksionimin normal të sistemit operativ. Në C / C ++, kjo duhet të bëhet në mënyrë eksplicite nga programi. Natyrisht, me këtë qasje, ekzistojnë dy rreziqe - ose fshini një objekt që i nevojitet dikujt tjetër (dhe nëse aksesohet në të, do të ndodhë një gabim), ose mos fshini një objekt që është bërë i panevojshëm, që do të thotë një rrjedhje memorie, që programi fillon të konsumojë gjithnjë e më shumë RAM.

Kur zhvillohet në Java, programuesi nuk mendon fare për lirimin e kujtesës. Vetë makina virtuale numëron numrin e referencave për secilin objekt, dhe nëse bëhet zero, atëherë një objekt i tillë shënohet për përpunim nga mbledhësi i mbeturinave. Kështu, programuesi duhet vetëm të sigurohet që nuk ka referenca për objekte të panevojshme. Mbledhësi i mbeturinave është një sfond ekzekutimi që skanon rregullisht objektet ekzistuese dhe heq ato që nuk nevojiten më. Ju nuk mund të ndikoni në asnjë mënyrë në punën e grumbulluesit të plehrave nga programi, mund të filloni vetëm në mënyrë eksplicite kalimin e tij të ardhshëm duke përdorur një funksion standard. Është e qartë se kjo thjeshton shumë zhvillimin e programeve, veçanërisht për programuesit fillestarë.

Sidoqoftë, zhvilluesit me përvojë ishin të pakënaqur me faktin se ata nuk mund të kontrollonin plotësisht gjithçka që ndodh me sistemin e tyre. Nuk ka informacion të saktë se kur do të fshihet saktësisht një objekt që është bërë i panevojshëm, kur filli i grumbulluesit të mbeturinave do të fillojë të funksionojë (dhe për rrjedhojë do të zërë burimet e sistemit), etj. Por, me gjithë respektin e duhur për përvojën e programuesve të tillë, duhet të theksohet se numri dërrmues i dështimeve të programeve të shkruara në C / C ++ shkaktohet nga puna e gabuar me kujtesën, dhe ndonjëherë kjo ndodh edhe me produkte të përhapura të shumë kompani serioze.

Përveç kësaj, theks i veçantë iu kushtua lehtësisë së zotërimit të teknologjisë së re. Siç u përmend tashmë, pritej (dhe këto pritshmëri u justifikuan, në konfirmim të korrektësisë së rrugës së zgjedhur!) që Java të përdorej sa më gjerësisht, edhe në ato kompani ku nuk kishin bërë kurrë më parë programim në një nivel të tillë ( pajisje shtëpiake të tilla si tostera dhe aparate kafeje, krijimi i lojërave dhe aplikacioneve të tjera për telefonat celularë, etj.). Kishte edhe një sërë konsideratash të tjera. Produktet për përdoruesit e zakonshëm, jo ​​për programuesit profesionistë, duhet të jenë veçanërisht të besueshme. Interneti është bërë World Wide Web sepse janë shfaqur përdorues laikë dhe aftësia për të krijuar aplikacione është po aq tërheqëse për ta. Ata kishin nevojë për një mjet të thjeshtë për të ndërtuar aplikacione të fuqishme.

Më në fund, bumi i internetit i viteve '90 fitoi vrull dhe prezantoi afate të reja, më të rrepta zhvillimi. Projektet afatgjata, që ishin të zakonshme në të kaluarën, pushuan së plotësuari nevojat e klientëve, sistemet e reja duhej të krijoheshin maksimumi brenda një viti, apo edhe në disa muaj.

Përveç futjes së grumbulluesit të plehrave, janë ndërmarrë hapa të tjerë për të lehtësuar zhvillimin. Disa prej tyre janë përmendur tashmë - refuzimi i trashëgimisë së shumëfishtë, thjeshtimi i sintaksës, etj. Aftësia për të krijuar aplikacione me shumë fije u zbatua në versionin e parë të Java (studimet kanë treguar se kjo është shumë e përshtatshme për përdoruesit, dhe standardet ekzistuese bazohen në sisteme teletipi, të cilat janë të vjetruara prej shumë vitesh). Karakteristikat e tjera do të diskutohen në leksionet e mëposhtme. Sidoqoftë, prej kohësh është pranuar përgjithësisht se ndërtimi dhe mirëmbajtja e sistemeve është në të vërtetë më e lehtë në Java sesa në C / C ++. Sidoqoftë, në të njëjtën kohë, këto gjuhë janë krijuar për qëllime të ndryshme, dhe secila ka avantazhet e veta të padiskutueshme.

Vetia tjetër e rëndësishme e Java është siguria. Fokusi fillestar në aplikacionet e shpërndara, dhe në veçanti vendimi për të ekzekutuar aplikacionet në kompjuterin e klientit, e bëri sigurinë një përparësi kryesore. Ekziston një gamë e tërë masash në punë në çdo makinë virtuale Java. Më poshtë është vetëm një përshkrim i shkurtër i disa prej tyre.

Së pari, këto janë rregullat për të punuar me kujtesën. Tashmë është thënë se pastrimi i kujtesës bëhet automatikisht. Rezervimi i tij përcaktohet gjithashtu nga JVM, dhe jo nga përpiluesi, ose në mënyrë të qartë nga programi; zhvilluesi mund të tregojë vetëm se dëshiron të krijojë një objekt tjetër të ri. Treguesit për adresat fizike mungojnë në parim.

Së dyti, prania e një përkthyesi të makinës virtuale e bën shumë më të lehtë ndërprerjen e kodit të rrezikshëm në çdo fazë të punës. Bajtkodi fillimisht ngarkohet në sistem, zakonisht në formën e skedarëve të klasës. JVM kontrollon me kujdes që ata të gjithë u binden rregullave të përgjithshme të sigurisë Java dhe se ato nuk janë krijuar nga sulmuesit përmes disa mjeteve të tjera (dhe nëse nuk janë të korruptuar në tranzit). Pastaj, gjatë ekzekutimit të programit, përkthyesi mund të kontrollojë lehtësisht çdo veprim për vlefshmëri. Aftësitë e klasave që janë ngarkuar nga një disk lokal ose përmes rrjetit ndryshojnë ndjeshëm (përdoruesi mund të caktojë ose heqë lehtësisht të drejta specifike). Për shembull, aplikacionet nuk do të hyjnë kurrë në sistemin lokal të skedarëve si parazgjedhje. Kufizime të tilla të integruara gjenden në të gjitha bibliotekat standarde Java.

Së fundi, ekziston një mekanizëm për nënshkrimin e aplikacioneve dhe aplikacioneve të tjera të shkarkuara përmes rrjetit. Një certifikatë e veçantë garanton që përdoruesi ka marrë kodin pikërisht ashtu siç e ka lëshuar prodhuesi. Kjo, natyrisht, nuk siguron mjete shtesë mbrojtjeje, por i lejon klientit ose të refuzojë të punojë me aplikacione nga prodhues jo të besueshëm, ose menjëherë të shohë se janë bërë ndryshime të paautorizuara në program. Në rastin më të keq, ai e di se kush është përgjegjës për dëmin.

Tërësia e vetive të përshkruara të Java bën të mundur të pohohet se gjuha është shumë e përshtatshme për zhvillimin e aplikacioneve të internetit dhe intranetit (rrjetet e brendshme të korporatave).

Së fundi, një tipar i rëndësishëm dallues i Java është dinamizmi i saj. Gjuha është konceptuar shumë mirë, qindra mijëra zhvillues dhe shumë kompani të mëdha janë të përfshirë në zhvillimin e saj. Fazat kryesore të këtij zhvillimi janë përmbledhur në seksionin vijues.

Pra, le të përmbledhim. Platforma Java ka përparësitë e mëposhtme:

  • transportueshmëri, ose ndër-platformë ;
  • orientimi i objektit, është krijuar një model efikas i objektit;
  • sintaksë e njohur C / C ++;
  • model i integruar dhe transparent i sigurisë;
  • orientimi në detyrat e internetit, aplikacionet e shpërndara në rrjet;
  • dinamizmi, lehtësia e zhvillimit dhe shtimi i veçorive të reja;
  • lehtësinë e të mësuarit.

Por nuk duhet të supozohet se mësimi më i lehtë do të thotë që nuk keni nevojë të mësoni fare një gjuhë. Shkrimi i programeve vërtet të mira, ndërtimi i sistemeve të mëdha, komplekse, kërkon një kuptim solid të të gjitha koncepteve bazë Java dhe bibliotekave të përdorura. Kjo është ajo që ky kurs ka të bëjë.

Versionet dhe produktet kryesore Java

Le të bëjmë një rezervim menjëherë se produktet këtu nënkuptojnë zgjidhje softuerike nga Sun, të cilat janë "zbatim referimi".

Pra, Java u shpall për herë të parë më 23 maj 1995. Produktet kryesore të disponueshme në atë kohë në formën e versioneve beta ishin:

  • Specifikimi i gjuhës Java, JLS, Specifikimi i gjuhës Java (duke përshkruar fjalorin, llojet e të dhënave, konstruktet bazë, etj.);
  • Specifikimi JVM
  • Java e Zhvillimit Kit, JDK - Një mjet zhvilluesi që përbëhet kryesisht nga shërbime, biblioteka standarde të klasave dhe demonstrime.

Specifikimi i gjuhës ishte shkruar aq mirë saqë përdoret praktikisht i pandryshuar deri më sot. Natyrisht, u bënë një numër i madh sqarimesh, përshkrime më të hollësishme, u shtuan disa veçori të reja (për shembull, deklarimi i klasave të brendshme), por konceptet bazë mbeten të pandryshuara. Ky kurs mbështetet shumë në specifikimet e gjuhës.

Specifikimi JVM është menduar kryesisht për krijuesit e makinave virtuale, dhe për këtë arsye nuk përdoret pothuajse nga programuesit Java.

JDK ka qenë prej kohësh një mjet bazë për zhvillimin e aplikacioneve. Ai nuk përmban asnjë redaktues teksti, por funksionon vetëm në skedarët ekzistues Java. Përpiluesi përfaqësohet nga programi javac (përpiluesi java). Makina virtuale zbatohet nga java. Për lëshimet testuese të aplikacioneve, ekziston një mjet i veçantë i quajtur appletviewer. Më në fund, ofrohet një mjet javadoc për të gjeneruar automatikisht dokumentacion nga kodi burimor.

Versioni i parë përmbante vetëm 8 biblioteka standarde:

  • java.lang - klasat bazë të kërkuara për funksionimin e çdo aplikacioni (emri është një shkurtim i gjuhës);
  • java.util - Shumë klasa ndihmëse të dobishme
  • java.applet - klasa për krijimin e aplikacioneve;
  • java.awt, java.awt.peer - një bibliotekë për krijimin e një ndërfaqeje grafike të përdoruesit (GUI), e quajtur Abstract Window Toolkit, AWT, e përshkruar në detaje në Leksionin 11;
  • java.awt.image - klasa shtesë për të punuar me imazhe;
  • java.io - punë me transmetime dhe skedarë;
  • java.net - rrjetëzimi.

Kështu, të gjitha bibliotekat fillojnë me java, ato janë ato standarde. Të gjithë të tjerët (duke filluar me com, org, etj.) mund të ndryshojnë në çdo version pa mbështetje përputhshmërie.

Versioni përfundimtar i JDK 1.0 u lëshua në janar 1996.

Le të shpjegojmë menjëherë sistemin e emërtimit të versionit. Emërtimi i versionit përbëhet nga tre shifra. E para është gjithmonë 1. Kjo do të thotë se përputhshmëria e plotë ruhet midis të gjitha versioneve të 1.x.x. Kjo do të thotë, një program i shkruar në një JDK më të vjetër do të ekzekutohet gjithmonë me sukses në një më të ri. Përputhshmëria e prapambetur ruhet sa herë që është e mundur - nëse programi është përpiluar me një JDK më të ri dhe nuk janë përdorur biblioteka të reja, atëherë në shumicën e rasteve makinat e vjetra virtuale do të jenë në gjendje të ekzekutojnë një kod të tillë.

Shifra e dytë ka ndryshuar nga 0 në 4 (e fundit në kohën kur u krijua kursi). Në secilin version, pati një zgjerim të konsiderueshëm të bibliotekave standarde (212, 504, 1781, 2130 dhe 2738 - numri i klasave dhe ndërfaqeve nga 1.0 në 1.4), dhe gjithashtu disa veçori të reja u shtuan në vetë gjuhën. Shërbimet e përfshira në JDK gjithashtu kanë ndryshuar.

Më në fund, shifra e tretë tregon zhvillimin e një versioni. Asgjë nuk ndryshon në gjuhë ose biblioteka, vetëm gabimet eliminohen, optimizimi kryhet, argumentet e shërbimeve mund të ndryshohen (shtohen). Pra, versioni më i fundit i JDK 1.0 është 1.0.2.

Edhe pse me zhvillimin e versionit 1.x asgjë nuk hiqet, sigurisht, disa funksione ose klasa janë zhvlerësuar. Ato janë deklaruar të zhvlerësuara dhe megjithëse do të mbështeten derisa të shpallet 2.0 (dhe asgjë nuk është dëgjuar ende për të), nuk rekomandohet përdorimi i tyre.

Bashkë me suksesin e parë të JDK 1.0, mbërritën edhe kritikat. Disavantazhet kryesore të gjetura nga zhvilluesit ishin si më poshtë. E para, natyrisht, është performanca. Makina e parë virtuale ishte shumë e ngadaltë. Kjo për faktin se JVM, në fakt, është një interpretues, i cili gjithmonë funksionon më ngadalë se ekzekutimi i kodit të përpiluar. Megjithatë, optimizimi i suksesshëm që eliminoi këtë të metë ishte ende përpara. U vunë re gjithashtu aftësi mjaft të dobëta të AWT, mungesa e punës me bazat e të dhënave dhe të tjera.

Në dhjetor 1996, u njoftua një version i ri i JDK 1.1 dhe versioni beta u lëshua menjëherë për qasje falas. Versioni përfundimtar doli në shkurt 1997. Çfarë është shtuar në versionin e ri Java?

Sigurisht, një vëmendje e veçantë i është kushtuar performancës. Shumë pjesë të makinës virtuale janë optimizuar dhe rishkruar duke përdorur Assembler në vend të C si më parë. Për më tepër, që nga tetori 1996, Sun ka zhvilluar një produkt të ri - përpiluesin Just-In-Time, JIT. Detyra e tij është të përkthejë bajtkodin Java të programit në kodin "amtare" të sistemit operativ. Kështu, koha e fillimit të programit rritet, por ekzekutimi mund të përshpejtohet në disa raste deri në 50 herë! Që nga korriku 1997, ekziston një zbatim për Windows dhe JIT është përfshirë në JDK si standard me aftësinë për të çaktivizuar.

Shumë veçori të reja të rëndësishme janë shtuar. JavaBeans, një teknologji e shpallur në vitin 1996, ju lejon të krijoni komponentë vizualë që mund të integrohen lehtësisht në mjetet e zhvillimit vizual. JDBC (Java DataBase Connectivity) ofron akses në bazat e të dhënave. RMI (Remote Method Invocation) e bën të lehtë krijimin e aplikacioneve të shpërndara. Mbështetja kombëtare gjuhësore dhe siguria janë përmirësuar.

Në tre javët e para, JDK 1.1 u shkarkua mbi 220,000 herë, dhe në më pak se një vit më shumë se dy milionë herë. Për momentin, versioni 1.1 konsiderohet plotësisht i vjetëruar dhe zhvillimi i tij u ndal në 1.1.8. Megjithatë, për shkak të faktit se shfletuesi më i zakonshëm MS IE ende mbështet vetëm këtë version, ai vazhdon të përdoret për të shkruar aplikacione të vogla.

Përveç kësaj, Sun filloi të ofrojë Java Runtime Environment (JRE) më 11 mars 1997. Në fakt, ky është zbatimi minimal i një makinerie virtuale që kërkohet për të ekzekutuar aplikacionet Java, pa një përpilues ose mjete të tjera zhvillimi. Nëse përdoruesi dëshiron vetëm të ekzekutojë programe, kjo është pikërisht ajo që i nevojitet.

Siç mund ta shihni, pengesa kryesore mbetet mbështetja e dobët për ndërfaqen grafike të përdoruesit (GUI). Në dhjetor 1996, Sun dhe Netscape njoftuan një bibliotekë të re, IFC (Klasat e Fondacionit të Internetit), e zhvilluar tërësisht në Java nga Netscape, për të krijuar saktësisht një ndërfaqe komplekse me dritare. Në prill 1997, u njoftua se kompanitë po planifikonin të kombinonin AWT të Sun dhe IFC të Netscape për të krijuar një produkt të ri Java Foundation Classes, JFC, i cili do të përfshinte:

  • dritare e përmirësuar

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

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ë studimit të 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 një kohe, gjuha e re u riemërua Green, dhe pas kësaj - në Java, për nder të kafesë nga ishulli Java. Prandaj, logoja Java përshkruan 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 " shkruani një herë - vraponi kudo". Në 1995, Sun Microsystems lëshoi ​​​​versionin e parë zyrtar të Java. Dhe në të njëjtën kohë, u njoftua se Java do të përfshihet 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.

Funksionet e gjuhës programuese Java

Java është një gjuhë ndër-platformë

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

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

Gjuhë programimi e orientuar drejt objekteve

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.

Funksionet 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 programimin, qasja e orientuar nga objekti ia vlen të përfshihet në kurrikulën tuaj.

Java është e shpejtë

Versionet e hershme gjuhë programimi Java shpesh është kritikuar se është e ngadaltë. Por sot situata ka ndryshuar në mënyrë dramatike. Versionet më të reja të JVM-ve funksionojnë shumë më shpejt dhe procesorët që i interpretojnë ato po bëhen gjithnjë e 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 lëshimin e aplikacioneve;
  • ofron mjete për menaxhimin automatik të kujtesës, gjë që redukton cenueshmërinë e kodit;
  • siguron transmetim të sigurt të të dhënave.

Bibliotekë e gjerë thelbësore

Një nga arsyet pse Java përdoret gjerësisht është biblioteka e madhe standarde. Ai përmban qindra klasa dhe metoda nga paketa të ndryshme për ta bërë jetën më të lehtë për zhvilluesit. Për shembull,

java.lang janë funksione 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, datën dhe kohën, etj.

kava.io është një 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 ta përdorni:

  1. Aplikacionet Android - Për zhvillimin e aplikacioneve 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 në anën e serverit, kornizën Struts dhe JSP. Disa aplikacione të njohura në internet të shkruara në Java përfshijnë 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- programe të tilla 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, mund të përdorni kornizën Hadoop të 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- Miliarda pajisje mundësohen sot nga teknologjia Java Embedded e Oracle, si televizorët, kartat SIM, luajtësit Blu-ray dhe më shumë.

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

Terminologjia Java që duhet të dini

Java është një koleksion teknologjish ( gjuhë programimi dhe platformë kompjuterike) projektuar për të krijuar dhe ekzekutuar softuer. Sidoqoftë, termi Java përdoret shpesh për t'iu referuar vetë gjuhës së programimit.

Gjuhë programimi Java është një gjuhë programimi me bazë të gjerë, me qëllim të përgjithshëm, ndër-platformë, e orientuar nga objekti.

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 i referohen 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 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 nuk ka përpilues, korrigjues ose mjete të tjera zhvillimi në JRE.

JDK - Kompleti i Zhvillimit Java (kit 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 instalimet e platformës në Mac OS X ose macOS:

  1. Shkarkoni versionin më të fundit 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ë, versioni i programit ( për shembull 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 të IntelliJ IDEA dhe do të ekzekutojmë 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 të shpejtë, mund ta zhvendosni IntelliJ IDEA në dosjen "Aplikacione".
  2. Hapni IntelliJ IDEA. Zgjidhni opsionin "Mos importo cilësimet" (" Mos importo cilësimet") Dhe klikoni "Ok". Pastaj 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 butonin Skip All and Set Defaults. Kapërceni gjithçka dhe vendosni cilësimet e paracaktuara»).


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


  1. Ju do të keni mundësinë për të krijuar një projekt nga shabllon ("Krijo projekt nga shabllon"). Injoroni atë dhe klikoni butonin Next.
  2. Në hapin tjetër të instalimit gjuhë programimi Java shkruani një emër për projektin dhe klikoni Finish.
  3. Në panelin e majtë, do të shihni projektin tuaj. Nëse paneli nuk është i dukshëm, shkoni te menyja Shikimet> Vegla Windows> 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 së pari ( pra 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 JAVA SE Development Kit ( JDK) dhe 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 drejtorinë në terminal në drejtorinë e shkarkimit 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 e koshit të programit IntelliJ IDEA:

    cd / opt / / kosh

  2. Për të nisur IDE, futni komandën e mëposhtme:
  3. Ne zgjedhim "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, ju mund ta personalizoni ndërfaqen për veten tuaj. Krijoni një shkurtore desktopi për qasje të shpejtë në program. Pas kësaj, për të nisur IDE, klikoni "Next" në të gjitha hapat e mëposhtëm.
  5. Programi do të shfaqë një faqe mirëseardhjeje. Kliko "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. Shtypni "Next" dy herë dhe krijoni një projekt.
  2. Në hapin tjetër, vendosni një emër për projektin dhe klikoni Finish. Tani do ta shihni projektin tuaj në panelin e majtë. Nëse ky panel nuk është i dukshëm, shkoni te menyja Shikimet> Vegla Windows> Projekti.
  3. Shtoni një klasë të re Java. Zgjidhni src në panelin e majtë me klikun e djathtë dhe shkoni te New> Java Class. Vendosni emrin e klasës. Nuk duhet të ketë hapësira në emrin e klasës.


  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ë zotëruar Java bazat e programimit dhe ekzekutimi i platformës në Windows do të kërkojë një JAVA SE Development Kit (JDK) dhe IDE për të zhvilluar projekte. Ndiqni udhëzimet hap pas hapi më poshtë:

Instalimi i Java

  • Shkoni në faqja e shkarkimit Paketa e 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) për një sistem operativ 64-bit ose Windows (x86) për një sistem operativ 32-bit.

  1. Pas shkarkimit, ekzekutoni skedarin e instalimit dhe ndiqni udhëzimet që 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ë theksuar me të verdhë) në "Notepad" dhe më pas kliko " 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 " Parametrat shtesë të sistemit ".

  1. Kliko " Variablat e Mjedisit"... në kapitullin " 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, mund të vazhdoni në hapin tjetër. Nëse jo, atëherë ngjisni vendndodhjen e instalimit të 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ë dritaren PATH.


  1. Kliko " Ne rregull"Për të ruajtur ndryshimet tuaja.
  2. Për të kontrolluar nëse platforma është instaluar saktë 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 ..." ( Dritaret - R). Futni komandën java -version. Nëse shfaqet versioni aktual Java, 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ë shfaqen në ekran. Më pas krijoni një shkurtore të desktopit për 64-bit dhe shtoni lidhjet me shtesën .java. Klikoni "Next" dhe vazhdoni me instalimin.


  1. Pasi të instalohet, hapni IntelliJ IDEA duke klikuar në ikonën në desktopin tuaj.
  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. Kliko "Krijo projekt të ri" Krijo një projekt të ri»).


  1. Në dritaren tjetër, zgjidhni "Java" në panelin e majtë dhe klikoni "New" në krye të dritares së programit për të zgjedhur JDK. Këtu ju duhet të zgjidhni vendndodhjen ku është instaluar JDK gjatë instalimit të Java, dhe pastaj klikoni "Next".
  2. IntelliJ IDEA do të gjejë JDK dhe do ta njohë atë. Nuk keni nevojë të kontrolloni asnjë opsion tjetër, thjesht klikoni Next.
  3. Në ekranin tjetër, vendosni një emër për projektin: 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 vendosni klasës një emër. Nuk duhet të ketë hapësira në emrin e klasës.


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


Programi juaj i parë Java

Për t'i prezantuar përdoruesit me gjuhën e re të programimit, përdorni programin Hello World. Ky është një program i thjeshtë që shtyp 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 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. Kopjo kodin e mëposhtëm në HelloWorld.java dhe ruaje atë.

klasa publike HelloWorld (publike static void main (String args) (


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


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

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

Si të mësoj 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 negative është se dokumentacioni zyrtar Java nuk është gjithmonë i shkruar në gjuhën më të thjeshtë.

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ë tutorial i mirë do t'ju ndihmojë të mësoni programimin.

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

Një libër i shkëlqyer për ata që sapo kanë filluar të mësojnë Java. Edicioni i fundit përfshin të gjitha tiparet e versionit Java 8.

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

Filozofia Java (Edicioni i 4-të)

Nëse po kaloni 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 jep përgjigje të qarta për pyetjet që lindin kur mëson J programimi ava nga e para... Ajo prezanton shkurtimisht të gjitha konceptet themelore 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 do të gaboni - është një gjuhë programimi premtuese e plot me një gamë të gjerë mundësish.

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

  • Mos lexoni artikuj dhe shembuj tutorial 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. Pasi të keni mësuar se si të shkruani programe të thjeshta Java, kërkoni faqet dhe forumet e njohura Java. Përpiquni 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 hasni në telashe, do të dini se ku të kërkoni ndihmë.

Shpresojmë që ky artikull t'ju shtyjë drejt mësimit të 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 ekipi 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 ...

Çfarë është siguria e informacionit? Kjo është një gjendje 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ë caktuar pa u lidhur me një metodë specifike zbatimi, domethënë pa një produkt specifik të përfunduar softuerësh në një gjuhë që ka një specifikim teknik të detajuar me një përshkrim të arkitekturës dhe funksionalitetit. Por edhe kjo nuk do të jetë e mjaftueshme, pasi është e nevojshme të vlerësohet gjendja e sigurisë së sistemit të informacionit 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, gurë të grimcuar, tulla etj.) dhe mjete (kovë, lopatë, mistri etj.). Ne nuk do të jemi në gjendje të vlerësojmë cilësinë dhe besueshmërinë e shtëpisë së përfunduar vetëm nga materialet / mjetet e përdorura: sa kohë do të qëndrojë, nëse do të plasaritet, nëse do të jetë e ftohtë apo e qetë. Ju duhet të zgjidhni një projekt shtëpie, teknologji ndërtimi dhe një ekip zejtarësh. Dhe vetëm pas përfundimit të ndërtimit, ne do të jemi në gjendje të masim pajtueshmërinë me projektin, GOST, SNiP, të kontrollojmë matjet e mbrojtjes termike, zhurmën, ngarkesat, të analizojmë cilësinë e çimentos dhe t'i përgjigjemi shumicës së pyetjeve. Por pyetja kryesore "sa kohë do të qëndrojë?" 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 ta mbani Java të sigurt

Merrni Java për shembull . Është një gjuhë programimi e orientuar nga objekti; Programet Java përkthehen në bitekod Java, i cili ekzekutohet nga makina virtuale Java (JVM), një program që përpunon kodin e bajtit dhe i kalon instruksionet harduerit si përkthyes. Avantazhi i kësaj metode 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.

« Një gjuhë universale "tingëllon bukur, por problemi më i zakonshëm është gjithashtu ana e kundërt e medaljes - një rrjedhje memorie në JVM, e cila çon në tejmbushje të memories dhe përplasje. Në lidhje me këtë problem, dobësitë nuk përjashtohen, sepse postulati bazë i besueshmërisë është që sa më e thjeshtë aq më mirë. Në këtë rast, një byrek kaq kompleks po mblidhet 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 rregullohen pas 4-8 vjetësh, dhe kjo nëse nuk merrni parasysh veçoritë e padeklaruara të mbetura qëllimisht ose gabimisht.

Nga praktika ime: kur programuesit shtojnë funksionalitet të ri që lidhet me një të implementuar tashmë, ose rregullojnë funksionalitetin e vjetër, atëherë në 15% të rasteve ata thyejnë një produkt të funksionuar më parë. Dhe nëse në të njëjtën kohë ata nuk kryejnë testim të plotë, në dalje kemi një produkt me funksionalitet të ri, por me të vjetrën pjesërisht të pafuqishme. Ekzistojnë gjithashtu ndryshime në kodimin 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 standardë të sigurisë, të lëshuar për Java SE 8 dhe të përshkruara në Dokumentacionin e Sigurisë. Asgjë e re nuk është shtuar në versionin e dhjetë.

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 mjediset më të fundit të zhvillimit dhe përditësimet e sigurisë;

Përdorni programe për të kontrolluar korrektësinë e 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 Java;

D) profesionistët e sigurisë kanë nevojë:

Përdorni mjete të avancuara të menaxhimit dhe përmirësoni sigurinë (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ë ndjekin rregullat dhe rregulloret e sigurisë. Arritja e një gjendje sigurie në një nivel adekuat mund të bëhet vetëm së bashku dhe duke përdorur të gjitha masat në dispozicion (teknike, organizative). Siç tregon praktika ime, në 60% të organizatave, shërbimet e TI-së dhe të sigurisë së informacionit po ecin mirë me sigurinë, si dhe me përdoruesit që përdorin pajisje të korporatës dhe janë të lidhur me një domen të 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, arsyet kryesore për problemet e 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). Dmth formalisht ata do të përdorin metoda sigurie, të cilat në fakt do të mbeten formale, "për show", pa marrë parasysh kërkesat dhe nuancat:

Për fjalëkalimet: zakonisht përdoren vlerat e paracaktuara dhe nuk konfigurohen 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ë ndryshohen, pasi ato nuk janë përfshirë në detyrën e fushës për zhvillimin e softuerit, gjë që çon në nevojën për të shtuar kodin.

Për 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ë konfiguruar dhe negociuar 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ë vëllimi duhet të regjistrohen. Megjithatë, ata shpesh nuk pajisen me këtë 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ë rëndësishme në aftësinë për të ruajtur informacionin për një periudhë të kërkuar kohore (për shembull, një deri në tre vjet) ose ekziston nevoja për të blerë 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 rregulla unike për përpunimin e informacionit ose mund të çojë në rreziqe që lidhen me informacionin e vjetëruar. Në të njëjtën kohë, harxhohet shumë kohë për analizimin 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 mediave 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 enkriptimit (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 enkriptim AES, një gjatësi çelësi 256 bit, por ju harroni mundësinë e zgjedhjes së një adrese në portin 443 për HTTPS dhe ose portin 80 për HTTP, në vend që të bllokoni portin. 80, si rezultat i të cilit bëhet e mundur qasja 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 para në funksione specifike të veçanta që nuk marrin parasysh blloqet e sigurisë.

Fatkeqësisht, një biznes 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, por ka vetëm rreziqe të mundshme që mund të mos funksionojnë. Biznesi më shpesh e kupton 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 e kupton sigurinë;

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

Nuk mund të përcjell në mënyrë të arsyeshme nevojën për siguri dhe të vërtetoj saktë rreziqet aktuale (reputacion, financiar, të përkohshëm).

C) Problemi i komunikimit në kompani ose mungesa 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) Mungesa e ndërgjegjësimit të përdoruesve të thjeshtë të kompanisë në çështjet e sigurisë së informacionit.

Supozoni se keni të gjitha departamentet, specialistët, masat teknike dhe organizative të nevojshme. Por përdoruesit rezistojnë 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, pasi njerëzit nuk e kuptojnë pse u duhet punë shtesë për të përmbushur çështjet e sigurisë së informacionit (kontrolloni skedarët me antivirus, mbani mend fjalëkalimet komplekse, dini dhe respektoni 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, cilat probleme dhe zgjidhje ekzistojnë, të komunikohen qëllimet dhe objektivat globale të sigurisë së informacionit dhe të motivohen ato dhe ndikimi i tyre në biznes.

E) Mungesa e arkitektëve të sigurisë së informacionit - specialistët e sigurisë së informacionit nuk janë gjithmonë të përfshirë 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ë të gjitha nuancat dhe nuk mund t'i dinë, pasi detyra e tyre është të përfundojnë zhvillimin dhe të kalojnë në atë tjetër. Nëse futeni më thellë në vetë zhvillimin, procesi është shumë më i ndërlikuar nga sa duket. Prandaj, është e nevojshme të merret qartë detyra nga biznesi, të zbërthehet në mini-detyra të kuptueshme për zhvilluesit, të kryhet zhvillimi, të kryhen teste alfa dhe beta, ngarkimi, testet funksionale, rregullimi i gabimeve, kthimi në teste - ky proces është ciklik dhe 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ë folur 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ë që i përshtatet të gjithëve dhe duhet marrë çdo masë paraprake. Detyra kryesore është që të gjithë punonjësit e kompanisë të depërtojnë, kuptojnë dhe respektojnë kërkesat e sigurisë së informacionit dhe të jenë të interesuar t'i respektojnë ato. Dhe vetëm atëherë do të jetë e mundur të flitet për efektivitetin dhe një nivel të mirë pjekurie të sigurisë së informacionit në kompani.

ZhvilluesiWorks Java Zone përmban qindra artikuj, udhëzime, këshilla dhe përmbajtje nga komuniteti Java për t'ju ndihmuar të përfitoni sa më shumë nga platforma Java dhe teknologjitë e lidhura me të kur zhvilloni aplikacione. Sidoqoftë, zhvilluesit aspirantë që sapo kanë filluar me Java mund ta kenë të vështirë të lundrojnë 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 themelore Java në kontekstin e përgjithshëm të aftësive të kësaj gjuhe. Gjeni lidhje me burimet për të mësuar më tej Java, të tilla si artikujt e developerWorks për fillestarët dhe burime të tjera arsimore, dhe lidhje me shkarkimet për produktet e IBM.

A jeni një zhvillues aspirues Java? Kjo faqe ofron një përmbledhje të teknologjive kryesore Java™ dhe vendin e tyre në zhvillimin modern të softuerit. Me lidhje me artikujt hyrës të zhvilluesit Works mbi këtë dhe tema të ngjashme, materiale të tjera edukative dhe shkarkime dhe produkte IBM, kjo faqe është një pikënisje e shkëlqyer për të mësuar Java.

Cilat janë "teknologjitë Java"?

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

Së pari, Java është një nivel i lartë i orientuar drejt objekteve gjuhë programimi... Në përpilimi, i cili ekzekutohet një herë gjatë ndërtimit të aplikacionit, kodi Java konvertohet në kodin e gjuhës së ndërmjetme ( bytekod). Nga ana tjetër, bytekodi analizohet dhe ekzekutohet ( interpretuar) makina virtuale Java (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ë shkruani 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 JVM dhe Ndërfaqen e Programimit të Aplikacionit Java (API), e cila është një grup i gjerë i komponentëve (klasave) të gatshme të softuerit 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 në pako të cilat përmbajnë klasa dhe ndërfaqe për zgjidhjen e problemeve të ndërlidhura.

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

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

JVM është gjithashtu një kornizë e provuar për ekzekutimin e aplikacioneve të shkruara në gjuhë të tjera përveç 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 Cila është lidhja e 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 organizatës së hapur jofitimprurëse JCP (Java Community Process), e cila bashkon zhvilluesit dhe të licencuarit Java. Në vitin 2007, Sun lëshoi ​​një version falas të Java, i cili përfshin 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ë seksionin Java dhe Zhvillimi i Software-it të Lirë.

Pse duhet të mësoni Java?

Avantazhi kryesor i gjuhës Java është transportueshmëria 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ë jashtëzakonisht 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 desktopin. Megjithatë, Java është gjithashtu ideale për zhvillimin e aplikacioneve në ueb nga ana e serverit që i mundësojnë një përdoruesi 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 fillimisht në Java, kështu që Java ofron një nivel të lartë sigurie kur punoni në internet. 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 emërtimi, menaxhimi i transaksioneve dhe emaili. Një numër i tyre janë shkruar në Java serverët e aplikacioneve që veprojnë si kontejnerë ueb për komponentë të tjerë Java, XML dhe shërbime të uebit që ndërveprojnë me bazat e të dhënave dhe japin në mënyrë dinamike përmbajtjen e 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 nivelet e kërkuara 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 mundësi të mëdha për përdorimin e shërbimeve të uebit të bazuara në XML për të ndihmuar partnerët e biznesit të shkëmbejnë burime informacioni dhe aplikacione. Java është në qendër të shumë 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ë disa nga bizneset kryesore të kompanisë.

  • Eksploroni qasjen e IBM dhe mësoni se si SOA mund t'ju ndihmojë të krijoni aplikacione heterogjene me funksionalitet nga burime të shumta, brenda dhe jashtë ndërmarrjes, duke mbështetur kështu proceset horizontale të biznesit. IBM ofron një sërë përdoruesish biznesi dhe profesionistësh të TI-së për t'ju ndihmuar të filloni me këtë teknologji.
  • është një qasje e bazuar në komponentë e ofruar nga IBM që ofron një gamë të plotë mundësish për ndryshime strategjike. Zgjidhjet e ofruara bazohen në 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ë lejojnë zhvilluesit e aplikacioneve, ofruesit e shërbimeve dhe prodhuesit e pajisjeve të krijojnë zgjidhje që plotësojnë nevojat e grupeve specifike të përdoruesve.

  • Java SE (Platforma Java, Edicion standard)... Duke përdorur Java SE, mund të ndërtoni dhe vendosni aplikacione Java për desktop dhe serverë, dhe të zhvilloni softuer dhe programe të integruara për sisteme në kohë reale. Edicioni Java SE përfshin klasat e nevojshme për të krijuar shërbime ueb dhe komponentët bazë 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 e kolonës. 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 dhe shërben për të thjeshtuar programimin e ndërfaqeve komplekse të përdoruesit.
    • Kjo seri me dy pjesë e titulluar ofron një hyrje në API të ofruar nga Java SE 6 që lejon aplikacionet Java të ekzekutojnë kodin dinamik të skriptimit 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 Java portative, të besueshme, të shkallëzueshme dhe të sigurta nga ana e serverit. 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 të zbatuar softuerin e ndërmarrjes në SOA dhe Web 2.0.
    • Lexoni artikuj dhe për një pasqyrë hyrëse të aftësive 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ë besueshme.
    • Për më shumë informacion mbi Java EE, shihni artikujt në kolonë.
    • Artikujt në serinë Fillimi: Migrimi në Platformën Java janë shkruar posaçërisht për zhvilluesit .NET, klientin/serverin e Windows dhe ASP për t'i ndihmuar ata të migrojnë në Java.
  • Java ME (Platforma Java, Micro Edition)... Java ME ofron një mjedis funksionimi për aplikacione të ndërtuara për një gamë të gjerë sistemesh celulare dhe të integruara, 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 rrjetin dhe aplikacionet e ngarkuara dinamikisht jashtë linje. Aplikacionet e bazuara në specifikimet Java ME mund të ekzekutohen në një sërë pajisjesh dhe të jenë ende në gjendje të shfrytëzojnë aftësitë e tyre të sistemit.

Cilat teknologji janë përbërësit kryesorë të platformës Java?

Zona Java developerWorks përmban Java-në e përfshirë. Më poshtë janë renditur disa nga komponentët, paketat e mundshme shtesë dhe shtesat e përfshira me çdo botim 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ë në të tre botimet e Platformës Java.

Teknologjitë e përfshira në Java SE:

  • Klasat e Java Foundation (lëkundje)(JFC) është një koleksion i bibliotekave të klasës Java të përdorura për të krijuar ndërfaqe grafike të përdoruesit dhe funksione të tjera grafike në aplikacionet e klientit Java. Menaxhimi .
  • JavaNdihmëështë një sistem ndihmës i shtrirë i pavarur nga platforma që lejon zhvilluesit dhe shkrimtarët teknikë të ngulitin faqet e ndihmës në aplikacione, komponentë softuerësh, aplikacione, sisteme operative dhe pajisje, dhe të krijojnë sisteme ndihmëse 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 Thjeshtëson vendosjen e aplikacioneve Java duke i lejuar përdoruesit të shkarkojnë dhe ekzekutojnë softuer të pasur, si p.sh. tabelat, me klikimin e një butoni të mausit, 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 shumë baza 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ë për të thjeshtuar manipulimin e imazhit.
  • Shërbimi i Autentifikimit dhe Autorizimit Java(JAAS) është një teknologji që ofron shërbime me një mjet 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ë kornizës standarde PAM (Pluggable Authentication Module) dhe mbështet autorizimin në nivel përdoruesi.
  • Zgjerimi i kriptografisë Java(JCE) është një grup paketash që ofrojnë infrastrukturë dhe zbatime për enkriptimin, gjenerimin dhe shkëmbimin e çelësave dhe algoritmet e kodit të vërtetimit të mesazheve (MAC). Kjo teknologji përfshin gjithashtu mbështetje për shifrat simetrike, asimetrike, të bllokut dhe të transmetimit, si dhe për objekte të sigurta dhe të mbyllura për transmetim. Më shumë detaje mund të gjenden në manual.
  • Objektet e të dhënave Java(JDO) është një model standard i qëndrueshmërisë abstrakte për objektet Java bazuar në ndërfaqe. Ai i lejon zhvilluesit të ruajnë drejtpërdrejt shembujt e klasave të domenit Java në ruajtje të vazhdueshme (të tilla si një bazë të dhënash). Në disa raste, ky model 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, të dyja të menaxhuara nga kontejnerët (Këmbëngulja e menaxhuar me kontejnerë - CMP) dhe gjendjen e ruajtjes në mënyrë të pavarur (Bean Managed Persistence - BMP).
  • Qese plastike Zgjerimet e menaxhimit të Java-s(JMX) ofron mjete për ndërtimin e aplikacioneve të shpërndara, modulare, dinamike dhe të aksesueshme 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 qasjen në shërbime të ndryshme të emrave dhe drejtorive në një rrjet të korporatës. Ai mundëson që aplikacionet të lidhen në mënyrë efikase me një sërë shërbimesh emërtimi dhe drejtorie në një mjedis heterogjen ndërmarrje.
  • Zgjatjet e foleve të sigurta Java(JSSE) është një koleksion paketash për shkëmbimin e sigurt të informacionit në internet. Ata zbatojnë versionin Java të protokolleve Secure Sockets Layer (SSL) dhe Transport Layer Security (TLS) dhe ofrojnë mjetet për të kriptuar të dhënat, verifikuar integritetin e mesazhit dhe vërtetimin në server dhe klient (kjo e fundit është opsionale).
  • Java Speech API(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 së komandave zanore, sistemet e hyrjes së të folurit dhe sintezën e të folurit. Shihni pjesën tjetër të artikullit për më shumë detaje.
  • Java 3Dështë një API që ofron aftësi ndër-platformë dhe të shkallëzueshme për të punuar me grafika 3D në aplikacionet Java. API është i organizuar si një grup ndërfaqesh të orientuara nga objekti që palosen në një model programimi të vetëm, të thjeshtë dhe të nivelit të lartë.
  • 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ë mund t'i nënshtrohen një trajtimi të veçantë nga mjetet e zhvillimit, mjetet e vendosjes dhe bibliotekat e palëve të treta në kohën e ekzekutimit (shih artikullin).
  • 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. Shihni artikullin për detaje dhe gjithashtu shikoni artikullin se si llojet gjenerike e bëjnë më të lehtë punën me koleksionet në Java SE 6.0.
  • Shërbimet komunale Konkurrencaështë një grup klasash që ofrojnë funksionalitetin e nivelit të mesëm që zakonisht kërkohet nga aplikacionet e përpunimit paralel.
  • Java API për përpunimin XML(JAXP) është një API që aplikacionet Java mund ta përdorin për të analizuar dhe transformuar 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 aftësi për automatizimin e hartës së dokumenteve XML dhe objekteve Java.
  • SOAP me API të bashkëngjitjeve për Java(SAAJ) u ofron zhvilluesve funksione për gjenerimin dhe përpunimin e mesazheve në përputhje me specifikimin SOAP 1.1, duke specifikuar SOAP me Shtojca. Shihni artikullin për më shumë detaje).

Teknologjitë 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 ndërtimin e portaleve në 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 të mesazheve Java. Ai përcakton një grup të përbashkët konceptesh bazë dhe strategji programimi 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 grumbulluar 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 e krijuara nga klienti me mbajtësit e serverëve. Për më shumë informacion, shihni serinë e artikujve të tutorialit me dy pjesë dhe të serive të kolonave.
  • Faqet e JavaServerit(JSP) u ofron zhvilluesve të uebit mjetet për të krijuar dhe mirëmbajtur me lehtësi faqe interneti dinamike, ndër-platformë, të cilat 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 udhëzuesin.
  • Biblioteka standarde e etiketave për faqet JavaServer(JSTL) është një koleksion etiketash të specializuara që ofrojnë një format standard për kryerjen e veprimeve të kërkuara nga shumë aplikacione Web. Shikoni Rifresko faqet tuaja JSP me JSTL dhe serinë me katër pjesë të titulluar.
  • 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 shitësit EIS mund të ofrojnë përshtatës standarde 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 një model informacioni menaxhimi 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 në Modelin e Përbashkët të Informacionit (CIM), Baza e Informacionit të Menaxhimit SNMP (MIB) dhe modelin e objektit Java duke përdorur serverin rezident EJB të komponentit të menaxhimit J2EE EJB (MEJB).
  • Java Transaction API(JTA) është një API e pavarur e zbatimit dhe protokollit të nivelit të lartë që u siguron programeve dhe serverëve të aplikacioneve mjetet për të hyrë në transaksione. Shërbimi i Transaksionit Java(JTS) përcakton një zbatim të një menaxheri transaksioni që mbështet JTA dhe zbaton, në një nivel themelor, hartëzimin në Shërbimin e Transaksionit të Objekteve (OTS 1.1) të OMG. Përhapja e transaksioneve në JTS zbatohet duke përdorur protokollin Inter-ORB (IIOP). Shihni artikullin për më shumë detaje.

Teknologjitë që janë pjesë e 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 funksionalitet bazë për aplikacionet, duke përfshirë mjetet për krijimin e ndërfaqeve të përdoruesit, lidhjen me burimet e rrjetit, ruajtjen lokale të të dhënave dhe menaxhimin e ciklit jetësor.
  • Konfigurimi i pajisjes së lidhur(CDC) është një infrastrukturë 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 interaktiv 3D i lehtë që është një shtesë për J2ME. Mund të lexoni më shumë rreth tij në serinë me dy pjesë.

Teknologjitë Java dhe zhvillimi i aplikacioneve në ueb

Java ka qenë gjuha kryesore për zhvillimin e aplikacioneve në ueb për shumë vite. Vitet 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 burimet e mëposhtme për Java Web Development.

  • Kjo kolonë prezanton 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 Cila është marrëdhënia e Java me gjuhët dinamike dhe programimin funksional më poshtë?.
  • Ajax është një metodologji programimi që përdor gjuhët e skriptimit nga ana e klientit për të komunikuar me një server në ueb në mënyrë që faqet të mund të rifreskohen shpejt pa pasur nevojë t'i ringarkoni ato plotësisht. Në këtë seri artikujsh dhe, do të mësoni se si Ajax mund t'ju ndihmojë si zhvillues Java. Shikoni developerWorks për më shumë informacion.
  • JavaServer Faces (JSF) ofron një model programimi që ju ndihmon të ndërtoni aplikacione në ueb duke mbledhur 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 e krijuara nga klienti me mbajtësit e serverëve. Për më shumë informacion, shihni serinë e artikujve të tutorialit me dy pjesë dhe të serive të kolonave.
  • Platforma Eclipse Web Tools (WTP) zgjeron mjedisin popullor të zhvillimit të Eclipse duke shtuar mjete për ndërtimin e aplikacioneve Web bazuar në teknologjitë Java EE (shih udhëzuesin).
  • Shikoni developerWorks për shumë materiale të tjera të shkëlqyera mbi këto tema.

Java Technologies, SOA dhe Shërbimet e Uebit

Arkitektura e Orientuar në Shërbimin (SOA) është një model komponenti që lidh modulet funksionale të një aplikacioni (të njohur si Shërbimet nga erdhi termi Shërbimet e internetit) përmes 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 ruajtur kështu komunikimin 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ë orientuara drejt objektit të lidhur ngushtë.

Të krijuara mbi këtë parim, shërbimet në ueb ju lejojnë të përshkruani rregullat dhe proceset e biznesit në XML, në mënyrë që ndërveprimi i aplikacioneve të mund të kryhet pavarësisht nga platformat dhe gjuhët e programimit të përdorura. Teknologjitë XML promovojnë transportueshmërinë e të dhënave dhe thjeshtojnë krijimin e mesazheve, ndërsa teknologjitë Java ju mundësojnë të shkruani kod portativ. XML dhe Java punojnë mirë së bashku, duke i bërë ato kombinimin e përsosur të teknologjive për ndërtimin dhe vendosjen e shërbimeve të Uebit.

Për më shumë informacion, lexoni materialet e mëposhtme:

  • Faqet dhe faqet e DeveloperWorks mund t'ju ndihmojnë të lundroni në këto teknologji sfiduese.
  • Në këtë seri, do të mësoni rreth infrastrukturave të shërbimeve të Java Web dhe shtresave të reja funksionale të ndërtuara në krye të këtyre shërbimeve.
  • Ky artikull prezanton një stil 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ë ndërtuar shërbime Ueb RESTful.
  • Kuptimi i teknologjisë JAX-RPC (Java API-based RPC for Working with XML) është thelbësor për krijimin e shërbimeve efikase në ueb Java.
  • 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ë tutorial.
  • Kjo seri është një udhëzues për Arkitekturën e Komponentit të Shërbimit (SCA), një specifikim që përshkruan një model SOA për zhvillimin e aplikacioneve dhe sistemeve.
  • Ky artikull ofron një hyrje në kuadrin e Objekteve të të Dhënave të Shërbimit, i cili 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ë po fillojnë me Java kanë përvojë të gjerë me gjuhë të tjera programimi. Në të njëjtën kohë, edhe programuesit më të nderuar pranojnë se Java nuk është gjuha ideale për zgjidhje nga të gjitha problemet e hasura në praktikë. Për fat të mirë, me mbështetjen e JVM, ju mund të përfitoni plotësisht nga skriptimet dinamike dhe gjuhët funksionale të sotme kur zhvilloni aplikacione për platformën Java. Fleksibiliteti dhe dinamizmi i këtyre gjuhëve rezultojnë të jenë shumë të dobishme 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 e tyre më të njohura të gjuhës, ndërkohë që ofrojnë një mjedis zhvillimi fleksibël dhe dinamik që nuk kërkon përpilim, thjeshton sintaksën dhe mbështet skriptimin brenda aplikacioneve të zakonshme Java. Një përmbledhje e detajuar e aftësive të kësaj gjuhe jepet në artikujt e serisë.
  • API i ri i skriptimit 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 tuaj. Mund të lexoni më shumë rreth këtij API në serinë me dy pjesë të titulluar.
  • Jeni një mbështetës i zjarrtë i programimit funksional? Pastaj duhet t'i kushtoni vëmendje kolonës që flet për Scala, një gjuhë programimi për JVM që kombinon një qasje funksionale dhe të orientuar nga objekti ndaj zhvillimit.
  • VM-të kanë mbështetur gjuhët alternative të programimit për një kohë të gjatë. Në artikujt e kolonës, mund të lexoni për implementimet JVM të gjuhëve të tilla si Rexx, Ruby, JavaScript, Python dhe disa të tjera.

Java dhe Zhvillimi i Software-it të Lirë

Ka mënyra të panumërta për të ndërtuar biblioteka Java, paketa mjetesh, korniza, programe dhe serverë aplikacionesh që hapin mundësi shtesë për zhvilluesit për të shfrytëzuar këtë platformë të fuqishme. Një sërë teknologjish falas janë përfshirë me kalimin e kohës në platformën Java, ndërsa të tjerat 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 me teknologjinë Java. Disa nga anëtarët e kësaj familje projektesh janë renditur më poshtë.
    • Apache Struts është një kornizë për ndërtimin e aplikacioneve në ueb që ndjekin arkitekturën Model-View-Controller.
    • Apache Shale është një tjetër kornizë moderne për ndërtimin e aplikacioneve në ueb që trashëgohet nga Struts dhe bazohet në teknologjinë JSP (JavaServer Pages). Për një hyrje në Shale, shihni artikujt në seri.
    • Apache Ant është standardi de fakto për automatizimin e procesit të ndërtimit të aplikacioneve Java.
    • Apache Maven Build Tool u projektua duke pasur parasysh kërkesat e projekteve moderne të softuerit, me ndërveprime dinamike midis ekipeve të zhvillimit dhe mbështetje në shumë komponentë të mbështetur në mënyrë të pavarur (shih udhëzuesin).
    • Apache Tomcat është një kontejner i njohur në internet që mbështet serverat dhe faqet e serverëve Java (JSP).
    • Projekti Apache Geronimo ka të bëjë me krijimin e një serveri aplikacioni Java EE plotësisht në përputhje me specifikimet, bazuar në teknologjinë thjesht falas. Mund të lexoni më shumë rreth Geronimo në këtë artikull dhe në faqen e zhvilluesitWorks për një mori përmbajtjesh të dobishme.
    • Apache Derby është një server relacional i bazës së të dhënave i implementuar plotë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 ndërtimin e softuerit. Është shkruar në Java dhe ofron një infrastrukturë shtesë për të lehtësuar zhvillimin, integrimin dhe përdorimin e mjeteve softuerike. IBM është një anëtar themelues i Eclipse.org dhe merr pjesë aktive në bordin drejtues të projektit dhe nënkomitetet. Ju mund të lexoni për disa nga teknologjitë përbërëse të platformës Eclipse që synojnë krijimin e aplikacioneve Java në materialet e mëposhtme:
    • AspectJ është një shtrirje e orientuar nga aspekti në gjuhën Java që mund të përdoret për të zbatuar në mënyrë modulare funksionalitete të ndërthurura, të tilla si logimi ose trajtimi i përjashtimeve.
    • Paketa e veglave standarde të miniaplikacioneve (EN) (SWT) është një paketë veglash që ju lejon të shfrytëzoni fuqinë e sistemit operativ për të krijuar elementë të ndërfaqes së përdoruesit në një mënyrë efikase dhe të lëvizshme.
    • Mylyn është një sistem i fuqishëm i menaxhimit të punës për përdoruesit e Eclipse. Për udhëzime të hollësishme, shihni artikujt dhe, i 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 ka nisur gjithashtu projektet e mëposhtme të komunitetit në java.net:
    • Openjdk

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

Ka dy mënyra kryesore se si mund të zhvilloni aftësitë tuaja të programimit Java: merrni një kurs trajnimi të dedikuar (me opsione certifikimi), ose mësoni Java vetë duke praktikuar kodimin. Kurset e trajnimit jo vetëm që ju lejojnë të mësoni nga përvoja e zhvilluesve të kualifikuar, por gjithashtu ofrojnë mundësinë për të marrë një certifikatë që mund të bindë një punëdhënës të mundshëm se keni aftësitë e nevojshme për të përballuar sfidat teknike me të cilat përballemi. Duke vepruar kështu, ju mund të thelloni njohuritë tuaja në fusha të ndryshme të Java, duke eksperimentuar vetë dhe duke përdorur të gjitha burimet në dispozicion. Cilado rrugë që zgjidhni, burimet e mëposhtme do t'ju ndihmojnë.

  • Udhëzues dhe artikuj
    • DeveloperWorks ka një koleksion të gjerë që është i dyti vetëm pas kodimit të vetes për sa i përket dobisë në mësimin e Java.
    • Artikujt janë seri dhe janë të shkëlqyer për të përmirësuar aftësitë tuaja në gjuhën Java.
    • Përdorimi i teorisë së dizajnit për të krijuar aplikacione të botës reale diskutohet në artikujt në seri.
    • Zhvilluesit me përvojë Java para-ndërtojnë mjete në aplikacionet e tyre për të korrigjuar dhe testuar ato. DeveloperWorks ka disa artikuj në seri - lojëra në kohë reale të bazuara në Eclipse për të mësuar programimin Java. Për një hyrje në CodeRuler, shihni Pushtimi i Mbretërive Mesjetare me CodeRuler.
  • Kurse trajnimi teknik IBM
    • Shijoni një shumëllojshmëri të gjerë kursesh Java në internet, ballë për ballë dhe multimedia nga IBM Global Services.
  • Certifikimin
    • Ju mund të bëni disa provime për të fituar certifikata që demonstrojnë aftësitë tuaja programuese Java. Për kurset e certifikimit, shihni faqen e internetit të Certifikimit Java.
    • IBM fuqizon 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 vite 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 për platformën Java.

  • Produkte të shkarkueshme falas:
    • (Java Developer Kit) është një koleksion 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 zhvilluesish e pambështetur e bazuar në Eclipse që ju lejon të ndërtoni dhe ekzekutoni aplikacione në mjedisin tuaj të zhvillimit jashtë raftit.
    • : Ju mund të shkarkoni paketa softuerike falas Eclipse nga developerWorks, duke përfshirë produktet paralele Calisto dhe Europa.
    • është një depo virtuale e teknologjive premtuese Java që po zhvillohet në 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 ju ndihmon të analizoni dhe gjeneroni skriptet 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 e memories së grumbullit (grumbullit) dhe rekomandon akordimin e aplikacionit bazuar në rezultatet e simulimit të kujtesës. (Secure Shell Library for Java) është një implementim i lehtë i protokollit SSH-2 i zhvilluar nga Task Forca e Inxhinierisë së Internetit (IETF). Ai siguron mjete të sigurta vërtetimi 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 ofruar akses të shpejtë në informacionin që ju nevojitet.

Artikujt kryesorë të lidhur