Salutare
Scuze mai intai pentru perioada de inactivitate , se abat asupra mea limbaje de programare fara nesimtire si nu prea imi mai fac timp pentru una alta , grr
Chestia cu resursele:
- Java e o masina virtuala in primul rand.
Masina Virtuala Java reprezinta un calculator abstract.
De retinut : O aplicaþie de sine statatoare, scrisa în Java, e compilata si ruleaza pe o asa numita Masina Virtuala Java.
Cum sa va inchipuiti ca lucreaza Java; java nu are acces direct la resursele sistemului cum ar fi spre exemplu sub unix apelurile sistem sau alte operatii in care userul interactioneaza direct cu kernelul.
Java mai pe inteles , e ca un fel de minge care e amplasata intr-o camera denumita Windows/Linux/alte So.
E si normal ca sa pape resurse si sa fie mai putin eficient din punctul de vedere al performantei si a timpului de executie.
Java , la fel ca si calculatoarele reale, dispune de un set de instructiuni, un set de registre si utilizeazã diferite zone de memorie. Acestea sunt componente logice abstracte. Ele nu impun o implementare anume, aceasta insemnand ca Masina Virtuala Java se poate implementa ca interpretor de cod binar, compilator (genereazã cod nativ), sau pe Siliciu, dar sa se pastreze functionalitatea.
Daca luam exemplu un program in java , acesta se comporta la fel si in windos si in linux , nici o diferenta. In cazul doririi pastrarii structurii de date pe windows si pe linux la fel (scrierea informatiilor in fisiere , ca o paranteza in paranteza , a obiectelor de fapt) se poate folosi serializarea, documentatii in scopul serializarii sunt destule , in primul rand recomand documentatia de pe java.sun.com ,API-urile(Application PRogramming Interface) de acolo sunt foarte utile, precum si alte site-uri :
http://java.sun.com/developer/technicalArticles/Programming/serialization/ ,
www.javapractices.com.
Instructiunile binare Java prelucreazã operanzii din memoria de date a Masinii Virtuale Java, ca apartinand unui grup redus de tipuri primitive (întreg lung, numere in virgula flotanta cu simpla si dubla precizie, octet, si intreg scurt.
Registrii Masinii Virtuale Java psstreaza starea acesteia in timpul operatiilor, la fel ca si registrii microprocesoarelor. Masina Virtuala Java are patru regiºtrii:
� pc � numaratorul de program
� optop � pointer catre varful stivei de operanzi
� frame � pointer catre mediul de executie a metodei curente
� vars � pointer catre prima variabila locala a metodei curente (variabila cu indexul 0).
Maºina Virtualã Java defineºte fiecare registru ca fiind de 32 biti. Anumite implementari pot sa nu utilizeze toti registrii (ex. Daca se genereazã cod nativ, atunci nu mai avem nevoie de pc).
Maºina virtualã Java este bazata pe stiva, nu foloseste registrii pentru transferuri de parametrii, aceasta fiind o decizie luata în favoarea simplitatii codului si, totodata, permite implementare eficienta pe diferite procesoare gazda, care au un numar redus de registrii, cum ar fi cele din familia x86.
Ar mai fi foarte multe de spus despre Java , e foarte vasta campia in ceea ce priveste subiectul curent , cum ar vi stiva java , garbage colelctor-ul , rezerva de constante , stiva de operanzi , structura fisierului .class ce pastreaza codul compilat pentru clasele si interfetele Java , etc.
Google rezolva orice , sau ..aproape orice:)
class Bafta{
public static void main(String args[]){
System.out.println("Bafta

");
}
}