Ce este tehnologia Java și care sunt aplicațiile acesteia? Ce este JRE (Java Runtime Environment)? Java runtime

Setul de programe și clase JDK conține:

  • compilator javac de la textul sursă la coduri de octet;
  • interpret java, care conține implementarea JVM;
  • interpret ușor jre(nu este disponibil în cele mai recente versiuni);
  • vizualizator de applet appietviewer, înlocuirea browserului;
  • depanator jdt>;
  • dezasamblator javap;
  • program de arhivare și compresie borcan;
  • program de colectare a documentației javadoc;
  • program javah generarea de fișiere antet în limbaj C;
  • program javakey adăugarea unei semnături electronice;
  • program native2ascii, care convertește fișierele binare în fișiere text;
  • programe rmicȘi rmiregistry pentru lucrul cu obiecte la distanță;
  • program seriaiver, care specifică numărul versiunii clasei;
  • biblioteci și fișiere antet ale metodelor „native”;
  • Biblioteca de clase Java API(Interfața de programare a aplicației).

Versiunile anterioare ale JDK au inclus și versiuni de depanare ale programelor executabile: javac_g, java_g etc.

SUN Microsystems dezvoltă și actualizează constant JDK, cu versiuni noi care apar în fiecare an.

În 1996, a fost lansată prima versiune a JDK 1.0, care a fost modificată la versiunea 1.0.2. În această versiune, biblioteca de clase Java API conținea 8 pachete. Întregul pachet JDK 1.0.2 a venit împachetat într-un singur fișier de aproximativ 5 MB și, după despachetare, a ocupat aproximativ 8 MB de spațiu pe disc.

În 1997, a apărut versiunea JDK 1.1, ultima sa modificare, 1.1.8, a fost lansată în 1998. Această versiune avea 23 de pachete de clasă, ocupa 8,5 MB în formă ambalată și aproximativ 30 MB pe disc.

În primele versiuni ale JDK, toate pachetele de bibliotecă API Java au fost împachetate într-un singur fișier de arhivă classes.zip și apelat direct din această arhivă, nu trebuie să fie dezarhivat.

Setul de instrumente JDK a fost apoi puternic reproiectat.

JDK 1.2 a fost lansat în decembrie 1998 și conținea deja 57 de pachete de clasă. În formă arhivată, acesta este un fișier de aproape 20 MB și un alt fișier separat de peste 17 MB cu documentație ambalată. Versiunea completă se află pe 130 MB de spațiu pe disc, din care aproximativ 80 MB sunt ocupați de documentație.

Începând cu această versiune, SUN a început să numească toate propriile produse de tehnologie Java Platforma Java 2, ediție standard, abreviat ca J2SE și redenumit JDK în Java 2 SDK, ediție standard(Software Development Kit), prescurtat ca J2SDK, deoarece este încă disponibil Java 2 SDK Enterprise EditionȘi Java 2 SDK Micro Edition. Cu toate acestea, compania SUN însăși folosește adesea vechiul nume, iar numele Java 2 a devenit stabilit în literatură.

Pe lângă cele 57 de pachete de clasă necesare pe orice platformă și apelate Core API, Java 2 SDK vl.2 include pachete de clasă suplimentare numite API Standard Extension. Java 2 SDK SE, vl.3, lansat în 2000, are deja 76 de pachete de clasă care alcătuiesc Core API. În formă ambalată, acesta este un fișier care măsoară aproximativ 30 MB și un alt fișier cu documentație ambalată care măsoară 23 MB. Toate acestea sunt despachetate în 210 MB de spațiu pe disc. Această versiune necesită un procesor Pentium 166 sau mai mare și cel puțin 32 MB de RAM.

În prezent, versiunea JDK 1.0.2 nu mai este utilizată. Versiunea JDK 1.1.5 cu biblioteca grafică AWT este încorporată în browserele populare Internet Explorer 5.0 și Netscape Communicator 4.7, deci este folosită pentru a crea applet-uri. Tehnologia Java 2 este utilizată pe scară largă în servere și sisteme client-server.

Pe lângă JDK, SUN distribuie și un set separat JRE(Java Runtime Environment).

Ce este JRE

Setul JRE de programe și pachete de clasă conține tot ceea ce este necesar pentru a executa bytecodes, inclusiv interpretorul java (în versiunile anterioare, un interpret ușor jre) și o bibliotecă de clasă. Aceasta face parte din JDK și nu conține compilatoare, depanare sau alte instrumente de dezvoltare. Este JRE sau analogul său de la alte companii care este conținut în browsere care pot rula programe în Java, sisteme de operare și sisteme de gestionare a bazelor de date.

Deși JRE este inclus în JDK, SUN distribuie și acest set ca fișier separat.

Versiunea JRE 1.3.0 este un fișier de arhivă de aproximativ 8 MB, extinzându-se la 20 MB de spațiu pe disc.

Ce medii integrate Java există astăzi? Java Runtime Environment (JRE) este implementarea minimă a unei mașini virtuale necesară pentru a rula aplicații Java, fără un compilator și alte instrumente de dezvoltare. Constă dintr-o mașină virtuală - Java Virtual Machine și biblioteca de clase Java JRF este distribuită gratuit și poate poate fi descărcat de pe site-ul Oracle pentru majoritatea platformelor. Instrumentele de dezvoltare împreună cu JRE sunt incluse în JDK. Astăzi, există trei IDE-uri principale pentru dezvoltare în Java: Eclipse, NetBeans și Intellij IDEA A alege singur care mediu de dezvoltare este cel mai convenabil nu este o sarcină ușoară. Și această alegere se poate schimba în timp. Distribuția completă NetBeans din cutie acceptă Java (SE,ME,EE,Card,FX), C/C++,Groovy, PHP,HTML5. Capacitățile acestui IDE sunt impresionante: există suport imediat pentru JavaEE, Spring Framework, Hibernate, OSGL, Maven, teste unitare, capacitatea de a dezvolta aplicații desktop pe platforma NetBeans și de a folosi serviciile cloud. Un avantaj separat este că suportul pentru noile versiuni ale specificațiilor incluse în JavaEE apare inițial în NetBeans. Principalele avantaje ale Eclipse sunt extensibilitatea sa, o comunitate uriașă care dezvoltă un număr mare de plugin-uri și extensii și suport pentru aproape toate tehnologiile legate de Java. Prin natura sa, Eclipse este un IDE foarte greu și a devenit posibil să lucrezi confortabil cu el începând cu versiunea Juno. Intellij IDEA. Cel mai faimos IDE comercial pentru dezvoltarea Java. IDE-ul vine cu un număr mare de extensii care adaugă suport pentru aproape toate tehnologiile Java comune și multe altele.

Principiile programarii orientate pe obiecte(abstracție, ierarhie, responsabilitate, modularitate)

Principii orientate pe obiecte programare.Programarea orientată pe obiect se dezvoltă de mai bine de douăzeci de ani. Există mai multe școli, fiecare dintre ele oferă propriul set de principii pentru lucrul cu obiecte și prezintă aceste principii în felul său. Dar există mai multe concepte general acceptate. Să le enumerăm. Abstracția Trebuie să ne abstract din unele detalii specifice ale obiectului. Este foarte important să alegeți gradul potrivit de abstractizare. Când descriem comportamentul unui obiect, cum ar fi o mașină, construim un model al acestuia. Fiecare model este descris sub forma unuia sau mai multor clase(clase). O clasă poate fi considerată un proiect, o distribuție, un desen, în funcție de care vor fi apoi create obiecte specifice. Clasa conține o descriere a variabilelor și constantelor care caracterizează obiectul. Sunt chemați câmpurile de clasă(câmpurile de clasă). Sunt numite proceduri care descriu comportamentul unui obiect metode de clasă(metode de clasă). În interiorul unei clase poți descrie și clase imbricate(clase imbricate) și interfețe imbricate. Câmpurile, metodele și clasele imbricate de prim nivel sunt membrii clasei(membrii clasei). Diferitele școli de programare orientată pe obiecte oferă termeni diferiți, folosim terminologia adoptată în tehnologia Java. Iată o schiță a descrierii mașinii:

clasa auto(

int maxVelocity; // Câmp care conține cea mai mare viteză a mașinii

int viteza; // Câmp care conține viteza actuală a mașinii

int greutate; // Câmp care conține greutatea mașinii

// Alte câmpuri...

void moveTo(int x, int y)( // Metodă care simulează mișcarea

// mașină. Parametrii x și y nu sunt câmpuri

int a = 1; // Variabila locală nu este un câmp

// Corpul metodei. Legea este descrisă aici

// mutați mașina în punctul (x, y)

// Alte metode. . .

Ierarhie. Ierarhia obiectelor a fost folosită de multă vreme pentru a le clasifica. Este elaborat în special în detaliu în biologie. Toată lumea este familiarizată cu familiile, genurile și speciile. Putem descrie animalele noastre de companie: pisici, câini, vaci și altele, după cum urmează:

class Pet( // Aici descriem proprietățile generale ale tuturor animalelor de companie

Persoana maestru; // Proprietar de animal

int greutate, vârstă, eatTimel]; // Greutate, vârstă, timp de hrănire

int eat(int food, int drink, int time)( // Proces de hrănire

// Acțiuni inițiale...

if (time == eatTimefi]) person.getFood(mancare, bautura);

// Metoda de consum al alimentelor

voce nulă (); // Sunete făcute de animale

// Alte...

Apoi creăm clase care descriu obiecte mai specifice, legându-le la o clasă generală:

class Cat extinde Pet( // Descrie proprietăți unice pentru pisici:

int mousePrins; // numărul de șoareci prinși

void toMouse(); // proces de prindere a șoarecilor

// Alte proprietăți

clasa Dog extinde Pet( // Proprietăți câine:

void preserve(); // pază

Rețineți că nu repetăm ​​proprietățile comune descrise în clasa Pet. Ele sunt moștenite automat. Putem defini un obiect al clasei Dog și folosim toate proprietățile clasei Pet din el ca și cum ar fi definite în clasa Dog:

Câine tuzik = câine nou (), sharik = câine nou ();

După această definiție se va putea scrie

int p = sharik.eat(30, 10, 12);

Și continuați clasificarea astfel:

clasa Pointer extinde Câine( ... ) // Proprietăți ale rasei Pointer

clasa Setter extinde Dog( ... ) // Proprietăți setter

Responsabilitate. Exemplul nostru ia în considerare doar interacțiunea de hrănire descrisă de metoda eat(). În această metodă, animalul îi cere proprietarului să folosească metoda getFood() Deci, obiectul sharik, atunci când își execută metoda eat(), trimite un mesaj obiectului la care se face referire în variabila persoană solicitând o anumită cantitate de hrană. băutură. Mesajul este scris pe rândul person.getFood(food, drink). Acest mesaj este Contracta(contract) între obiecte, a cărui esență este că obiectul îl asumă Sharik responsabilitate(responsabilitate) setați parametrii corecti în mesaj, iar obiectul - valoarea curentă a persoanei - își asumă responsabilitate aplicați metoda de alimentare getFood(), oricare ar fi aceasta. Pentru a implementa corect principiul responsabilității, se aplică al patrulea principiu al programării orientate pe obiecte - modularitatea(modularitate)

Modularitate Acest principiu prevede că fiecare clasă ar trebui să constituie un modul separat. Membrii unei clase care nu sunt destinate să fie accesați extern trebuie să fie încapsulați. În Java, încapsularea se realizează prin adăugarea modificatorului privat la declarația unui membru al clasei. De exemplu:

private int mouseCatched;

nume șir privat;

private void preserve();

Acești membri ai clasei devin închis, ele pot fi folosite numai de instanțe ale aceleiași clase, de exemplu, tuzik poate emite instrucțiunea sharik.preserve(). Și dacă în Master class scriem private void getFood(int food, int drink); atunci metoda getFood() nu va fi găsită, iar nefericitul sharik nu va putea obține mâncare. Spre deosebire de a fi închis, putem declara unii membri ai unei clase deschis, scriind modificatorul public în loc de cuvântul privat, de exemplu: public void getFood(int food, int drink); Astfel de membri pot fi accesați de orice obiect din orice clasă.

Cum sunt clasificate tipurile de date Java 2. Declararea variabilelor.

Java definește două categorii de date:

 tipuri primitive;

 tipuri de referinţă.

Există, de asemenea, un tip nul special, tipul expresiei nul, care nu are nume.

Tipurile primitive sunt împărțite în tipuri booleene și tipuri numerice. La rândul lor, tipurile numerice sunt tipuri întregi (byte, short, int, long și char) și tipuri reale (float și double). Tipurile de referință sunt tipuri de clase, interfețe și matrice.

Declarațiile de variabile în Java arată astfel:

tip-nume variabilă-identificator;

De exemplu:

Dacă mai multe variabile sunt de același tip, ele pot fi declarate într-o singură propoziție prin enumerarea identificatorilor variabilelor despărțiți prin virgule:

tip-nume variabilă-identificator-1,identificatorul-variabilă-2,;

De exemplu:

Convențiile de codificare recomandă începerea identificatorilor de variabile cu o literă mică. Dacă numele variabilei constă din mai multe cuvinte, atunci toate sunt scrise împreună și fiecare cuvânt, cu excepția primului, începe cu o literă mare, de exemplu:

dublu inputValue;

O variabilă este o indicație a locului în care valoarea variabilei este stocată în memorie. O variabilă de tip primitiv deține întotdeauna valoarea unei variabile de tipul specificat (de exemplu, int), în timp ce o variabilă de tip referință stochează o referință (adresă) a unui obiect de tipul specificat.

Puteți crea variabile noi oriunde în program.

Tip logic și operații cu acestea (operații de comparare și atribuire, operații logice, operații logice prescurtate)

JavaScript are următoarele tipuri de operații: Operațiune de atribuire atribuie operandului din stânga o valoare bazată pe operandul din dreapta. Operatorul de atribuire de bază este semnul egal (=), care atribuie operandului din stânga valoarea operandului din dreapta. Adică, x = y atribuie valoarea y variabilei x.

Abreviere Sens
x += y x = x + y
x -= y x = x – y
x *= y x = x * y
x/=y x = x / y
x %= y x = x % y
X<<= y x = x<< y
x >>= y x = x >> y
x >>>= y x = x >>> y
x &= y x = x și y
x^=y x = x^y
x |= y x = x | y

Operație de comparație compară operanzi și returnează o valoare booleană pe baza validității comparației. Operanzii pot fi numere, șiruri de caractere, booleeni și obiecte. Șirurile sunt comparate pe baza ordinii lexicografice standard folosind valori Unicode.

Operațiune Descriere Exemple care revin adevărate
Egal (==) Returnează adevărat dacă operanzii sunt egali. Dacă operanzii sunt de diferite tipuri, JavaScript încearcă să convertească operanzii într-un tip care poate fi comparat. 3 == var1 "3" == var1 3 == "3"
Nu este egal (!=) Returnează adevărat dacă operanzii nu sunt egali. Dacă operanzii sunt de diferite tipuri, JavaScript încearcă să convertească operanzii într-un tip care poate fi comparat. var1 != 4 var2 != "3"
Strict egal (===) Returnează adevărat dacă operanzii sunt egali și de același tip. 3 === var1
Strict nu este egal (!==) Returnează adevărat dacă operanzii nu sunt egali și/sau nu sunt de același tip. var1 !== "3" 3 !== "3"
Mai multe (>) Returnează adevărat dacă operandul din stânga este mai mare decât operandul din dreapta. var2 > var1
Mai mare sau egal cu (>=) Returnează adevărat dacă operandul din stânga este mai mare sau egal cu operandul din dreapta. var2 >= var1 var1 >= 3
Mai puțin (<) Returnează adevărat dacă operandul din stânga este mai mic decât operandul din dreapta. var1< var2
Mai mic sau egal (<=) Returnează adevărat dacă operandul din stânga este mai mic sau egal cu operandul din dreapta.

Operații logice folosit de obicei cu valori booleene; în acest caz, este returnată o valoare booleană. Cu toate acestea, && și || returnează de fapt valoarea unuia dintre operanzii specificați, deci dacă aceste operații sunt utilizate pe valori non-booleene, ele pot returna o valoare non-booleană.

Operațiune Utilizare Descriere
&& expr1 && expr2 (ȘI logic) Returnează expr1 dacă poate fi convertit în fals; altfel returnează expr2. Astfel, atunci când este folosit cu valori booleene, && returnează adevărat dacă ambii operanzi sunt adevărati; altfel se întoarce false.
|| expr1 || expr2 (SAU logic) Returnează expr1 dacă poate fi convertit în adevărat; altfel returnează expr2. Astfel, atunci când este utilizat cu valori booleene, || returnează adevărat dacă cel puțin unul dintre operanzi este adevărat; dacă ambii operanzi sunt false, returnează false.
! !expr (Boolean NOT) Returnează false dacă singurul său operand poate fi convertit în adevărat; altfel returnează adevărat.

Deoarece expresiile booleene sunt evaluate de la stânga la dreapta, ele sunt verificate pentru a vedea dacă pot fi executate "abreviat" calcule conform următoarelor reguli:

fals && orice prescurtat la fals.

adevărat || orice prescurtat la adevărat.

Tipuri întregi și operații cu acestea (aritmetică, turnare de tip, operații de comparare, operații pe biți, operații de deplasare). Operatii aritmetice ia valori numerice (literale sau variabile) ca operanzi și returnează o singură valoare numerică. Operațiile aritmetice standard sunt adunarea (+), scăderea (-), înmulțirea (*) și împărțirea (/).

Operațiune Descriere Exemplu
% (modul) Operație binară. Returnează restul întregului atunci când doi operanzi sunt împărțiți. 12% 5 randamente 2.
++ (creștere) Operație unară. Adaugă 1 la operand. Dacă este folosit ca prefix (++x), adaugă unul și returnează valoarea operandului; dacă este folosit ca postfix (x++), returnează valoarea operandului și apoi adaugă unul. Dacă x este 3, atunci ++x setează x la 4 și returnează 4; și x++ setează x la 4 și returnează 3.
-- (Scădere) Operație unară. Scade unul din operand. Valoarea returnată este aceeași cu cea pentru o operație de creștere. Dacă x este 3, atunci --x setează x la 2 și returnează 2; și x-- setează x la 2 și returnează 3.
- (negație unară) Operație unară. Returnează operandul semnat. Dacă x este -3, atunci -x returnează 3.

Pe bit operațiunile își tratează operanzii ca un set de numere binare de 32 de biți (zero și unu), mai degrabă decât ca numere zecimale, hexazecimale sau octale. De exemplu, numărul zecimal 9 are o reprezentare binară de 1001. Operațiile pe biți sunt efectuate pe astfel de reprezentări binare, dar returnează valori numerice standard JavaScript.

Operațiune Utilizare Descriere
ȘI pe biți A & b Returnează 1 la fiecare poziție de bit în care biții corespunzători ambilor operanzi sunt 1.
SAU pe biți A | b Returnează 1 la fiecare poziție de bit în care biții corespunzători unuia sau ambilor operanzi sunt 1.
SAU exclusiv pe biți A ^ b Returnează 1 la fiecare poziție de bit în care biții corespunzători ai unuia, dar nu a ambilor operanzi, sunt 1.
Pe bit NU ~ A Inversează biții operandului.
Schimbați la stânga A << b Mută ​​reprezentarea binară a biților a cu b la stânga, umplând partea dreaptă cu zerouri.

Operații logice pe biți

Operanzii sunt convertiți în numere întregi de 32 de biți și exprimați ca o serie de biți (0 și uni).

Fiecare bit al primului operand corespunde unui bit pereche al celui de-al doilea operand: primul bit primului, al doilea celui de-al doilea și așa mai departe.

Operația este efectuată pe fiecare pereche de biți, iar rezultatul este construit pe biți De exemplu, reprezentarea binară a lui 9 este 1001, iar reprezentarea binară a lui 15 este 1111. Deci, dacă operația pe biți este aplicată acestor două numere. rezultatele vor fi astfel:
15 și 9 dă 9 (1111 și 1001 = 1001)

15 | 9 dă 15 (1111 | 1001 = 1111)

15^9 dă 6 (1111^1001 = 0110) Operații de deplasare pe biți ia doi operanzi: primul operand este cantitatea care trebuie deplasată, iar al doilea specifică numărul de poziții de biți cu care este deplasat primul operand. Direcția de schimbare este controlată de operația aplicată

Tipul de date reale și operațiunile cu acestea. Există două tipuri reale în Java: float și double. Se caracterizează prin adâncimea de biți, intervalul de valori și acuratețea reprezentării, respectând standardul IEEE 754-1985 cu unele modificări. Încă trei valori sunt adăugate numerelor reale obișnuite" 1. Infinit pozitiv, exprimat prin constanta POSITIVE_INFINITY și care apare atunci când o valoare pozitivă depășește, de exemplu, ca urmare a operației de înmulțire 3.0 * 6e307. 2. Infinitul negativ NEGATIVE_INFINITY. 3. „Not a Number”, scris de constanta NaN (Not a Number) și care apare atunci când un număr real este împărțit la zero sau zero este înmulțit cu infinit. Exemple de definire a tipurilor reale:

float x = 0,001, y = -34,789;

dublu 21 = -16,2305, z2;

Deoarece toate operațiile și comparațiile aritmetice se aplică tipurilor reale, valorile întregi și reale pot fi amestecate în operații. În acest caz, regula de turnare a tipului este completată cu următoarele condiții:

dacă într-o operație un operand este de tip double, atunci celălalt este turnat la tipul double;

dacă un operand este de tip float, atunci celălalt este transformat în float;

în caz contrar, se aplică regula de conversie a numărului întreg.

Operațiuni de atribuire. Funcționare condiționată.Operație simplă de atribuire(operator de atribuire simplă) se scrie cu semnul egal =, în stânga căruia este o variabilă, iar în dreapta o expresie compatibilă cu tipul variabilei: x = 3,5, y = 2 * (x - 0,567) / (x + 2), b = x< у, bb = х >= y && b. Operația de atribuire funcționează astfel: expresia după semnul egal este evaluată și turnată la tipul variabilei din stânga semnului egal. Rezultatul operației va fi valoarea redusă a părții drepte. Operația de atribuire mai are un efect secundar: variabila din stânga primește valoarea redusă a părții drepte, valoarea sa veche se pierde. În operația de atribuire, părțile din stânga și din dreapta sunt inegale, nu puteți scrie 3,5 = x. După operația x = y, variabila x se va modifica, devenind egală cu y, iar după y = x, y se va modifica. Pe lângă operațiunea simplă de atribuire, mai sunt 11 compozit operatori de atribuire compuși: +=, -=, *=, /=, %=, &=, |=, ^=,<<=, >>= ; >>>=. Caracterele sunt scrise fără spații; ele nu pot fi rearanjate.

Toate operațiunile de atribuire compusă urmează același model:

X op = a e echivalent x = (tip x), adică (x sau a).

Amintiți-vă că variabila ind de tip short este definită cu valoarea 1. Atribuirea ind +=7,8 va avea ca rezultat numărul 8, iar variabila ind va primi aceeași valoare. Această operație este echivalentă cu operația simplă de atribuire ind = (scurt)(ind + 7.8).

Înainte de atribuire, dacă este necesar, se efectuează automat o distribuție de tip. De aceea:

b = b + 10; // Eroare!

b += 10; // Dreapta!

Înainte de adăugarea b + 50, b este promovat la tipul int, rezultatul adunării va fi, de asemenea, de tip int și, în primul caz, nu poate fi atribuit variabilei b fără o conversie explicită de tip. În al doilea caz, înainte de atribuire, rezultatul adunării va fi restrâns la tipul de octet.

Operatorul condiționat este singurul din JavaScript care ia trei operanzi. Poate da una sau alta valoare în funcție de condiție. Sintaxa este:

condiție? val1 : val2
Dacă condiția este adevărată, operația are valoarea val1. În caz contrar, valoarea este val2. Puteți utiliza un operator condiționat oriunde ar putea fi utilizat un operator standard.

De exemplu,

status = (varsta >= 18) ? "adult" : "minor"

Această declarație atribuie valoarea „adult” statutului variabilei dacă vârsta este de 19 sau mai mult. În caz contrar, variabilei statutului i se atribuie valoarea „minor”.

„Java runtime, ce este acest program?”, vorbim despre un program care ridică întrebări în rândul majorității utilizatorilor din motive foarte obiective. Cert este că puțini oameni îl instalează separat pe computerul lor. Pentru majoritatea oamenilor, se instalează singur, adică este luat dintr-un loc necunoscut. Aici apar întrebările.

Acest lucru se explică prin faptul că utilizatorii sunt obișnuiți cu faptul că astfel pătrund virușii, și nici măcar programele utile, în computere. Dar nu este cazul. Și vom încerca să vă explicăm de ce se întâmplă acest lucru în articolul nostru, astfel încât să nu aveți îndoieli și toate temerile să dispară.

Probabil că merită să începeți cu ce este Java. Este unul dintre cele mai populare limbaje de programare, care este folosit în dezvoltarea de aplicații în domenii și implementări foarte diferite. A fost lansat în 1995, așa că nu ar trebui să fii surprins că un număr mare de programe populare sunt scrise în Java.

Pentru a rula programe scrise în acest minunat limbaj de programare, aveți nevoie de un compilator sau un software special. Doar una dintre aceste aplicații este eroul acestui articol. De ce ridică atâtea întrebări și o reacție atât de ambiguă față de noi înșine, vom fi bucuroși să explicăm în continuare.

Java Runtime Environment ce este acest program

Dezvoltatorii știu și înțeleg perfect că programele scrise în Java nu vor rula fără software special. Merită să le faci un compliment, pentru că au lucrat foarte eficient în acest domeniu. Prin urmare, pentru a nu complica și mai mult viața utilizatorilor, aceștia au inclus instalarea software-ului necesar în instalarea majorității programelor Java.

Singurul lucru la care nu s-au gândit a fost că majoritatea virușilor intră acum în sistemele utilizatorilor exact în același mod. Prin urmare, un program care a fost instalat pe sistem fără permisiune nu poate decât să trezească suspiciuni.

Acum că știți ce fel de program este acesta - Java Runtime Environment, înțelegeți că nu ar trebui să îl eliminați dacă doriți ca toate aplicațiile Java să funcționeze.

>> Ce este un JRE?

Cursuri de pregatire:

Ce este JRE?

Ce este JRE?

JRE este Java Runtime Environment. În traducerea rusă, JRE este un mediu de rulare pentru limbajul Java. Aceasta este implementarea minimă de mașină virtuală necesară pentru a rula aplicații Java, fără un compilator sau alte instrumente de dezvoltare. JRE constă dintr-o mașină virtuală - Java Virtual Machine - și o bibliotecă de clase Java.

Descărcați JRE de pe site-ul oficial: http://www.oracle.com/technetwork/articles/javase/index-jsp-138363.html

JRE este distribuit gratuit și poate fi descărcat de pe site-ul Oracle pentru majoritatea platformelor.

Setul de programe JRE și pachete de clasă conține tot ceea ce este necesar pentru a executa bytecodes, inclusiv un interpret java (în versiunile anterioare, un interpret jre ușor) și o bibliotecă de clase. Aceasta face parte din JDK și nu conține compilatoare, depanare sau alte instrumente de dezvoltare. Oracle JRE sau analogul său, creat de alte companii, este prezent în acele browsere care pot rula programe în Java, în sistemele de operare și sistemele de gestionare a bazelor de date.

Deși JRE este inclus în JDK, Oracle îl distribuie și ca fișier separat.

Care este diferența dintre JRE, JVM și JDK?

jvm - Java Virtual Machine - mediul ("virtual") în care este executat codul compilat

jre - Java Runtime Environment. Acesta este pur și simplu un pachet care include JVM și un set minim de biblioteci pentru rularea programelor. Și, de asemenea, un plugin de browser în care vor fi executate aplicații.

Când vorbiți despre limbajul de programare Java, puteți vedea adesea astfel de abrevieri precum: Java SE, JRE, JDK, IDE. Să ne uităm la ele.

Java SE

Java Standard Edition (Java SE)- aceasta este ediția standard a Java, pentru aceasta sunt dezvoltate aplicațiile client și acest site este dedicat în întregime Java SE. Aplicațiile pot rula independent sau ca aplicații de browser web.

Pe lângă ediția standard, există:

  • Java Enterprise Edition (Java EE) pentru dezvoltarea aplicațiilor server-side, cum ar fi Java Servlets, JavaServer Pages (JSP) și JavaServer Faces (JSF).
  • Java Micro Edition (Java ME) pentru dezvoltarea de aplicații pentru dispozitive mobile, cum ar fi telefoanele.

JRE

Mediul Java Runtime- Mediu de rulare Java. Aceasta este o mașină virtuală Java necesară pentru a rula programe Java pe computerele utilizatorului. Conține tot ce aveți nevoie pentru a rula aplicații Java pe sistemul dumneavoastră. JRE acoperă nevoile majorității utilizatorilor.

JDK

JDK (kit de dezvoltare Java SE)- un set de instrumente de dezvoltare pentru crearea de programe în Java. Include instrumentele JRE plus pentru dezvoltarea, depanarea și monitorizarea aplicațiilor Java.

Deci, să decideți ce să descărcați: JRE sau JDK? Răspundeți la întrebarea: doriți să rulați doar programe Java sau să le dezvoltați? Dacă îl rulați, atunci JRE este suficient pentru dvs. Dacă doriți să dezvoltați programe, atunci aveți nevoie de JDK. Kitul de dezvoltare JDK include deja JRE, deci nu este nevoie să le descărcați pe amândouă separat.

versiuni Java

Pe lângă diversele ediții discutate, precum și diferite versiuni ale pachetelor (pentru utilizatorul final și pentru dezvoltator), există versiuni numerotate. În prezent, versiunea actuală este JDK 1.10. Apropo, JDK 1.10 = JDK 10.

Dacă sunteți interesat de versiunile timpurii (ceva de genul beta), atunci pentru a unsprezecea versiune le veți găsi la

IDE

IDE (mediu de dezvoltare integrat)- mediul de dezvoltare integrat, conceput pentru a ajuta dezvoltatorul, accelerează procesul de dezvoltare a programului. De obicei, include un editor cu evidențiere de sintaxă, ajutor, compilare automată și lansare de program. Un IDE poate fi creat pentru orice limbaj de programare sau pentru un anumit limbaj, cum ar fi Java. Mediile de dezvoltare integrate sunt disponibile gratuit și cu plată. Un bun IDE gratuit pentru Java este NetBeans.