In acest articol voi discuta ce trece prin anumite etape ale obiectelor Java atunci când acestea sunt create. Cu alte cuvinte, voi discuta despre ciclul de viață al obiectelor Java.
Java pentru un incepator este foarte important să se înțeleagă ciclul de viață al clasei. Acest lucru va ajuta pentru a rezolva rapid erorile de compilare cauzate și de a preveni mai multe bug-uri.
Atunci când metoda principală vom crea orice obiect, Java are grijă despre diferitele etape de creare a obiectului.
De exemplu, avem următorul cod în fișierul Main.java.
public class principal
statice void main (String [] args) publice
Sistem. out. println ( "Start principal");
Sistem. out. println ( "End principal");
static int privat staticField = 2;
Sistem. out. println ( "câmp static class ObjectCircle" + staticField);
Sistem. out. println ( "clasa ObjectCircle cod statică bloc");
Rezultatul a fost un rezultat foarte interesant. Se pare că, din cauza faptului că ne-am mutat metoda principală în clasa ObjectCircle însuși, cu mult înainte de ClassLoader clase încărcate în memorie și ObjectCircle ParentObjectCircle. Aceasta este, desigur, datorită faptului că metoda principală este în clasa ObjectCircle și să execute metoda principală este necesar să se descarce. Dar pentru a descărca clasa ObjectCircle trebuie să fie încărcat mai întâi în memorie și chiar ParentObjectCircle de clasă. Prin urmare, a avut loc inițializarea câmpuri statice și blocuri de cod statice în aceste clase înainte de executarea metodei principale.
Este timpul pentru a rezuma.
La prima mențiune a claselor în cerere, Java folosind clasa ClassLoader încarcă clasa corespunzătoare în memorie, și apoi începe să inițializa variabilele statice, și apoi executați blocuri de cod statice. Dar dacă această clasă este un descendent al unora alta clasa, prima ClassLoader va face aceiași pași pentru clasa părinte, și numai apoi, în ordine pe care doriți.
După parcurgerea tuturor pașilor necesari atunci când clasele de încărcare a trecut în memorie, este crearea de obiecte din această clasă. Dar nu începe cu punerea în aplicare a constructorului, și o primă de inițializare nu este variabile statice și apoi efectuarea blocuri de cod nu statice. Și doar apoi executat constructor.
Definitivarea Supracomanda poate duce la probleme asociate cu eliberarea necorespunzătoare a resurselor. Acest lucru se datorează faptului că nu există nici o garanție că este invocată metoda finalize. Utilizați-l numai dacă știți unde se duce la 100%.
![Java de bază, aceasta sferă (privată) Java de bază, aceasta sferă](https://images-on-off.com/images/45/javacoreitsphere-2d43761e.jpg)
Sper să înțelegeți că de juniori nu necesită cunoștințe profunde. Odată, cineva mi-a spus că juniorul trebuie să știe totul, dar un pic. Prin urmare, nu arunca să învețe tot drumul până la ansamblul. Pe scurt, mai mult va descrie cursul.
Aș adăuga, de asemenea, că această listă doar partea de sus este un subiect extrem de important. Acest lucru nu înseamnă că următoarea nu va fi important. Vor exista, de asemenea, cele care sunt indispensabile. Chiar și acestea vor fi adăugate pentru a avea competențele care sunt un ordin de mărime crește avantajul competitiv. Să mergem.
Primul loc! PLO
Ar trebui să rețineți că, dacă toți au învățat, așa cum am spus mai devreme, aceasta nu înseamnă că trebuie să se aplice pe deplin OEP atunci când programare. PLO este un astfel de lucru, care nu poate fi luată și înțeles imediat. Acest lucru necesită mai mult de un an de experiență.
Odată ce sunteți începător, atunci probabil la interviu se va cere să explice modul în care în limba sunteți de învățare OEP. Acesta poate da o bucată de cod în care o ierarhie de clase și spune pentru a determina care metodă va fi numită în anumite condiții.
Al doilea loc! core java
Al doilea cel mai important este de bază Java. Acesta este un concept destul de larg. Pe cunoștințe de bază Java, vi se poate cere să rezolve testul. Acest test va fi din categoria a ceea ce se va întâmpla în cazul în care acest cod este executat. Puteți pre-instruit să se ocupe de astfel de teste. Internetul este plin de resurse, care vor fi supuse unui astfel de test gratuit. Uita-te teste OCJP (SCJP) on-line.
Rețineți că am spus că vă pot da acest test. Dacă el nu dă, cu atât mai probabil acestea vor fi întrebat pe cale orală. În acest caz, puteți aluneca.
Locul al treilea. Colecții Java
De asemenea, este un subiect extrem de important. Întrebări despre colecțiile pe care le va bantui toata cariera ta viitoare, indiferent dacă sunteți preparator sau senior.
În primul rând să învețe interfețele de bază și să înțeleagă ceea ce au nevoie și ceea ce este diferența. Lista nu este o listă de colectare mare, Set, Coadă, și harta. Nu este nevoie să memoreze toate metodele lor, să învețe cum să folosească cele mai bune le.
Locul al patrulea. Servlets
Servlets - este, de asemenea, un lucru foarte important. Foarte des în timpul interviului am fost întrebat despre ciclul de viață al unui servlet.
Sincer, scris backend pentru aplicații web și Android nu puteți ști despre servleturile. Dar acest lucru este aproape la fel, pentru a numi doar o persoană ca un programator după ce a făcut primul său site-ul în WordPress. În conformitate cu acest lucru, dacă nu doriți, că aveți un complex nu este plin, apoi preda servleturile.
Locul al cincilea. sincronizarea
Din moment ce ne-am atins un servlet care se pot ocupa mai multe interogări concurente, atunci este timpul pentru a menționa un pic de sincronizare fir și multi threading. Nu consider fluxuri cu privire la un subiect important. De asemenea, ei ating pe mai târziu. Este mult mai important să fie în măsură să sincronizeze accesul la o resursă partajată între mai multe fire.
Aflați cum să utilizeze cuvântul cheie sincronizate. Sa întâmplat că am stabilit la primul lor loc de muncă nu știe despre existența claselor și Semafor SountDownlatch. De aceea, eu cred că acest lucru nu este foarte important, dar dacă există timp liber, apoi le înțepat.
Locul al șaselea. JDBC
locul al șaptelea. SQL
Acum am acoperi o grămadă de pietre. Dar trebuie să vă pentru a rezolva misterul. spune întotdeauna ceea ce trebuie să știți SQL foarte bine și este adevărat. Dar există concesii pentru incepatori. El trebuie să știe suficient pentru a avea un interviu, și apoi, aproape întotdeauna, va fi capabil de a intra în Wikipedia și peep dacă ar fi uitat. În general, se poate spune despre aproape tot ceea ce a fost spus mai sus.
La interviu vi se va cere probabil să scrie o interogare care va extrage datele din două tabele la o anumită condiție. Această probă va trebui să fie grupate și sortate. Acesta este un loc de muncă tipic. Prin urmare, locul de muncă în avans.
După cum puteți vedea, cele mai puternice cunoștințe veți avea nevoie pentru Java de bază. Pentru restul, puteți crea aparența de a avea utilizați experiență. Acest lucru se datorează faptului că, de obicei, doar de bază Java poate da un test decisiv. Un test, după cum știți deja mai dificil să trișeze. Deși poate cădea atât de intervievator, care va găsi vina, astfel încât în jos de scurgere.
Pentru a adăuga că, în cuvântul meu „ieftin“ Am pus un înțeles ușor diferit. Cred că aproape toate începători există o anumită evaluare a propriei lor cunoștințe. Și de multe ori este foarte scăzută. Asta este, crezi că nu știi nimic, și trebuie să lucreze. Se pare că crezi că ai inselat intervievator. Cu toate că ar putea închide ochii la unele dintre spațiile dvs., iar firma este gata să le închidă pe propria lor cheltuială. Se pare că există înșelăciune doar în capul tău.
În următorul articol voi vorbi despre chips-uri avansate, care nu doar face viața mai ușoară ca un dezvoltator, dar un ordin de mărime crește șansele de a găsi un loc de muncă.