Curs Java

Curs
9.3/10 (7 voturi)
Conține 199 fișiere: doc, jpg, gif, htm, html, java, class, txt, jar, dat
Pagini : 147 în total
Cuvinte : 70236
Mărime: 591.20KB (arhivat)
Publicat de: Rebeca Vereș
Puncte necesare: 0

Extras din curs

Introducere

Scurt istoric

Limbajul Java împreună cu mediul său de dezvoltare şi execuţie au fost proiectate pentru a rezolva o parte dintre problemele actuale ale programării. Proiectul Java a pornit cu scopul declarat de a dezvolta un software performant pentru aparatele electronice de larg consum. Aceste echipamente se definesc ca: mici, portabile, distribuite şi lucrând în timp real. De la aceste aparate, ne-am obişnuit să cerem fiabilitate şi uşurinţă în exploatare.

Limbajul luat iniţial în considerare a fost C++. Din păcate, atunci când s-a încercat crearea unui mediu de execuţie care să respecte toate aceste condiţii s-a observat că o serie de trăsături ale C++ sunt incompatibile cu necesităţile declarate. În principal, problema vine din faptul că C++ este prea complicat, foloseşte mult prea multe convenţii şi are încă prea multe elemente de definiţie lăsate la latitudinea celor care scriu compilatoare pentru o platformă sau alta.

În aceste condiţii, firma Sun a pornit proiectarea unui nou limbaj de programare asemănător cu C++ dar mult mai flexibil, mai simplu şi mai portabil. Aşa s-a născut Java. Părintele noului limbaj a fost James Gostling care este cunoscut ca autor al editorului emacs şi al sistemului de ferestre grafice NeWS. Proiectul a început încă din 1990 dar Sun a făcut publică specificaţia noului limbaj abia în 1995 la SunWorld în San Francisco.

Numele iniţial al limbajului a fost Oak, numele unui copac care creşte în faţa biroului lui James Gostling. Ulterior, s-a descoperit că numele fusese deja folosit în trecut pentru un alt limbaj de programare aşa că a fost abandonat şi înlocuit cu Java, spre deliciul programatorilor care iubesc cafenelele şi aromele exotice.

Ce este Java?

În primul rând, Java încearcă să rămână un limbaj simplu de folosit chiar şi de către programatorii neprofesionişti, programatori care doresc să se concentreze asupra aplicaţiilor în principal şi abia apoi asupra tehnicilor de implementare a acestora. Această trăsătură poate fi considerată ca o reacţie directă la complexitatea considerabilă a limbajului C++.

Au fost îndepărtate din Java aspectele cele mai derutante din C++ precum supraîncărcarea operatorilor şi moştenirea multiplă. A fost introdus un colector automat de gunoaie care să rezolve problema dealocării memoriei în mod uniform, fără intervenţia programatorului. Colectorul de gunoaie nu este o trăsătură nouă, dar implementarea acestuia în Java este făcută inteligent şi eficient folosind un fir separat de execuţie, pentru că Java are încorporate facilităţi de execuţie pe mai multe fire de execuţie. Astfel, colectarea gunoaielor se face de obicei în timp ce un alt fir aşteaptă o operaţie de intrare-ieşire sau pe un semafor.

Limbajul Java este independent de arhitectura calculatorului pe care lucrează şi foarte portabil. În loc să genereze cod nativ pentru o platformă sau alta, compilatorul Java generează o secvenţă de instrucţiuni ale unei maşini virtuale Java (numită bytecod). Execuţia aplicaţiilor Java este interpretată. Singura parte din mediul de execuţie Java care trebuie portată de pe o arhitectură pe alta este mediul de execuţie cuprinzând interpretorul şi o parte din bibliotecile standard care depind de sistem. În acest fel, aplicaţii Java compilate pe o arhitectură SPARC de exemplu, pot fi rulate fără recompilare pe un sistem bazat pe procesoare Intel.

Una dintre principalele probleme ale limbajelor interpretate este viteza de execuţie, considerabil scăzută faţă de cea a limbajelor compilate. Dacă nu vă mulţumeşte viteza de execuţie a unei astfel de aplicaţii, puteţi cere mediului de execuţie Java să genereze automat, plecând de la codul maşinii virtuale, codul specific maşinii pe care lucraţi, obţinându-se astfel un executabil nativ care poate rula la viteză maximă. De obicei însă, în Java se compilează doar acele părţi ale programului mari consumatoare de timp, restul rămânând interpretate pentru a nu se pierde flexibilitatea. Mediul de execuţie însuşi este scris în C, ceea ce îl face extrem de portabil.

Interpretorul Java este gândit să lucreze pe maşini mici, precum ar fi procesoarele cu care sunt dotate aparatele casnice. Interpretorul plus bibliotecile standard cu legare dinamică nu depăşesc 300 Kocteţi. Chiar împreună cu interfaţa grafică totul rămâne mult sub 1 Moctet.

Limbajul Java este în totalitate orientat obiect. Cu el se pot crea clase de obiecte şi instanţe ale acestora, se pot încapsula informaţiile, se pot moşteni variabilele şi metodele de la o clasă la alta, etc. Singura trăsătură specifică limbajelor orientate obiect care lipseşte este moştenirea multiplă, dar pentru a suplini această lipsă, Java oferă o facilitate mai simplă, numită interfaţă, care permite definirea unui anumit comportament pentru o clasă de obiecte, altul decât cel definit de clasa de bază. În Java orice element este un obiect, în afară de datele primare. Din Java lipsesc funcţiile şi variabilele globale. Ne rămân desigur metodele şi variabilele statice ale claselor.

Java este distribuit, având implementate biblioteci pentru lucrul în reţea care ne oferă TCP/IP, URL şi încărcarea resurselor din reţea. Aplicaţiile Java pot accesa foarte uşor reţeaua, folosindu-se de apelurile către un set standard de clase.

Java este robust. În Java legarea funcţiilor se face în timpul execuţiei şi informaţiile de compilare sunt disponibile până în momentul rulării aplicaţiei. Acest mod de lucru face ca sistemul să poată determina în orice moment neconcordanţa dintre tipul referit la compilare şi cel referit în timpul execuţiei evitându-se astfel posibile intruziuni răuvoitoare în sistem prin intermediul unor referinţe falsificate. În acelaşi timp, Java detectează referinţele nule dacă acestea sunt folosite în operaţii de acces. Indicii în tablourile Java sunt verificaţi permanent în timpul execuţiei şi tablourile nu se pot parcurge prin intermediul unor pointeri aşa cum se întâmplă în C/C++. De altfel, pointerii lipsesc complet din limbajul Java, împreună cu întreaga lor aritmetică, eliminându-se astfel una din principalele surse de erori. În plus, eliberarea memoriei ocupate de obiecte şi tablouri se face automat, prin mecanismul de colectare de gunoaie, evitându-se astfel încercările de eliberare multiplă a unei zone de memorie.

Java este un limbaj cu securitate ridicată. El verifică la fiecare încărcare codul prin mecanisme de CRC şi prin verificarea operaţiilor disponibile pentru fiecare set de obiecte. Robusteţea este şi ea o trăsătură de securitate. La un al doilea nivel, Java are incorporate facilităţi de protecţie a obiectelor din sistem la scriere şi/sau citire. Variabilele protejate într-un obiect Java nu pot fi accesate fără a avea drepturile necesare, verificarea fiind făcută în timpul execuţiei. În plus, mediul de execuţie Java poate fi configurat pentru a proteja reţeaua locală, fişierele şi celelalte resurse ale calculatorului pe care rulează o aplicaţie Java.

Limbajul Java are inclus suportul nativ pentru aplicaţii care lucrează cu mai multe fire de execuţie, inclusiv primitive de sincronizare între firele de execuţie. Acest suport este independent de sistemul de operare, dar poate fi conectat, pentru o performanţă mai bună, la facilităţile sistemului dacă acestea există.

Java este dinamic. Bibliotecile de clase în Java pot fi reutilizate cu foarte mare uşurinţă. Cunoscuta problemă a fragilităţii superclasei este rezolvată mai bine decât în C++. Acolo, dacă o superclasă este modificată, trebuie recompilate toate subclasele acesteia pentru că obiectele au o altă structură în memorie. În Java această problemă este rezolvată prin legarea târzie variabilelor, doar la execuţie. Regăsirea variabilelor se face prin nume şi nu printr-un deplasament fix. Dacă superclasa nu a şters o parte dintre vechile variabile şi metode, ea va putea fi refolosită fără să fie necesară recompilarea subclaselor acesteia. Se elimină astfel necesitatea actualizării aplicaţiilor, generată de apariţia unei noi versiuni de bibliotecă aşa cum se întâmplă, de exemplu, cu MFC-ul Microsoft (şi toate celelalte ierarhii C++).

Preview document

Curs Java - Pagina 1
Curs Java - Pagina 2
Curs Java - Pagina 3
Curs Java - Pagina 4
Curs Java - Pagina 5
Curs Java - Pagina 6
Curs Java - Pagina 7
Curs Java - Pagina 8
Curs Java - Pagina 9
Curs Java - Pagina 10
Curs Java - Pagina 11
Curs Java - Pagina 12
Curs Java - Pagina 13
Curs Java - Pagina 14
Curs Java - Pagina 15
Curs Java - Pagina 16
Curs Java - Pagina 17
Curs Java - Pagina 18
Curs Java - Pagina 19
Curs Java - Pagina 20
Curs Java - Pagina 21
Curs Java - Pagina 22
Curs Java - Pagina 23
Curs Java - Pagina 24
Curs Java - Pagina 25
Curs Java - Pagina 26
Curs Java - Pagina 27
Curs Java - Pagina 28
Curs Java - Pagina 29
Curs Java - Pagina 30
Curs Java - Pagina 31
Curs Java - Pagina 32
Curs Java - Pagina 33
Curs Java - Pagina 34
Curs Java - Pagina 35
Curs Java - Pagina 36
Curs Java - Pagina 37
Curs Java - Pagina 38
Curs Java - Pagina 39
Curs Java - Pagina 40
Curs Java - Pagina 41
Curs Java - Pagina 42
Curs Java - Pagina 43
Curs Java - Pagina 44
Curs Java - Pagina 45
Curs Java - Pagina 46
Curs Java - Pagina 47
Curs Java - Pagina 48
Curs Java - Pagina 49
Curs Java - Pagina 50
Curs Java - Pagina 51
Curs Java - Pagina 52
Curs Java - Pagina 53
Curs Java - Pagina 54
Curs Java - Pagina 55
Curs Java - Pagina 56
Curs Java - Pagina 57
Curs Java - Pagina 58
Curs Java - Pagina 59
Curs Java - Pagina 60
Curs Java - Pagina 61
Curs Java - Pagina 62
Curs Java - Pagina 63
Curs Java - Pagina 64
Curs Java - Pagina 65
Curs Java - Pagina 66
Curs Java - Pagina 67
Curs Java - Pagina 68
Curs Java - Pagina 69
Curs Java - Pagina 70
Curs Java - Pagina 71
Curs Java - Pagina 72
Curs Java - Pagina 73
Curs Java - Pagina 74
Curs Java - Pagina 75
Curs Java - Pagina 76
Curs Java - Pagina 77
Curs Java - Pagina 78
Curs Java - Pagina 79
Curs Java - Pagina 80
Curs Java - Pagina 81
Curs Java - Pagina 82
Curs Java - Pagina 83
Curs Java - Pagina 84
Curs Java - Pagina 85
Curs Java - Pagina 86
Curs Java - Pagina 87
Curs Java - Pagina 88
Curs Java - Pagina 89
Curs Java - Pagina 90
Curs Java - Pagina 91
Curs Java - Pagina 92
Curs Java - Pagina 93
Curs Java - Pagina 94
Curs Java - Pagina 95
Curs Java - Pagina 96
Curs Java - Pagina 97
Curs Java - Pagina 98
Curs Java - Pagina 99
Curs Java - Pagina 100
Curs Java - Pagina 101
Curs Java - Pagina 102
Curs Java - Pagina 103
Curs Java - Pagina 104
Curs Java - Pagina 105
Curs Java - Pagina 106
Curs Java - Pagina 107
Curs Java - Pagina 108
Curs Java - Pagina 109
Curs Java - Pagina 110
Curs Java - Pagina 111
Curs Java - Pagina 112
Curs Java - Pagina 113
Curs Java - Pagina 114
Curs Java - Pagina 115
Curs Java - Pagina 116
Curs Java - Pagina 117
Curs Java - Pagina 118
Curs Java - Pagina 119
Curs Java - Pagina 120
Curs Java - Pagina 121
Curs Java - Pagina 122
Curs Java - Pagina 123
Curs Java - Pagina 124
Curs Java - Pagina 125
Curs Java - Pagina 126
Curs Java - Pagina 127
Curs Java - Pagina 128
Curs Java - Pagina 129
Curs Java - Pagina 130
Curs Java - Pagina 131
Curs Java - Pagina 132
Curs Java - Pagina 133
Curs Java - Pagina 134
Curs Java - Pagina 135
Curs Java - Pagina 136
Curs Java - Pagina 137
Curs Java - Pagina 138
Curs Java - Pagina 139
Curs Java - Pagina 140
Curs Java - Pagina 141
Curs Java - Pagina 142
Curs Java - Pagina 143
Curs Java - Pagina 144
Curs Java - Pagina 145
Curs Java - Pagina 146
Curs Java - Pagina 147
Curs Java - Pagina 148
Curs Java - Pagina 149
Curs Java - Pagina 150
Curs Java - Pagina 151
Curs Java - Pagina 152
Curs Java - Pagina 153
Curs Java - Pagina 154
Curs Java - Pagina 155
Curs Java - Pagina 156
Curs Java - Pagina 157
Curs Java - Pagina 158
Curs Java - Pagina 159
Curs Java - Pagina 160
Curs Java - Pagina 161
Curs Java - Pagina 162
Curs Java - Pagina 163
Curs Java - Pagina 164
Curs Java - Pagina 165

Conținut arhivă zip

  • Lab 6
    • Cadru1.java
    • Cadru2.java
    • ExempluMeniuri.java
    • Fereastra.java
    • FereastraDialog.java
    • TextDialog.java
  • lab1
    • FirNou.class
    • FirNou.java
    • HelloApplet.class
    • HelloApplet.java
    • HelloDate.class
    • HelloDate.java
    • HelloJava.class
    • HelloJava.java
    • HelloJavaApplet.class
    • HelloJavaApplet.html
    • HelloJavaApplet.jar
    • HelloJavaApplet.java
    • HelloWorldApplet.class
    • HyJava.class
    • HyJava.java
    • Instante.class
    • Instante.java
    • LungimeNume.class
    • TestFirNou.class
    • TestFirNou.java
  • lab10
    • AboutDialog.class
    • Banal.class
    • Banal.java
    • Editor.class
    • Editor.java
    • ErrorDialog.class
    • FindDialog.class
    • intrebari.txt
    • Jompanion.class
    • Jompanion.java
    • ReplaceAllDialog.class
    • ReplaceDialog.class
    • ServerBanal.class
    • ServerBanal.java
  • lab2
    • EventTutor.class
    • EventTutor.java
    • HelloApplet.java
    • HelloJavaApplet.html
    • HelloJavaApplet.java
    • Palindrom.class
    • Palindrom.html
    • Palindrom.java
  • lab3
    • Cerc.class
    • Cerc.java
    • Cilindru.class
    • Cilindru.java
    • Conul.java
    • Dreptunghi.java
    • Map.java
    • Punct.class
    • Punct.java
    • Sfera.java
    • TestCerc.class
    • TestCerc.java
    • TestCilindru.java
    • TestCilindruCon.java
    • TestD.java
    • TestDreptunghi.java
    • testfig.class
    • testfig.java
  • lab4
    • images
      • awake.gif
      • left1.GIF
      • left2.GIF
      • right1.gif
      • right2.gif
      • scratch1.gif
      • scratch2.gif
      • sleep1.gif
      • sleep2.gif
      • stop.gif
      • yawn.gif
    • awake.gif
    • Concurs.class
    • Concurs.java
    • Filozof.class
    • Filozof.java
    • Neko.class
    • Neko.htm
    • Neko.java
    • Neko1.class
    • Neko1.java
    • right1.gif
    • right2.gif
    • scratch1.gif
    • scratch2.gif
    • sleep1.gif
    • sleep2.gif
    • stop.gif
    • TestFirNou.java
    • yawn.gif
  • lab5
    • Border.class
    • Border.java
    • Butoane.class
    • Butoane.java
    • ButtonA.class
    • ButtonA.java
    • Culori.class
    • Culori.java
    • Ghicitoare.class
    • Ghicitoare.java
    • Linii.class
    • Linii.java
    • Parola.class
    • Parola.java
    • Pete.class
    • Pete.java
    • Tabel.class
    • Tabel.java
    • TestButon.htm
  • lab6
    • Cadru1.class
    • Cadru1.java
    • Cadru2.class
    • Cadru2.java
    • Chestionar$1.class
    • Chestionar.class
    • ExempluFereastra.class
    • ExempluFereastra.java
    • ExempluMeniuri.class
    • ExempluMeniuri.java
    • Fereastra.class
    • Fereastra.java
    • FereastraDialog.class
    • FereastraDialog.java
    • test.htm
    • TextDialog.class
    • TextDialog.java
  • lab7
    • Chestionar$1.class
    • Chestionar.class
    • Chestionar.java
    • ExempluCheckbox.class
    • ExempluCheckbox.java
    • ExempluGraphics.class
    • ExempluGraphics.java
    • ExempluLayout.class
    • ExempluLayout.java
    • ExempluList.class
    • ExempluList.java
    • ExempluText.class
    • ExempluText.java
    • ImageExample.class
    • ImageExample.java
    • imagine.GIF
    • imagine.jpg
    • LeftCanvas.class
    • RightCanvas.class
    • ScrollbarExample.class
    • ScrollbarExample.java
  • lab8
    • 400prime.dat
    • Chestionar$1.class
    • Chestionar.class
    • Chestionar.java
    • CitesteOcteti.class
    • CitesteOcteti.java
    • CitestePrime.class
    • CitestePrime.java
    • CitesteSursa.class
    • CitesteSursa.java
    • desen.gif
    • desen.jpg
    • desen.txt
    • octeti.dat
    • ScrieOcteti.class
    • ScrieOcteti.java
    • ScriePrime.class
    • ScriePrime.java
  • lab9
    • Aplicatie$1.class
    • Aplicatie.class
    • Aplicatie.java
    • AplicatieWindows.java
    • Interviu$1.class
    • Interviu$2.class
    • Interviu.class
    • Interviu.java
    • Moneda$1.class
    • Moneda$2.class
    • Moneda.class
    • Moneda.java
  • curs1.doc
  • curs 8.doc
  • curs 7.doc
  • curs3.doc
  • curs 6.doc
  • curs 9.doc
  • curs2.doc
  • Curs5.doc
  • curs4.doc
  • curs 10.doc
  • curs 11.doc
  • programa licenta colegiu info 2006.doc
  • Neko.java
  • Parola.java
  • Culori.java
  • Ghicitoare.java

Alții au mai descărcat și

Programare HTML

1.1 Istoric al Limbajului HTML Unul din primele elemente fundamentale ale WWW ( World Wide Web) este HTML ( Hypertext Markup Language ), care...

Agendă Fox Pro

1. BAZE DE DATE. GENERALITÃTI. O bazã de date este un sistem de colectii de date referitoare la un domeniu particular, care poate fi utilizat si...

Realizarea unei aplicații web de tip forum de discuții

Acest proiect isi propune să prezinte modul în care se poate realizeza o aplicatie web functionala de tip FORUM DE DISCUTII . Un forum de discutii...

Evidență magazin elecrocasnice

Domeniul bazelor este un domeniu strict al informaticii, operând cu mărimi şi noţiuni specifice. Foarte multe probleme informatice se reduc, la...

Java - Tehnologia JINI

Dupa cum se stie, limbajul Java îsi trage radacinile dintr-un proiect al firmei Sun început înca din 1990 si condus de James Gostling. Proiectul a...

Organizarea informatizată a contabilității privind evidența analitică a stocurilor

CAPITOLUL 1. PREZENTAREA SOCIETĂŢII SC PROFILMET SA 1.1. PREZENTARE GENERALĂ SC Profilmet SA a fost înfiinţată în anul 1990, fiind o societate...

Crearea unui Site

Introducere In perioada actuală prezenta unui website pe piata online, tinde să devină tema de activitate a multor companii ce inteleg,...

Te-ar putea interesa și

Evidența Elevilor din Ciclul Inferior

Argumentare Într-o unitate şcolară este foarte importantă existenţa unei baze de date, nu numai a profesorilor, ci şi a elevilor. O bază de date...

Crearea bazei de date pentru monitorizarea progresului elevilor

Argumentare În activitatea mea de mentor şi de profesor, m-a preocupat intens crearea unei baze de date pentru monitorizarea progresului elevilor,...

Încadrarea Personalului Didactic în Învățământul Liceal și Tehnic Profesional

Argumentare În activitatea mea de profesor inginer, însărcinat cu realizarea orarului unităţii, m-a preocupat intens crearea unei baze de date...

Crearea unui Site Web

1. INTRODUCERE 1.1. Contextul Într-o eră în care informaţia devine din ce în ce mai abundentă şi din ce în ce mai necesară apare nevoia ca...

Inginerie Software

1. Specificarea cerintelor sistemului software La o agentie de zboruri un client poate, prin intermediul unor terminale instalate in sediul...

Java

INSTRUCTIUNI SI EXPRESII Toate activitatile ce se realizeaza intr-un program Java pot fi rezumate la o serie de instructiuni . O instructiune (...

Programare Java - Curs

FOLOSIREA METODELOR PENTRU INDEPLINIREA SARCINILOR Metodele sunt partea cea mai importanta a oricarui limbaj de programare orientat obiect...

Introducere în Java

Aparitia programului Java În 1990, unei echipe de programatori condusa de James Gosling i-a fost încredintat un proiect destinat controlului...

Ai nevoie de altceva?