Sviluppatori Java creati con due obiettivi primari in mente . In primo luogo , per creare un linguaggio di programmazione interamente costruito a seguito di un paradigma orientato agli oggetti . In secondo luogo, per rendere il linguaggio Java eseguito in cima alla Java Virtual Machine ( JVM ) garantire la portabilità multipiattaforma . Poiché Java correva sulla JVM e non si interfaccia direttamente con l'hardware , la JVM potrebbe gestire molti dei problemi inerenti alla programmazione orientata agli oggetti , vale a dire la gestione della memoria . Il processo attraverso il quale la JVM gestito memoria è chiamato " garbage collection ". Per capire di raccolta , un programmatore deve capire concetti di programmazione object-oriented , tra cui come è gestita la memoria . Object-Oriented Programming
Programmazione orientata agli oggetti ( OOP ) rappresenta un paradigma di programmazione in cui i programmatori di creare dati di "oggetti" come parte del loro codice . I programmatori usano questi oggetti per rappresentare tipi di dati complessi che contengono sia uno stato e di esporre alcuni comportamenti . Così, per esempio , un programmatore crea una classe " Sphere " per un programma che funziona coinvolgono calcoli di sfere . La classe Sphere potrebbe contenere dati per un raggio ( il suo stato ) e una funzione per calcolare la propria area ( il comportamento ) .
Oggetti e memoria
sia Java che C + + sono linguaggi OOP . Tuttavia, la differenza tra i due illustra la necessità di garbage collection in Java . In C + + , un programmatore tratta direttamente con il sistema operativo . Ciò significa che quando un programmatore vuole creare un oggetto, che può fare una delle due cose . Prima , può creare una copia " superficiale" durante il processo di codifica . In secondo luogo , e più comune , si può scrivere codice che crea gli oggetti in modo dinamico nella memoria "profonda " durante l'esecuzione di codice attraverso l'uso di " puntatori ".