Referatai

Java programavimo kalba

9.4   (3 atsiliepimai)
Java programavimo kalba 1 puslapis
Java programavimo kalba 2 puslapis
Java programavimo kalba 3 puslapis
Java programavimo kalba 4 puslapis
Java programavimo kalba 5 puslapis
Java programavimo kalba 6 puslapis
Java programavimo kalba 7 puslapis
Java programavimo kalba 8 puslapis
Java programavimo kalba 9 puslapis
Java programavimo kalba 10 puslapis
Java programavimo kalba 11 puslapis
Java programavimo kalba 12 puslapis
Java programavimo kalba 13 puslapis
www.nemoku.lt
www.nemoku.lt
Aukščiau pateiktos peržiūros nuotraukos yra sumažintos kokybės. Norėdami matyti visą darbą, spustelkite peržiūrėti darbą.
Ištrauka

Pagrindinės Java teigiamybės Apžvelkime Java kalbos pagrindines teigiamybes ir trūkumus, lygindami ją su kol kas populiariausia programavimo kalba C++. Paprastumas 1) Java neturi adresų (rodyklių) aritmetikos. Java dirba tik su tais objektais, su kuriais ryšys palaikomas per kintamuosius. Taigi Java kintamasis savaime nėra objektas, bet tik nuoroda į objektą. Todėl užrašas (sakinys) String s; reiškia, kad s yra nuoroda (kelias), bet ne pats objektas (tolesnėje programoje panaudoję nuorodą s, vykdymo metu gautumėte klaidą, jog bandote operuoti su „tuščia” vieta). Todėl prieš naudojant objektą, būtina jį sukurti. Tam naudojamas specialus sakinys new: String s = new String("abcd"); String tipo objektą galima sukurti ir tiesiogiai: String s = "abcd"; 2) Neturi goto sakinio (išskyrus praplėstus break ir continue sakinius). 3) Neleidžia metodo vardo perduoti parametrų sąrašu (skirtumas nuo C++), bet leidžia perduoti objektą (o šis viduje turi metodų). 4) Neturi struct (įrašo) tipo. Bet tai čia atitinka class. 5) Neturi union ir bitinių laukų (bitiniai laukai, kaip grynai aparatinė funkcija, nesiderina su Java principu „nepriklausanti nuo kompiuterio architektūros”). 6) Java neleidžia turėti metodų su kintamu parametrų sąrašu. Tai nesiderina su principu “griežtai tipizuota”, kadangi neįmanoma patikrinti busimųjų tipų. Tačiau tai leidžia metodų perkrovimo galimybė (metodų vardai vienodi, bet skiriasi antraštės). 7) Neturi enum, typedef ir #define. Tai atitinka static final tipas. 8) Neturi void parametrų sąraše. 9) Java leidžia aprašyti kintamuosius bet kurioje kodo vietoje (tai leidžia ir C++). 10) Java neturi globaliųjų kintamųjų (panašiai kaip static tipo kintamasis, galiojantis visiems tos klasės objektams). 11) Neturi daugialypio paveldėjimo (C++ tai turi). Iš dalies tai pasiekiama interfeisais. 12) Automatiškai atlaisvina nebenaudojamą atmintį (šiukšlių rinktuvas - Garbage Collection). Šis šiukšlių rinktuvas kartkarčiais kviečiamas automatiškai, tačiau programuotojas gali jį išsikviesti ir pats: System.gc(); Objektų saugyklos Pagrindinės informacijos saugyklos yra: 1. Registrai. Jie yra procesoriaus viduje, todėl tai pats sparčiausias išrinkimo tipas. Deja, registrų skaičius labai ribotas. Jais pagal poreikius manipuliuoja tik pats kompiliatorius. 2. Stekas. Yra RAM’e (tiesioginės kreipties atmintyje). Procesorius saugo nuorodą į šį steką, ir, vaikštant “aukštyn”/”žemyn”, informacija įrašoma ir paimama. Gana greitas būdas (antras po registrų). Šiaip jau Java pačių objektų steke nesaugo, nes reikėtų nuolat perskaičiuoti objektų dydžius, perstumiant steko nuorodą „aukštyn”/„žemyn”. C++ tai galima. 3. Krūva (heap - „netvarkusis masyvas”). Yra RAM’e. Tai ir yra ta vieta, kur saugomi visi Java programos objektai. Pagrindinis privalumas tas, kad kompiliatoriui nereikia žinoti kiek kiekvienas objektas užima vietos. Su new sakiniu sukurtas objektas vykdymo metu automatiškai pateks į „krūvą”. Aišku, operacijos sulėtės. 4. Statinė atmintis. Ji taip pat yra RAM’e, tik specialiai tam skirtoje vietoje. „Krūvoje” esantys tuo momentu nebereikalingi objektai gali būti šiukšlių rinktuvo automatiškai pašalinti, o statiniai objektų elementai išlieka iki programos darbo pabaigos. Tokie elementai sukuriami naudojant atributą static. Paprastieji tipai. Vis dėlto elementariems aritmetiniems veiksmams paspartinti Java turi ir paprastų duomenų tipų (byte, int, double, ...). Tai nėra objektai, todėl jiems sukurti nereikia new sakinio. Jų įvedimo priežastis ta, kad tokiems elementariems objektams sukurti ir padėti į „krūvą” būtų sugaištama per daug laiko. Paprastųjų tipų kintamieji saugomi steke. Kiekvienam procesui Java turi atskirą steką. Nepriklausymas nuo asmeninio kompiuterio (PC) architektūros Daugumos programavimo kalbų galutinis produktas yra vykdomasis (.exe tipo) modulis, susidedantis iš konkrečių instrukcijų PC procesoriui. Tačiau Windows sistemos dažniausiai naudoja Intel firmos procesorius, Macintosh sistema naudoja Motorola arba PowerPC procesorius ir t.t. Be to, kiekviena sistema (Windows,Unix, Linux) naudoja savas papildomas bibliotekas. Todėl klasikinė schema KodasKompiliatoriusRedaktoriusvykdomasis failas (*.exe)PC turi vieną gana didelį trūkumą – vienos sistemos produktas dažnai neveikia kitoje sistemoje. Šio trūkumo neturi programa, parašyta Java kalba. Esmė ta, kad čia negeneruojamos instrukcijos procesoriui, bet programos tekstas (kodas) kompiliuojamas į specialų objektinį kodą, vadinamą baitkodu. Šį kodą toliau skaito ir vykdo Java abstrakti virtualioji mašina (JVM), kurią turi kiekviena kompiuterinė sistema. Taigi turime tokią schemą: Kodas  Kompiliatorius  bait-kodas  JVM Java abstrakti virtualioji mašina JVM JVM – tai speciali Sun Microsystems firmos programa (bait-kodo interpretatorius), parašyta kiekvienai operacinei sistemai atskirai. Tai JRE (Java Runtime Environment). Ji itraukta į populiariausių naršyklių sudėtį (Microsoft Internet Explorer, Netscape Navigator, Opera), į JDK (Java Development Kit ). Ją galima įdiegti ir atskirai. JVM jau gaminama ir atskiromis mikroshemomis. Taigi ją galima įdėti ne tik į PC, bet ir į TV stotis, o ateityje ir į buitinius prietaisus. Daugiaprocesė Programa tuo pat metu gali vykdyti keletą procesų (thread). Daugiaprocesiškumas yra organizuotas objektų lygmeniu – kiekvienas procesas yra atskiras objektas. Panaudojant synchronized modifikatorių resursai „užrakinami” (būtų blogai, jei keli procesai vienu metu rašytų informaciją į tą patį failą). Programų saugumas Saugumas užtikrinamas keliais lygiais. Tai ypač svarbu apletams (specialaus tipo taikomoji programa), nes jie plačiai naudojami interneto puslapiuose. Tam yra net speciali klasė java.lang.SecurityManager su eile metodų. Programinis lygis: • kadangi nėra adresų aritmetikos, tai neįmanoma programiškai sugadinti atminties; • neįmanoma perpildyti masyvo; • negalima ne tik rašyti, bet ir skaityti informacijos už masyvo ir eilutės ribų (todėl Java kalboje eilutė String nemodifikuojama). Baitkodo tikrintojas patikrina: • ar neperpildytas stekas; • ar su objektais neatliekamos draudžiamos operacijos; • ar tinkamai naudojami registrai; • ar teisingai keičiami kintamųjų tipai. „Smėlio dėžės” principas apletui: „įtartina” (neturinti skaitmeninio parašo) programa kaip vaikas įkeliama į smėlio dėžę ir negali : • skaityti/rašyti failo iš/į jūsų (kliento) PC; • išmesti, pervardyti, kurti naujų failų ir t.t. kliento PC. Vykdant apletą ne per tinklą, bet vietinėje failų sistemoje, didesnė dalis šių apribojimų netaikoma. Dar didesnes teises turi apletų paleidimo programa appletviewer.exe. Situacijų valdymas (exception) Nepageidautina situacija (klaida) – tai Java objektas, kuris sužadinamas klaidos vietoje ir vėliau gali būti „pagautas” ir apdorotas programoje. Taigi susidarius nepageidaujamai situacijai, pavyzdžiui, kai indeksas yra už masyvo ribų, galima ją „sugauti”, apdoroti ir tolesnius veiksmus jau nukreipti norima linkme. Tai nėra tas pats kaip tokių situacijų „gaudymas” naudojantis grąžinamomis reikšmėmis ar papildomais požymiais-kintamaisiais, kai galima tiesiog patingėti tai atlikti (arba blogai atlikti). Privalumas tas, kad kai kurių situacijų Java praleisti neleis – jas privalu kažkur apdoroti. Objektinis programavimas Java kalba Dar pačiai pirmajai objektinio programavimo kalbai Smalltalk Alan Kay suformulavo šiuos penkis objektinio programavimo (OP) principus: 1. Viskas yra objektas. Objektas ir saugo duomenis, ir atlieka operacijas su jais (duomenų ir metodų sujungimas į visumą). 2. Programa – tai grupė objektų, bendraujančių per pranešimus (pranešimu galima laikyti ir objekto metodo iškvietimą). 3. Kiekvienas objektas turi savąją atmintį, susidedančią iš kitų objektų (kompozicija - objekto viduje naudojami prieš tai sukurti objektai). 4. Kiekvienas objektas yra kurio nors tipo (klasės). 5. Tam tikros grupės objektai gali priimti tuos pačius pranešimus (paveldėjimas). Pabandykime perfrazuoti šiuos OP principus Java kalbos požiūriu. Duomenų ir metodų sujungimas į visumą (encapsulation) Duomenų ir jų apdorojimo metodų sujungimas į visumą Java kalboje atliekamas naudojant klasę. Taigi klasė yra tipas arba objekto šablonas, kurį sudaro duomenys ir metodai. Objektas jau yra realus klasės egzempliorius kompiuterio atmintyje. Objekto modelį galime pavaizduoti kaip kapsulę: Taigi sudarius A klasę, joks realus objektas atmintyje dar nesukuriamas: class A { // klasės turinys } Objekto dar nėra ir paskelbus A klasės tipo kintamąjį x: A x; Objektas gali būt sukurtas ir sakiniu new: x = new A(); //Objektas sukurtas! // arba iš karto: A x = new A(); Taigi objektas sukuriamas dinamiškai programos vykdymo metu sakiniu new: KlasėsVardas objektoVardas = new KlasėsVardas(); Arba dviem etapais : KlasėsVardas objektoVardas; ObjektoVardas = new KlasėsVardas(); Klasei galima sukurti neribotą skaičių objektų. Grižkime prie kapsulės. Jis turi būti uždaras. Pirma, tai užtikrina duomenų apsaugą, nes vartotojas gali atlikti su duomenimis tik tas operacijas, kurias jam leidžia tam skirti metodai. Antra, programuotojas-vartotojas gali rašyti programas „aukštesniu” lygiu, t.y. jis visiškai pasitiki esamais metodais ir jam nebereikia leistis į smulkmenas ir jų tikrinti. Ir trečia, programų (metodų) pakeitimai ir atnaujinimai programuotojui-vartotojui visai neturi reikšmės. Paveldėjimas (inheritance) ir kompozicija Tai klasės sugebėjimas paveldėti protėvių klasės duomenis ir metodus. Literatūroje vartojama daug skirtingų terminų. Pagrindinė klasė vadinama paveldimąja klase, superklase, protėvių klase, bazine arbs tėvo klase. Analogiškai naujoji klasė vadinama paveldinčiąja klase, subklase, palikuonių klase, išvestine arba vaiko klase. Mes vartosime terminus tėvo klasė ir vaiko klasė. Taigi vaiko klasė paveldi visus matomus (ne private tipo) tėvo klasės metodus ir kintamuosius. Visos Java klasės yra kilusios iš java.lang.Object klasės ir automatiškai palaiko visus jos metodus. Java neturi daugialypio paveldėjimo (netiesiogiai tai galima išspręsti naudojant interfeisus). Nereikia painioti sąvokų „kompozicija” ir „paveldėjimas”. Kompozicija – tai kitos klasės objekto panaudojimas naujai projektuojamoje klasėje. Kompozicija naudojama tada, kai kuriama nauja klasė tiesiog naudoja kitos klasės metodus. Paveldėjimas naudojamas tada, kai nauja klasė naudoja kitos klasės struktūra (interfeisą). Plačiau apie paveldėjimą aprašoma ketvirtame skyriuje. Polimorfizmas (polymorphism) Galime skirti dvi polimorfizmo rūšis. Tai metodų perkrova ir metodų užklotis. Metodų perkrova (overloading). Klasėje naudojama keletas metodų tuo pačiu vardu. Būtina sąlyga – metodai turi skirtis savo antraštėmis (parametrų skaičiumi arba parametrų tipais). Grąžinamos reikšmės tipas čia įtakos neturi. Metodo pasirinkimą nusako jo iškvietimo formatas. Tai atliekama jau kompiliavimo metu (tai dar vadinama „ankstyvuoju susiejimu”). Plačiau apie metodų perkrovą rašoma 3.5. skyrelyje „Metodų perkrova”. Metodų užklotis (overriding). Tėvo ir vaiko klasės turi vienodus metodus. Būtinos sąlygos: turi sutapti ne tik šių metodų vardai, bet ir jų antraštes bei grąžinamų reikšmių tipai. Taigi vaiko klasės metodas gali pakeisti (užkloti) tėvo klasės metodą. Metodo pasirinkimą lemia objekto, kuriam šis metodas kviečiamas, tipas (jei objektas yra tėvo klasės tipo, tai bus kviečiamas jos metodas, priešingu atveju – vaiko). Metodas parenkamas vykdymo metu (tai dar vadinama „susiejimu vykdant”). Plačiau apie metodų užklotį rašoma 4.2. skyrelyje “Metodų užklotis”. 1.3. Trys Java programų tipai Pirmas. Taikomoji programa (application) su komandų eilutės sąsaja Tai pats paprasčiausias ir kartu nevaizdžiausias programos tipas. Programa paleidžiama main metodu. Taigi bent viena programos klasė privalo turėti main metodą. Šiaip jau kiekviena klasė gali turėti po vieną main metodą (tai patogu testuojant klases), tačiau vienu metu galima naudoti tiktai vieną main metodą. Pasibaigus visiems main metodo sakiniams, programa baigia darbą. Parašykime tradicinę pirmąją Java programėlę, kuri juodame Command Prompt (arba FAR Manager) lange išveda tekstą „Labas, Java”. ETAPAI: 1. Bet kuriuo redaktoriumi (kad ir NotePad) parašome pirmosios programos tekstą (visi Java kalbos žodžiai pajuodinti): // Pirmoji Java programa public class Labas { public static void main(String args[]) { System.out.println("Labas, Java"); } } ir įrašome į diską vardu „KlasėsVardas.java” (šiuo atveju vardu „Labas.java”). 2. Kviečiame kompiliatorių javac.exe, kuris patikrina programos sintaksę, perkoduoja jos tekstą į bait-kodą ir įrašo jį į diską vardu „KlasėsVardas.class” (šiuo atveju vardu „Labas.class”): >javac Labas.java P.S. Jei jūsų kompiuteryje nėra nustatyto kelio į katalogą, kur yra kompiliatorius javac.exe, tai reikia nurodyti visą kelią iki jo. Pvz.: >D:\jdk1.3\bin\javac Labas.java Jei nėra klaidų, tai kompiliatorius paprastai jokių pranešimų ir neišveda. Taip po kompiliacijos atrodo Far Manager langas (šiuo atveju failas Labas.java įrašytas į katalogą D:\Java\Pavyzdziai\labas): 3. Kviečiama JVM java.exe vykdyti programą (failo tipas class nenurodomas): >java Labas Naudojant vizualias aplinkas (JBuilder, Visual Studio J++, VisualCafe ar kitas), vykdymo scenarijus keičiasi. Antras. Taikomoji programa su vartotojo sąsaja Programa čia taip pat paleidžiama main metodu. Tačiau paleidimo tikslas dažniausiai yra tik vienas – sukurti vartotojo sąsajos langą ir perduoti jam visą valdymą. Toliau jau sąsajos elementais (meniu, mygtukais, teksto laukais ir t.t.) atliekami norimi veiksmai ir programa veiks tol, kol uždarysime šios sąsajos langą. Vėlgi parašykime tą pačią programą, išvedančią tekstą „Labas, Java”. Programos rašymo ir paleidimo scenarijus visiškai toks pat kaip ir pirmojo tipo programos. Tiesa, programos tekstas atrodys truputėlį kitoks: // Pirmoji Java programa su vartotojo sąsaja. import javax.swing.*; import java.awt.*; public class LabasSuSasaja extends JFrame { public void paint(Graphics g) { g.drawString("Labas, Java", 50, 60); } public static void main(String[] args) { LabasSuSasaja langas = new LabasSuSasaja(); langas.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); langas.setSize(200, 100); langas.setTitle("Programa su sasaja"); langas.setVisible(true); } } Vėl kompiliuojame ir vykdome programą: >D:\jdk1.3\bin\javac LabasSuSasaja.java >java LabasSuSasaja Tačiau dabar ekrane pamatysime tokį vaizdą: Trečias. Apletas (applet) Šio tipo taikomąją programą turi tiktai Java. Apletas – tai programa, klaidžiojanti internete ir vykdoma „kliento” kompiuteryje. Ji nenaudoja main metodo. Tačiau kaip ir taikomojoje programoje su vartotojo sąsaja, apleto vykdymas paremtas įvykių apdorojimu. Naršyklė pati rūpinasi apleto veikimu: stabdo jį pereinant į kitą langą, perpiešia keičiant lango dydį ir t.t. Parašykime tą pačią tradicinę programą, bet jau kaip apletą. ETAPAI: 1. Naudodamiesi bet kuriuo redaktoriumi parašome programos-apleto tekstą: // Pirmasis Java apletas import java.applet.*; import java.awt.*; public class LabasApletas extends Applet { public void paint(Graphics g) { g.drawString("Labas, Java", 50, 60); } } ir įrašome į diską vardu „LabasApletas.java”. 2. Šis etapas analogiškas - kviečiame kompiliatorių javac, ir šis gautą baitkodą įrašo į diską vardu „LabasApletas.class”: >javac LabasApletas.java 3. Tačiau jis vykdomas visiškai kitaip negu taikomoji programa. Apletas vykdomas naršykle (galima ir su appletviewer.exe), todėl bet kuriuo redaktoriumi sukuriamas nedidelis HTML failas. Šį failą bet kuriuo vardu įrašome ten pat, kur yra mūsų gautas LabasApletas.class failas:

Daugiau informacijos...

Šį darbą sudaro 2666 žodžiai, tikrai rasi tai, ko ieškai!

★ Klientai rekomenduoja


Šį rašto darbą rekomenduoja mūsų klientai. Ką tai reiškia?

Mūsų svetainėje pateikiama dešimtys tūkstančių skirtingų rašto darbų, kuriuos įkėlė daugybė moksleivių ir studentų su skirtingais gabumais. Būtent šis rašto darbas yra patikrintas specialistų ir rekomenduojamas kitų klientų, kurie po atsisiuntimo įvertino šį mokslo darbą teigiamai. Todėl galite būti tikri, kad šis pasirinkimas geriausias!

Detali informacija
Darbo tipas
Šaltiniai
✅ Šaltiniai yra
Failo tipas
Word failas (.doc)
Apimtis
13 psl., (2666 ž.)
Darbo duomenys
  • Programų referatas
  • 13 psl., (2666 ž.)
  • Word failas 184 KB
  • Lygis: Universitetinis
  • ✅ Yra šaltiniai
www.nemoku.lt Atsisiųsti šį referatą
Privalumai
Pakeitimo garantija Darbo pakeitimo garantija

Atsisiuntei rašto darbą ir neradai jame reikalingos informacijos? Pakeisime jį kitu nemokamai.

Sutaupyk 25% pirkdamas daugiau Gauk 25% nuolaidą

Pirkdamas daugiau nei vieną darbą, nuo sekančių darbų gausi 25% nuolaidą.

Greitas aptarnavimas Greitas aptarnavimas

Išsirink norimus rašto darbus ir gauk juos akimirksniu po sėkmingo apmokėjimo!

Atsiliepimai
www.nemoku.lt
Dainius Studentas
Naudojuosi nuo pirmo kurso ir visad randu tai, ko reikia. O ypač smagu, kad įdėjęs darbą gaunu bet kurį nemokamai. Geras puslapis.
www.nemoku.lt
Aurimas Studentas
Puiki svetainė, refleksija pilnai pateisino visus lūkesčius.
www.nemoku.lt
Greta Moksleivė
Pirkau rašto darbą, viskas gerai.
www.nemoku.lt
Skaistė Studentė
Užmačiau šią svetainę kursiokės kompiuteryje. :D Ką galiu pasakyti, iš kitur ir nebesisiunčiu, kai čia yra viskas ko reikia.
Palaukite! Šį darbą galite atsisiųsti visiškai NEMOKAMAI! Įkelkite bet kokį savo turimą mokslo darbą ir už kiekvieną įkeltą darbą būsite apdovanoti - gausite dovanų kodus, skirtus nemokamai parsisiųsti jums reikalingus rašto darbus.
Vilkti dokumentus čia:

.doc, .docx, .pdf, .ppt, .pptx, .odt