Ce este tehnologia Java și care sunt aplicațiile acesteia? Limbajul de programare Java

7 răspunsuri

Diferența conceptuală este simplă:

    Declarație: Declarați că există ceva, cum ar fi o clasă, o funcție sau o variabilă. Nu spui nimic despre cum arată această clasă sau funcție, spui doar că există.

    Definiție. Definiți modul în care este implementat ceva, cum ar fi o clasă, o funcție sau o variabilă, adică spuneți ce este de fapt.

În Java diferența dintre ele este mică, iar formal vorbind, declarația include nu numai identificatorul, ci și definiția acestuia. Iată cum interpretez personal termenii în detaliu:

    Clase. Java nu separă cu adevărat declarațiile și definițiile așa cum o face C/C++ (în fișierele header și cpp). Le definiți în locul în care le declarați.

    Funcții. Când scrieți o interfață (sau o clasă abstractă), puteți spune că declarați o funcție fără a o defini. Cu toate acestea, funcțiile obișnuite sunt întotdeauna definite chiar acolo unde sunt declarate. Dacă doriți, priviți corpul funcției ca definiție.

    Variabile. O declarație de variabilă ar putea arăta astfel:

    (declarați că o variabilă x există și este de tip int) dacă este o variabilă locală sau un membru. În Java, nu există informații despre x de definit, altele decât valorile posibile pe care ar trebui să le conțină, care sunt determinate de scopul pentru care acesta este destinat.

Iată o scurtă prezentare generală a modului în care folosesc termenii:

Clasa abstractă SomeClass ( // clasă clasă // \ int x; // variabilă decl. | // | public abstract void someMethod(); // funcția decl. | // | public int someOtherMethod() ( // funcția decl . |. // |. (Math.random())

Specificația limbajului Java definește și folosește termenul „declarație” în mod larg, dar nu folosește „definiție” în afară de cuvântul englezesc normal.

Dovada mea este că termenul „declarație” apare de mai multe ori în cuprinsul și indexul JLS, dar nici cuvântul „definiție” nu apare.

Deci, când vezi pe cineva folosind cuvântul „definiție” într-un context Java, fie îl folosește într-un sens non-tehnic, fie este neglijent cu terminologia.

În acest din urmă caz, ele pot însemna la fel ca termenul tehnic „declarație”, sau pot însemna altceva. Și dacă înseamnă altceva, trebuie să-i întrebi ce înseamnă. Dacă l-au definit... destul de corect, dar asta nu este o terminologie standard.

Răspunsurile care spun „definiție” se referă la punctul în care o variabilă este inițializată nu sunt acceptate în mod specific... în contextul Java. În Java, inițializarea variabilei are loc fie în punctul de declarare, fie la o atribuire ulterioară. În acest din urmă caz, nu este folosit niciun termen special... sau este necesar... cu excepția atribuirii și/sau inițializării. Nu există un punct specificat în care stocarea este alocată pentru o variabilă. De fapt, sunt șanse să fi fost alocat spațiu pentru variabila în sine inainte de, se va ajunge la anunț.

Motivul pentru care termenul „declarație” nu este folosit în Java în specificația JLS este că nu este necesar.

  • Deoarece Java permite declararea membrilor în orice ordine, nu este nevoie de „declarații înainte”.
  • În Java, spațiul de stivă necesar pentru o variabilă este o constantă de timp de compilare, astfel încât calculele de decalaj a stivei au loc în momentul compilării. (Rețineți că în Java, o matrice este o referință la un obiect heap... și doar referința este stocată în cadrul stivei.)
  • Modul în care Java gestionează „definiția fără inițializare” a unui câmp sau a unei variabile nu necesită o „declarație” separată. Dacă o variabilă trebuie inițializată, acest lucru se poate întâmpla în mai multe puncte din codul sursă.

(Singurul loc în Java în care ar putea folosi declarație vs. definiție este cu metode abstracte. Cu excepția faptului că, dacă ar face-o, ar trebui să se refere la declarația obișnuită a metodei ca definiție... pentru coerență. și acest lucru va fi confuz, așa că numesc subtitlul „abstract” o declarație de metodă abstractă.)

C și C++ tratează aceste lucruri în mod diferit și, prin urmare, necesită termeni diferiți „declarare” și „definiție” în descrierile lor tehnice. Accept definițiile „Glosarului Soarelui”: sunt centrate pe C/C++.

declaraţie: O declarație care stabilește un identificator și îi asociază atribute fără a fi nevoie să-și rezerve stocarea (pentru date) sau să furnizeze o implementare (pentru metode).

definiție: O declarație care rezervă stocare (pentru date) sau oferă implementare (pentru metode).

Modul în care am citit glosarul lui Sun ar fi următorul:

Lista i; // declarație - variabilă pe stivă i = new ArrayList(); // definiție - dă variabilei o referință

1. Declarație înseamnă creație o variabilă de referință primitivă sau obiect, dar fără a atribui o valoare sau respectiv obiect.

, De exemplu:

Int x; // declararea lui x de tip int Cat myCat; // declararea myCat un Obiect de tip Cat

2. Definiția este atunci când le atribuim valori sau un obiect.

Int x = 5; Cat myCat = pisica noua();

3. In cazul unei astfel de metode...

Public abstract void go(); // Declarație de metodă (metoda abstractă) public void go())( // Definirea metodei // Codul dvs. )

Cred că pot explica mai bine această întrebare, de ex.

100% Java purTM
Termenul „100% Pure Java TM” se referă la un program Java care se bazează doar pe comportamentul specificat al platformei Java, nu utilizează metode dependente de platformă (native) și nu depinde de nicio interfață de programare, în afară de API-ul de bază Java. . Programul de certificare servește pentru a determina dacă o anumită aplicație sau applet este sau nu 100% Pure Java.

Setul de instrumente pentru fereastră abstractă - AWT
Un pachet standard de componente grafice implementate folosind metode specifice platformei. Aceste componente acceptă doar un subset al funcționalității care este comună tuturor platformelor.

În mare parte înlocuit de setul de componente Project Swing (vezi Componentele Swing).

abstract
Un cuvânt cheie în limbajul de programare Java utilizat într-o definiție de clasă pentru a indica faptul că nu poate fi instanțiat, dar poate fi totuși moștenit de alte clase. O clasă abstractă poate conține metode neimplementate (abstracte) care trebuie implementate în subclasele sale.

clasa abstractă
O clasă care conține una sau mai multe metode abstracte, astfel încât instanțe ale clasei nu pot fi create. Clasele abstracte sunt definite în așa fel încât alte clase să le poată extinde și instanția prin implementarea unor metode abstracte.

metoda abstracta
O metodă care nu are implementare.

controlul accesului
Mijloace tehnice prin care numărul de utilizatori sau programe care interacționează cu resurse este limitat pentru a îmbunătăți integritatea, confidențialitatea și disponibilitatea.

ACID (atomicitate, consistență, izolare și durabilitate)
Un acronim pentru cele patru proprietăți oferite de tranzacții: atomicitate, integritate, izolare și fiabilitate.

activare
Procesul de transfer al bean-urilor enterprise de pe un dispozitiv de stocare secundar în memorie.

lista parametrilor actuali
Argumente specificate în apelul de metodă (vezi lista parametrilor formali).

factor alfa (valoare alfa)
O valoare care indică luminozitatea (sau intensitatea) unui pixel.

interfață de programare a aplicațiilor (API - Application Programming Interface)
O specificație destinată utilizatorilor care descrie metode de accesare a proprietăților și stării obiectelor și claselor.

applet
O componentă care rulează de obicei într-un browser Web sau orice alt vizualizator de applet.

container pentru applet
Un container care include suport pentru modelul de programare applet.

dispozitive
Dispozitive de rețea, cum ar fi imprimante, terminale cu tehnologie Java TM și clienți gestionați prin Java Management API (JMAPI).

asamblator de aplicații
O persoană care combină componente și module în module mari de dezvoltare.

client de aplicație
Un program client de prim nivel care rulează pe propria sa mașină virtuală Java.

container client de aplicație
Un container care acceptă aplicații client și oferă o vedere integrată a API-ului platformei J2EE.

modul client de aplicație
Un modul software constând din una sau mai multe clase și o descriere a aplicației client.

Furnizor de componente de aplicație
Un furnizor care oferă clase Java care implementează metode componente, definiții de pagini JSP și descriptori necesari.

model de programare a aplicațiilor (APM)
Un model de programare a aplicațiilor care definește modul de utilizare și combinare a capabilităților platformei J2EE pentru a crea soluții de aplicații într-un domeniu de întreprindere.

argument
Elementul de date specificat în apelul de metodă. Argumentul poate fi o constantă, o variabilă sau o expresie.

matrice
O colecție de elemente de date de același tip, în care poziția fiecărui element este determinată în mod unic de un număr întreg (index de matrice).

Cod standard american pentru schimbul de informații (ASCII)
În mod implicit, sunt alocați 7 biți per caracter. Vezi și Unicode.

atomic
O operație efectuată ca un singur act indivizibil.

autentificare
Procesul prin care o entitate indică alteia că acționează în numele unei anumite înregistrări de identitate. Platforma J2EE necesită trei tipuri de autentificare: de bază, bazată pe formular și reciprocă.

autentificare de bază (deschisă).
O metodă pentru un server Web de a valida un nume de utilizator și o parolă obținute printr-un mecanism de autentificare încorporat în clientul Web.

fasole
Componentă software reutilizabilă. Fasolea poate fi combinată pentru a crea o aplicație.

persistență gestionată de fasole
Un mecanism în care transferul de date între variabilele de instanță bean și managerul de resurse subiacent este controlat de bean.

tranzacție gestionată de fasole
Un bean enterprise definește limitele unei tranzacții.

operator binar
Un semn de operație care are două argumente.

pic
Cea mai mică unitate de informație dintr-un computer. Poate lua valori 0 sau 1.

operator pe biți
Un semn de operație care afectează operanzii ca un set de biți (0 și 1). De exemplu, operații logice binare (&, |, ^), operații binare de schimbare (<<, >>, >>>) și operatorul complement unar (~).

bloc
Orice cod din limbajul de programare Java TM cuprins între două acolade. De exemplu, (x = 1;).

boolean
Se referă la o expresie sau variabilă care poate lua doar două valori: adevărat și fals. În limbajul de programare Java TM, există un tip boolean, precum și constante literale adevărate și false.

casetă de încadrare
Cel mai mic dreptunghi care conține forma geometrică specificată. Pentru obiectele raster, include toți pixelii specificați.

pauză
Cuvânt cheie limbaj de programare Java TM. Instrucțiunea break transferă controlul liniei care urmează structura curentă. Dacă pauză este urmată de o etichetă, atunci programul continuă execuția pornind de la instrucțiunea „etichetat”.

lociga afacerii
Cod care implementează funcționalitatea aplicației. În modelul Enterprise Java Beans, această logică este implementată folosind metode enterprise bean.

metoda de afaceri
O metodă de tip enterprise bean care implementează logica de afaceri sau regulile unei aplicații.

octet
O secvență de opt biți. Limbajul de programare Java TM definește un tip de octet corespunzător.

cod octet
Cod independent de mașină generat de compilatorul Java și executat de interpretul Java.

metode de apel invers
O metodă de componentă numită de container pentru a notifica componenta evenimente importante din timpul ciclului său de viață.

operator apelant
Consultați Administratorul apelantului

administrator principal apelant
Administratorul care identifică obiectul care apelează metoda enterprise bean.

caz
Un cuvânt cheie din limbajul de programare Java (instrucțiune de comutare) care definește un set de instrucțiuni care sunt executate dacă valoarea expresiei switch se potrivește cu valoarea constantei (marcarea clauzei select) specificată în constructul case.

turnare
Conversie explicită de la un tip de date la altul.

captură
Un cuvânt cheie în limbajul de programare Java TM folosit pentru a declara un bloc de instrucțiuni care trebuie executat în cazul unei excepții sau erori de rulare care apare în blocul try precedent.

char
Un cuvânt cheie în limbajul de programare Java TM folosit pentru a declara o variabilă de tip caracter.

clasă
Un tip în limbajul de programare Java TM care definește implementarea unui tip special de obiect. O descriere a clasei definește o instanță a clasei, variabilele și metodele acesteia. Sunt definite și interfețele și superclasele. În mod implicit, superclasa oricărei clase este Object.

metoda clasei
O metodă care este apelată fără referire la un obiect specific. Metodele clasei afectează clasa ca întreg, nu o instanță specifică a acesteia.

Denumită și metodă statică. Vezi și metoda instanțelor.

calea clasei
O variabilă de mediu care spune mașinii virtuale Java TM și aplicațiilor Java (de exemplu, utilități situate în directorul JDK TM 1.1.X\bin) unde se află bibliotecile de clase, inclusiv bibliotecile utilizator.

O proprietate a unei mașini virtuale (JVM) care poate fi setată folosind o variabilă de mediu sau alte mijloace, cum ar fi opțiunile JVM.

variabila de clasa
O variabilă care se referă la o clasă ca un întreg, mai degrabă decât la instanțe individuale ale clasei. Variabilele de clasă sunt elemente ale definiției clasei.

Denumit și câmp static. Vezi și variabila de instanță.

client
În modelul de conexiune client-server, un client este un proces care accesează de la distanță resursele unui server de calcul.

adresa codului principal (bază de cod)
Când lucrați cu atributul de cod din eticheta APPLET, acesta specifică calea completă către fișierul de clasă principală al applet-ului: codul specifică numele fișierului, iar codebase specifică adresa URL a directorului care conține fișierul.

cometariu
Text explicativ dintr-un program care este ignorat de compilator. În aplicațiile Java TM, comentariile sunt evidențiate cu // sau /*…*/.

comite (tranzacție)
Momentul unei tranzacții în care toate modificările efectuate în timpul tranzacției sunt înregistrate în baza de date.

unitate de compilare
Cea mai mică unitate de cod sursă care poate fi compilată. În implementarea actuală a Java TM, o unitate de compilare este o secvență de definiții de interfață și de clasă, care poate fi precedată de o declarație de pachet și declarații de import.

compilator
Un program care traduce codul sursă al unei aplicații în cod care poate fi executat de un computer. Compilatorul Java TM traduce codul sursă scris în limbajul Java în cod independent de mașină (bytecode) pentru mașina virtuală Java. Vezi și interpret.

componentă
Un modul software susținut de un container. Componentele sunt configurabile în etapa de dezvoltare. Platforma J2EE definește patru tipuri de bean: enterprise beans, componente Web, applet-uri și aplicații client.

contract component
Un set de condiții care guvernează relația dintre o componentă și containerul său. Contractul include: managementul ciclului de viață al componentei, o interfață de context utilizată de componenta eșantion pentru a obține informații despre container sau utilizarea capabilităților containerului și o listă de funcționalități pe care fiecare container trebuie să le suporte pentru acea componentă.

mediul componentelor
Un set de cerințe, definite de furnizorul de componente de aplicație, care trebuie să fie puse la dispoziția unei componente J2EE. Intrările de mediu sunt definite declarativ în descrierea componentei. Fiecare componentă specifică și accesează valorile de configurare ale componentei folosind contextul JNDI java:comp/env. Aceste valori pot fi obiecte de care depinde componenta, cum ar fi o sursă de date JDBC, sau valori simple, cum ar fi o cotă de impozitare.

compunerea
Procesul de suprapunere a unei imagini peste alta pentru a crea o singură imagine.

conexiune
Consultați managerul de conexiuni.

fabrica de conexiuni
Consultați Connection Wizard Resource Manager.

conector
Un mecanism standard pentru extinderea containerelor pentru a permite interacțiunea cu Executive Information Systems (EIS). Conectorul este specific fiecărui EIS și constă dintr-un adaptor de resurse și instrumente de dezvoltare a aplicațiilor pentru a interacționa cu EIS. Adaptorul de resurse este conectat la container prin contracte la nivel de sistem definite în arhitectura conectorului.

arhitectura conectorului
O arhitectură concepută pentru a integra servere J2EE cu Executive Information Systems (EIS). Arhitectura constă din două părți: adaptorul de resurse pentru furnizorul EIS și serverul J2EE care acceptă adaptorul. Această arhitectură definește un set de contracte care trebuie să fie suportate de un adaptor de resurse pentru a se conecta la un server J2EE. De exemplu, tranzacții, securitate, managementul resurselor.

constructor
Un tip special de metodă care creează un obiect și își inițializează câmpurile. În limbajul de programare Java, numele constructorului este același cu numele clasei. Constructorii sunt apelați de către sistem la crearea unei instanțe a unui obiect (executarea noului construct).

const
Un cuvânt cheie rezervat pentru limbajul Java TM. Cu toate acestea, nu este folosit de versiunile curente de Java.

recipient
O entitate care furnizează servicii de management, securitate, dezvoltare și execuție pentru componente. În plus, fiecare tip de container (EJB, Web, JSP, servlet, applet sau aplicație client) oferă și propriile servicii specifice.

persistența gestionată de container
Un mecanism în care transferul de date între o instanță de tip enterprise bean și un manager de resurse subiacent este gestionat de un container enterprise bean.

tranzacție gestionată de container
O tranzacție ale cărei limite sunt definite de containerul EJB. Instanța enterprise bean trebuie să utilizeze tranzacții gestionate de container.

atribut de context
Un obiect încorporat în contextul asociat cu servletul.

continua
Un cuvânt cheie în limbajul de programare Java care denotă o instrucțiune care încheie iterația curentă a unei bucle și, dacă este îndeplinită condiția de repetare, începe execuția următoarei. Dacă cuvântul cheie dat este urmat de o etichetă, continuă reia execuția începând cu instrucțiunea marcată (adică începe următoarea iterație a buclei marcate cu eticheta dată).

stare conversațională
Valorile câmpurilor de sesiune ale bean-ului plus închiderea tranzitivă a obiectelor accesibile din câmpurile bean-ului. Închiderea tranzitivă a unui bean este definită în termenii protocolului de serializare a limbajului Java, care sunt stocate prin serializarea unei instanțe bean.

Common Object Request Broker Architecture - CORBA
O tehnologie pentru construirea de aplicații pentru obiecte distribuite, specificată de Object Management Group (OMG).

clasa de bază
O clasă publică (sau interfață) care este un membru standard al platformei Java TM. O caracteristică obligatorie a acestor clase este disponibilitatea lor pe orice sistem de operare care acceptă mediul Java. Un program scris „în întregime” în Java este un program care utilizează numai astfel de clase și, prin urmare, are proprietatea de a fi independent de platformă. Vezi și 100% Pure Java TM.

de bazăpachete(pachete de bază)
Setul necesar de interfețe de programare a aplicațiilor (API) ale platformei Java care este suportat în orice implementare.

metoda de creare
O metodă definită în interfața de acasă și apelată de client pentru a crea un bean enterprise.

acreditările
Un cont cu parametri de acces utilizator generați după autentificarea cu succes.

secţiunea critică
Un fragment de program în care un fir realizează acțiuni asupra unei resurse partajate la care accesul trebuie să fie exclusiv.

Compatibility Test Suite (CTS)
Un set de programe concepute pentru a verifica dacă produsele J2EE respectă specificațiile platformei J2EE.

declaraţie
O expresie care asociază un identificator cu atribute (tip). Dacă este necesar, se realizează alocarea memoriei (pentru date) sau execuție (pentru metode). Vezi și descriere.

Mod implicit
Un cuvânt cheie în limbajul de programare Java TM, utilizat opțional după toate condițiile de caz într-un bloc de comutare. Dacă niciuna dintre valorile testate nu se potrivește cu valoarea instrucțiunii switch, atunci instrucțiunile care urmează cuvântului cheie implicit sunt executate.

Descriere
O declarație care efectuează rezervarea memoriei (pentru date) sau execuție (pentru metode). Vezi și anunț.

delegație
Transferul (delegarea) funcțiilor este capacitatea unui obiect sau fir dintr-un obiect de a executa cereri către alte obiecte la distanță sub numele clientului.

administrator de implementare
O persoană care instalează module și aplicații J2EE pe un sistem de operare.

implementare
Procesul de instalare a software-ului în mediul de operare.

descriptor de implementare
Un fișier XML care vine cu fiecare modul și aplicație care descrie procesul de instalare. Descriptorul de implementare controlează instrumentele pentru instalarea unui modul sau a unei aplicații cu orice opțiuni specifice containerului și, de asemenea, descrie orice cerințe speciale de configurare.

„este un descendent” (derivat din)
O clasă X „este un descendent” al unei clase Y dacă clasa X extinde (moștenește) clasa Y. Vezi și subclasa, superclasa.

distribuite
Funcționează în mai mult de un spațiu de adrese.

aplicație distribuită
O aplicație care este alcătuită din diverse componente care rulează în medii diferite, de obicei pe diferite platforme conectate printr-o rețea. Aplicații distribuite standard: două niveluri (client/server), trei niveluri (client/middleware/server), n-tier (client/middleware multiplu/server).

do
Un cuvânt cheie în limbajul de programare Java TM folosit pentru a declara o buclă care repetă un bloc de instrucțiuni. Condiția de ieșire din buclă este determinată de cuvântul cheie while la sfârșitul iterației.

Document Object Model (DOM)
Un arbore de obiecte și interfețe pentru implementarea traversării vârfurilor arborelui și scrierea versiunii sale XML în conformitate cu specificația W3C.

dubla
Un cuvânt cheie în limbajul de programare Java TM folosit pentru a defini o variabilă de tip double.

precizie dubla
Conform specificației limbajului de programare Java TM, un număr în virgulă mobilă care ocupă 64 de biți de date. Vezi și precizie unică.

definiție tip document (DTD)
Descrierea structurii și proprietăților fișierelor XML.

EJB-container
Un container care conține fasole enterprise (EJB).

Furnizor de containere EJB
Furnizorul care furnizează containerul EJB.

EJB-context
Un obiect care permite unui bean enterprise să ruleze servicii container și să obțină informații despre programul care a numit metoda client.

Obiect EJB home
Un obiect care oferă ciclul de viață al operațiunilor (creare, ștergere, căutare) pentru un bean enterprise. Clasa pentru obiectul home EJB este generată de instrumentele de dezvoltare a containerului. EJB de origine implementează propria interfață enterprise bean. Clientul face referire la obiectul principal al EJB pentru a efectua operațiunile ciclului de viață al obiectului EJB. Clientul folosește interfața JNDI pentru a localiza obiectul acasă EJB.

Fișier EJB-.jar (fișier EJB .jar)
O arhivă JAR care conține un modul EJB.

Modulul EJB
Un modul software care constă dintr-unul sau mai multe bean-uri enterprise și un descriptor de instalare EJB.

obiect EJB
Un obiect a cărui clasă este implementată de o interfață la distanță a unui bean enterprise. Clientul nu face niciodată referire directă la o instanță enterprise bean, ci doar la un obiect EJB. Clasa pentru un obiect EJB este generată de instrumentele de dezvoltare incluse în container.

EJB-server
Software care oferă servicii unui container EJB. De exemplu, un container EJB depinde de obicei de un manager de tranzacții, care face parte din serverul EJB conceput pentru a finaliza tranzacțiile distribuite în două faze în paralel cu toți managerii de resurse participanți. Arhitectura J2EE presupune că serverul EJB care conține containerul EJB este furnizat de același furnizor, deci nu există un acord între cele două entități. Un server EJB poate conține unul sau mai multe containere EJB.

Furnizor de server EJB
Furnizorul care furnizează serverul EJB.

resursa sistemului informatic de management (resursa MIS) (resursa EIS)
O entitate care oferă funcționalități MIS clienților sistemului. De exemplu, o înregistrare sau un set de înregistrări într-un sistem de baze de date, un obiect de afaceri într-un sistem ERP (un sistem conceput pentru planificarea și gestionarea resurselor întreprinderii), un program de tranzacție într-un sistem de procesare a tranzacțiilor.

altfel
Un cuvânt cheie în limbajul de programare Java TM folosit pentru a executa un bloc de instrucțiuni dacă testul condiției într-o instrucțiune if eșuează (fals).

Tehnologie Java încorporatăTM (Java încorporattehnologie TM)
O tehnologie care a apărut pentru prima dată în cadrul platformei Java 2. Distribuția acestei tehnologii este limitată de un acord de licență care permite titularului de licență să utilizeze anumite tehnologii Java pentru a crea și implementa aplicații încorporate.

încapsulare
Localizarea (ascunderea) unei părți a datelor într-o clasă. Deoarece obiectele încapsulează date și implementare, utilizatorul poate vedea obiectul ca o cutie neagră care oferă servicii. Variabilele și metodele pe instanțe ale unei clase pot fi adăugate, eliminate sau modificate, dar atâta timp cât serviciile furnizate de obiect nu se modifică, nu este nevoie să rescrieți codul care utilizează obiectul. Vezi, de asemenea, variabila de instanță de clasă și metoda de instanță de clasă.

fasole intreprindere
O componentă care implementează o sarcină de afaceri sau un obiect de afaceri sau o entitate sau un bean de sesiune.

sistem informational de management - UIS (Enterprise Information System - EIS)
Aplicații care conțin sistemul de management al informațiilor existent al unei companii. Aceste aplicații oferă infrastructura informațională a întreprinderii. UIS oferă o anumită gamă de servicii clienților săi. Aceste servicii sunt prezentate clienților ca interfețe locale și/sau la distanță. Exemple de MIS: sistem ERP (un sistem conceput pentru planificarea și gestionarea resurselor întreprinderii), un sistem universal de procesare a tranzacțiilor, un sistem de baze de date existent.

Furnizor Enterprise Bean
Un programator de aplicații care dezvoltă bean-uri enterprise, interfețe locale și la distanță și fișiere descriptor de instalare și le împachetează într-un fișier EJB-.jar.

Enterprise JavaBeansTM - EJB
O arhitectură concepută pentru dezvoltarea și instalarea de aplicații de întreprindere, distribuite, orientate pe obiecte. Aplicațiile scrise folosind arhitectura Enterprise JavaBeans TM sunt scalabile, multi-utilizator și sigure.

fasole entitate
Un bean enterprise care afișează date persistente stocate într-o bază de date. O entitate este identificată printr-o cheie primară. Dacă containerul care deține entitatea este distrus, entitatea, cheia sa primară și orice referințe la distanță sunt păstrate.

ebXML
ebXML se bazează pe standardul XML (Extensive Markup Language) și este conceput pentru a oferi un set modular de specificații care permit companiilor de diferite dimensiuni și locații geografice să desfășoare afaceri prin Internet. ebXML oferă companiilor și organizațiilor o metodă standard pentru schimbul de informații de afaceri, desfășurarea relațiilor comerciale, transferul de date și definirea și înregistrarea proceselor de afaceri.

excepție
O situație care apare în timpul execuției programului din cauza unei operații nereușite sau programată folosind instrucțiunea throw. Dacă programul nu oferă o reacție la situația care a apărut, execuția ulterioară a programului este imposibilă. Limbajul de programare Java TM acceptă gestionarea excepțiilor folosind cuvintele cheie try, catch și throw. Vezi și gestionarea excepțiilor.

handler de excepții
Un bloc de cod care răspunde la un anumit tip de excepție. Dacă excepția a apărut din cauza unei erori după care programul poate relua execuția, programul continuă execuția după gestionarea excepțiilor.

context executabil
Un program care rulează dintr-un fișier HTML. Vezi și applet.

"se extinde"
Clasa X poate „extinde” clasa Y pentru a adăuga funcționalitate (prin adăugarea de câmpuri și metode la clasa Y sau suprascriind metode din clasa Y). În acest caz, se spune că clasa X este o subclasă a clasei Y. O interfață o „extinde” pe cealaltă prin adăugarea de metode. Vezi și „venit de la”.

metoda finder
O metodă definită în interfața de acasă și apelată de client pentru a găsi entitatea.

prima livrare către utilizatori (First Customer Ship - FCS)
Data lansării/transferului produsului către utilizator.

camp
Element de clasă. Până când se specifică altfel, câmpul nu este static.

terminal - final
Cuvânt cheie limbaj de programare Java TM. Declararea unei clase cu modificatorul final înseamnă că clasa nu poate fi extinsă sau moștenită. Metodele finale nu pot fi suprascrise, variabilele finale nu își pot schimba valoarea inițială.

in cele din urma
Un cuvânt cheie în limbajul de programare Java TM care specifică un bloc de operații care va fi efectuat indiferent dacă apare o excepție sau o eroare în blocul definit cu cuvântul cheie try.

pluti
Un cuvânt cheie în limbajul de programare Java TM utilizat pentru a defini un număr în virgulă mobilă.

pentru
Un cuvânt cheie în limbajul de programare Java TM folosit pentru a declara o buclă care repetă un bloc de instrucțiuni. Programatorul determină operațiile de efectuat, condițiile de ieșire din buclă, precum și unele acțiuni inițiale înainte de începerea primei iterații (inițializarea variabilelor de serviciu etc.).

autentificare bazată pe formular
Autentificare în care serverul Web emite un formular de conectare specializat.

FTP - protocol (File Transfer Protocol - FTP)
Protocol Internet bazat pe TCP\IP. Proiectat pentru a transfera fișiere între computere gazdă. Vezi și TCP\IP.

lista de parametri formali
Parametri specificați în descrierea metodei. Consultați și lista parametrilor actuali.

"colectarea gunoiului"
Detectează și eliberează automat memoria care nu mai este utilizată. Sistemul de rulare Java TM realizează colectarea gunoiului, astfel încât programatorul nu trebuie să apeleze direct metodele de eliberare a memoriei. Dacă este necesar, programatorul poate lansa în mod explicit colectorul de gunoi apelând o metodă specială. În acest caz, colectarea gunoiului va fi efectuată sincron.

mergi la
Un cuvânt rezervat al limbajului de programare Java TM. Cu toate acestea, nu este folosit în versiunile curente ale limbii.

grup
Colecția de utilizatori dintr-un anumit domeniu de politică de securitate.

interfață grafică cu utilizatorul (GUI)
O interfață grafică concepută pentru ușurința în utilizare a anumitor programe.

manipulator
Un obiect folosit pentru a identifica unic un bean enterprise. Clientul poate serializa manipulatorul și apoi îl poate deserializa pentru a obține o referință la enterprise bean.

hexazecimal Sistemul numeric de bază 16 Caracterele 0-9 și a-f reprezintă cifrele de la 0 la 15. Într-un program scris în limbajul Java TM, numerele hexazecimale trebuie să înceapă cu caracterele 0x. Vezi și octal.

ierarhie
O clasificare a relațiilor în care fiecare element, cu excepția celui de sus (numit rădăcină) este un tip specializat al elementului de deasupra acestuia. Fiecare element poate avea unul sau mai multe elemente sub el în ierarhie. În ierarhia claselor Java TM formată prin moștenire, rădăcina este clasa Object.

interfață de acasă
Una dintre cele două interfețe pentru un bean enterprise. Interfața de acasă poate defini mai multe metode pentru crearea și ștergerea unui bean enterprise. Pentru bean-urile de sesiune, interfața de acasă definește metodele de creare și ștergere, în timp ce pentru bean-urile de entitate, interfața de acasă definește metodele de creare, găsire și ștergere.

manipulator „acasă” (mâner de acasă)
Un obiect folosit pentru a obține o referință la interfața „acasă”. Manipulatorul „acasă” poate fi serializat și scris în ROM și, de asemenea, deserializat pentru a obține o referință.

Browser HotJavaTM (HotJava(TM) Browser)
Un browser web ușor de personalizat dezvoltat de Sun Microsystems și scris în limbajul de programare Java TM.

limbaj de marcare hipertext (HTML)
Un format de fișier pentru paginile hipertext de pe Internet bazat pe SGML. Foarte simplu și permite încorporarea de imagini, sunete, videoclipuri, câmpuri de formular, precum și formatare simplă a textului. Link-urile către alte obiecte sunt încorporate folosind URL-uri.

Protocolul de transfer hipertext (HTTP)
Un protocol de Internet bazat pe TCP/IP și conceput pentru accesarea obiectelor hipertext de pe un computer la distanță. Vezi și TCP/IP.

Protocol de transmisie hipertext (securizat - HTTPS)
HTTP în combinație cu SSL (Secure Sockets Layer) - un protocol securizat de socket.

Limbajul de definire a interfeței (IDL)
Interfețe de programare a aplicațiilor (API) scrise în limbajul Java TM care oferă interoperabilitate bazată pe standarde și interoperabilitate CORBA (Common Object Request Broker Architecture).

identificator
Numele unui element (variabilă, clasă, metodă etc.) al unui program scris în limbajul Java TM.

Protocolul Internet InterORB - IIOP
Un protocol care definește transmiterea mesajelor între obiectele din rețea folosind protocoale TCP/IP și este utilizat pentru comunicațiile între brokerii de solicitare a obiectelor CORBA.

dacă
Un cuvânt cheie în limbajul de programare Java TM conceput pentru a testa o condiție și a executa un bloc de instrucțiuni dacă testul este pozitiv (adevărat).

impersonarea
Procesul prin care o entitate își asumă identitatea și privilegiile altei entități fără ca aceasta să știe că a avut loc delegarea. Drepturile de împrumut este un caz de delegare simplă.

unelte
Un cuvânt cheie în limbajul de programare Java TM, inclus opțional într-o declarație de clasă, pentru a defini interfețele pe care le implementează clasa.

import
Un cuvânt cheie în limbajul de programare Java TM care specifică clase sau pachete întregi la care poate face referire un program, fără a include numele pachetelor în referință.

moştenire
Conceptul de clase care includ automat toate variabilele și metodele definite într-un supertip. Vezi și superclasă, subclasă.

parametru de inițializare
Un parametru care inițializează contextul asociat servlet-ului.

instanță
Obiect de clasă. În programele scrise în limbajul Java TM, o instanță a unei clase este creată folosind operatorul nou urmat de numele clasei de tip.

metoda instanței
Orice metodă care este apelată în numele unei instanțe a unei clase. Denumită și metodă simplă. Vezi metoda clasei.

variabila de instanta
Orice element de date asociat cu un obiect. Fiecare instanță a unei clase are propria copie a unei variabile definite în clasă. Denumit și câmp. Vezi variabila de clasă.

instanță de
Un cuvânt cheie în limbajul de programare Java TM care preia două argumente și testează dacă tipul primului argument este convertibil în tipul celui de-al doilea argument.

int
Un cuvânt cheie în limbajul de programare Java TM utilizat pentru a defini o variabilă de tip întreg.

interfață
Un cuvânt cheie în limbajul de programare Java TM folosit pentru a defini un set de metode și valori constante (un tip special de clasă). Interfața poate fi apoi implementată de clase care definesc această interfață cu cuvântul cheie implements.

Internet, rețea internațională de calculatoare (Internet)
O rețea uriașă formată din milioane de computere din multe organizații și țări din întreaga lume. Din punct de vedere fizic, Internetul este alcătuit dintr-un număr mare de rețele, iar datele sunt transmise folosind un singur set de protocoale.

Protocol Internet (IP)
Protocolul Internet de bază. Efectuează livrarea nesigură a pachetelor individuale de la un computer la altul. Nu oferă nicio garanție dacă coletul va fi livrat, cât timp va dura livrarea sau dacă pachetele de grup vor ajunge în ordinea în care au fost trimise. Protocoalele construite pe baza IP adaugă conectivitate și fiabilitate. Vezi și TCP/IP.

interpret
Un program care decodifică și execută fiecare instrucțiune de cod pe rând. Interpretul Java TM decodifică și execută cod pentru mașina virtuală Java*. Vezi, de asemenea, compilator, suport de program și sistem de execuție.

furnizor independent de software (ISV)
O companie care dezvoltă software pentru o platformă creată de o altă organizație.

Aplicație J2EE
Orice modul compozit care acceptă funcționalitatea J2EE. Acesta poate fi un singur modul sau un grup de module împachetate într-un fișier .war care conține un descriptor de găzduire a aplicației J2EE. Aplicațiile J2EE sunt de obicei proiectate astfel încât să fie distribuite pe mai multe straturi de calcul.

produs J2EE
Un produs de dezvoltare care respectă specificațiile platformei J2EE.

Furnizor de produse J2EE
Un furnizor care furnizează produse J2EE.

Server J2EE
Partea executabilă a unui produs J2EE. Serverul J2EE oferă containere Web și/sau EJB.

JAIN
Consultați Java API-uri pentru Integrated Networks TM.

Fișiere JAR (fișiere Java ARchive (.jar))
Un format de fișier folosit pentru a grupa mai multe fișiere într-unul singur.

Format de fișier JAR
Un format de fișier independent de platformă care combină mai multe fișiere într-unul singur. Aplicațiile compozite scrise în limbajul Java TM și componentele lor necesare (fișiere .class, imagini, sunet și alte fișiere) pot fi împachetate într-un fișier JAR și apoi încărcate în browser într-o singură tranzacție HTTP. Acest format acceptă, de asemenea, compresia fișierelor și semnăturile digitale.

JavaTM
O marcă comercială Sun pentru o serie de tehnologii pentru crearea și rularea software-ului în siguranță, atât în ​​medii offline, cât și în rețea.

JavaTM Application Environment - JAE
Versiunea codului sursă a software-ului Java Development Kit (JDKTM).

API-uri Java pentru rețele integrateTM - JAIN
Permite dezvoltarea rapidă a produselor și serviciilor care utilizează interacțiunile de rețea pe platforma Java.

Platforma J2SE (JavaPlatformă TM 2, ediție standard (platforma J2SE))
Nucleul platformei tehnologice Java.

Platforma J2EE (JavaPlatforma TM 2, Enterprise Edition (platforma J2EE))
Mediu pentru dezvoltarea aplicațiilor pentru întreprinderi. Platforma J2EE constă dintr-un set de servicii, interfețe de programare a aplicațiilor (API) și protocoale care oferă funcționalitate pentru dezvoltarea de aplicații Web cu mai multe niveluri.

JavaTM 2 SDK, Enterprise Edition
Implementarea platformei J2EE a Sun. Această implementare include o descriere a modului în care funcționează platforma J2EE.

JavaBeansTM
Un model pentru componente portabile, independente de platformă, reutilizabile.

Java BlendTM
Un produs care permite unui dezvoltator să simplifice dezvoltarea aplicațiilor de baze de date prin maparea înregistrărilor bazei de date în obiecte limbaj Java TM și obiecte Java în baze de date.

Cardul JavaTM API
API pentru sisteme cu un set minim de resurse, în special pentru carduri inteligente. Mediu software de aplicație compatibil cu standardul ISO 7816-4 pentru carduri inteligente.

JavaCheckTM
Un instrument pentru verificarea conformității aplicațiilor și applet-urilor Java.

JavaChipTM
Un procesor Sun care rulează codul octet al mașinii virtuale Java*. Pe un computer cu procesor JavaChip TM, bytecode-ul ocolește emularea unei mașini Java pe orice platformă, fiind executat direct de procesorul hardware.

JavaKit de compatibilitate TM (JCK)
Un set de programe de testare și instrumente utilizate pentru a verifica compatibilitatea unei implementări a unei platforme Java cu specificațiile corespunzătoare ale platformei Java, precum și cu implementările de referință ale programelor Java. TCK pentru Java 2 Standard Edition. Vezi TCK.

interfațăJDBC (Java Database Connectivity - JDBCTM)
Standardul industrial pentru interoperabilitatea independentă de baze de date între platforma Java TM și o gamă largă de baze de date. JDBC TM definește un API pentru accesarea bazelor de date din aplicațiile Java.

Conexiune pentru dezvoltatori Java
Un serviciu conceput pentru dezvoltatori individuali, care oferă instruire online, reduceri la produse, articole speciale, informații despre erori și acces anticipat la produse noi.

Kit de dezvoltare Java (JDK)TM)
Un mediu de programare pentru scrierea de applet-uri și aplicații în limbajul de programare Java.

JavaTM Cadrul Comertului Electronic
O arhitectură structurată pentru dezvoltarea aplicațiilor de comerț electronic în limbajul de programare Java TM.

JavaTM Enterprise API
Acest API facilitează crearea de aplicații la scară largă și de aplicații de baze de date care partajează date media cu alte aplicații din cadrul unei organizații sau pe Internet. Familia Java TM Enterprise API are patru interfețe de programare a aplicațiilor.

Biblioteca clasei de bază Java (JavaTM Foundation Classs - JFC)
Biblioteci suplimentare de clase pentru Interfața grafică utilizator (GUI) adăugate la Abstract Window Toolkit (AWT).

JavaTM IDL
Tehnologie care oferă interoperabilitate și interoperabilitate între platformele CORBA și J2EE. Aceste capabilități permit aplicațiilor J2EE să apeleze operațiunile de servicii de rețea la distanță folosind OMG IDL și IIOP.

JavaLimbajul de definire a interfeței TM (IDL)
API-uri scrise în limbajul de programare Java care oferă interoperabilitate și interoperabilitate cu CORBA (Common Object Request Broker Architecture).

JavaMailTM
API pentru trimiterea și primirea mesajelor.

JavaTM Media API-uri
Un set de interfețe de programare a aplicațiilor (API) pentru integrarea fișierelor audio și video, fonturi 2D, grafică și imagini, precum și modele 3D și telefonie.

JavaTM Media Framework
Cadrul de bază menține un ceas pentru a sincroniza diferite fluxuri (de exemplu, semnale audio și video). Cadrul de extensie Standard permite utilizatorilor să organizeze fluxuri de informații audio și video.

JavaServiciul de mesaje TM - JMS
Interfață de programare a aplicațiilor (API) pentru utilizarea sistemelor de mesagerie pentru întreprinderi, cum ar fi IBM MQ Series, TIBCO Rendezvous etc.

Interfață Java de denumire și directorTM (JNDI)
API standard pentru servicii de directoare ale întreprinderii.

Sistem de operare Java (JavaOSTM)
Un sistem de operare bazat pe tehnologia Java TM și optimizat pentru a funcționa pe diverse platforme. Mediul de operare JavaOS TM permite aplicațiilor Java să ruleze direct pe platforme hardware, ocolind sistemul de operare gazdă.

JavaPlanTM
Un instrument de proiectare și diagramă orientat pe obiecte scris în limbajul de programare Java TM.

Platforma JavaTM (JavaPlatforma TM)
Constă din limbajul Java pentru scrierea programelor, un set de interfețe de programare a aplicațiilor (API), biblioteci de clase, alte programe utilizate în dezvoltare și compilare, programe de verificare a erorilor și o mașină virtuală Java care încarcă și execută fișiere de clasă.

În plus, platforma Java este supusă unui set de cerințe de compatibilitate pentru a asigura implementări consistente și compatibile. Implementările care îndeplinesc cerințele de compatibilitate se pot califica pentru o anumită marcă de compatibilitate Sun. Java 2 este generația actuală a platformei Java.

Edițiile platformei Java (JavaTM Platform Editions)
O „ediție” a platformei Java este versiunea finală și consistentă a platformei Java care oferă funcționalitatea cerută de un sector larg al pieței.

Ediția este compusă din două tipuri de API-uri: (i) „pachete de bază”, care sunt necesare pentru toate implementările acestei ediții a platformei; (ii) „pachete opționale” care sunt disponibile pentru o anumită ediție de platformă și pot fi susținute de implementări compatibile.

Există trei ediții diferite ale platformei Java:

Platformă Java 2, ediție Enterprise:
O ediție enterprise a platformei Java pentru dezvoltarea și dezvoltarea de aplicații multi-nivel gestionate de un server central.

Platformă Java 2, ediție standard:
O ediție de platformă Java concepută pentru proiectarea, dezvoltarea și gestionarea aplicațiilor universale multiplatforme.

Platformă Java 2, ediție micro:
O ediție de platformă Java concepută pentru consumatorii mici, autonomi, pentru a proiecta, dezvolta și gestiona aplicații, de la carduri inteligente la dispozitive de calcul obișnuite.

JavaInvocarea metodei de la distanță TM (RMI)
Un model de obiect distribuit pentru un program Java în care metodele și obiectele de la distanță scrise în limbajul de programare Java pot fi apelate de o altă mașină virtuală Java, eventual situată pe un alt computer.

JavaTM Runtime Environment (JRE)
Un subset al Java Developer Kit (JDK TM) pentru utilizatorii finali și dezvoltatorii care doresc să-și personalizeze mediul de rulare. Instrumentele de operare includ mașina virtuală Java*, clasele de bază Java și fișierele de asistență.

JavaSafeTM
Un instrument pentru urmărirea și gestionarea modificărilor unui fișier sursă scris în limbajul de programare Java.

Limbajul de scriptare JavaScript (JavaScript)TM)
Un limbaj de scripting folosit atât de browsere, cât și de serverele web. La fel ca toate limbajele de scripting, este conceput în primul rând pentru integrarea componentelor și a intrărilor utilizatorului.

Pagini de server JavaTM (JSP) O tehnologie Web extensibilă care utilizează date șablon, elemente personalizate, limbaje de scripting și obiecte server Java pentru a furniza conținut dinamic clientului. De obicei, datele șablonului sunt elemente HTML sau XML, iar clientul este un browser Web.

JAX
JAX se referă la un set de interfețe de programare a aplicațiilor (API) care sunt concepute pentru a gestiona diverse operațiuni care implică date definite prin XML. Acestea includ operațiuni precum analizarea XML, înregistrarea cu depozitele ebXML sau UDDI, mesageria între aplicații, legarea datelor și apelurile la procedurile de la distanță.

Acțiune Java Server PagesTM (JSP) (acțiune JSP)
Un element JSP care poate acționa asupra obiectelor implicite și a altor obiecte server sau poate defini variabile noi de creare de script. Acțiunile urmează sintaxa XML pentru elementele cu etichetă de început, corp și etichetă de final; dacă corpul este gol, poate fi utilizată sintaxa etichetei goale. Eticheta trebuie să folosească un prefix.

acțiune standard Java Server PagesTM (acțiune JSP, standard)
O acțiune care este definită de specificația JSP și este întotdeauna disponibilă pentru fișierul JSP fără a fi importată.

Acțiune specială Java Server PagesTM (acțiune JSP, personalizat)
O acțiune descrisă folosind etichete și un set de clase Java incluse într-o pagină JSP folosind descriptori de etichete.

aplicație JSP
O aplicație web autonomă scrisă folosind tehnologia Java Server Pages și care include fișiere JSP, servlet-uri, fișiere HTML, imagini, applet-uri și componente JavaBeans.

Container JSP
Un container care oferă aceleași servicii ca și un container de servlet, precum și un mecanism pentru interpretarea și procesarea paginilor JSP în servlet-uri.

Container JSP, distribuit
Un container JSP care poate rula aplicații Web care sunt etichetate ca distribuite și rulează simultan pe mai multe mașini virtuale Java. În acest caz, mașinile virtuale pot fi lansate atât pe unul, cât și pe computere diferite.

Declarație JSP
Un element de scripting JSP care declară metode și variabile într-un fișier JSP.

Directiva JSP
Un element JSP care dă comenzi containerului JSP și este interpretat în timpul traducerii.

element JSP
Partea paginii JSP care este recunoscută de traducătorul JSP. Un element JSP poate fi o directivă, o acțiune sau un element de script.

Expresia JSP
Un element de script care conține o expresie validă a limbajului de scripting, evaluată, convertită într-un șir și plasată într-un obiect de ieșire implicit.

fișier JSP
Un fișier cu extensia .jsp care este creat de dezvoltator folosind etichete HTML standard, etichete JSP de bază și instrucțiuni ale limbajului de scripting pentru a afișa pagini dinamice într-un browser Web.

Pagina JSP
Un document text care utilizează date de șablon fixe și elemente JSP. Descrie modul de procesare a unei cereri.

Element de script JSP
O declarație JSP, un scriptlet sau o expresie a cărei sintaxă este definită de specificația JSP și al cărei conținut este scris în conformitate cu limbajul de scripting utilizat în pagina JSP. Specificația JSP descrie sintaxa și semantica atunci când atributul limbajului paginii este java.

Scriptlet JSP
Un element de script JSP care conține orice fragment de cod care este valid în limbajul de scriptare utilizat în pagina JSP. Specificația JSP definește ce este un scriptlet valid atunci când atributul de limbaj al paginii este java.

Eticheta JSP
Textul dintre parantezele unghiulare stânga și dreapta care este utilizat în fișierele JSP ca parte a elementului JSP. Spre deosebire de date, o etichetă este un element de marcare a documentului, deoarece este evidentiat cu paranteze unghiulare.

Biblioteca de etichete JSP
O colecție de etichete descrise folosind descriptori de bibliotecă și clase Java. Biblioteca de etichete JSP poate fi importată în orice fișier JSP și utilizată cu o varietate de limbaje de scripting.

Java StudioTM
Un set de instrumente pentru construirea de programe Java din componente gata făcute, bazat pe un stil de design vizual și destinat non-programatorilor.

Tehnologii Java (JavaTehnologii TM)
O gamă de tehnologii pentru crearea și operarea în siguranță a software-ului, atât în ​​medii offline, cât și în rețea.

JavaTM Transaction API (JTA)
Un API care permite aplicațiilor și servlet-urilor J2EE să acceseze tranzacții.

JavaServiciul de tranzacții TM (JTS)
Definește o implementare a managerului de tranzacții care acceptă JTA și implementează o mapare Java a specificației OMG Object Transaction Service (OTS) 1.1 în aval de API.

Mașină virtuală Java* (Javamașină virtuală TM - JVM*)
Un „motor de execuție” software care execută în siguranță codurile de octet ale fișierelor de clasă Java de pe microprocesor (al unui computer sau alt dispozitiv electronic).

Motorul de execuție Java HotSpot este un motor de execuție Java extrem de eficient, care oferă un compilator adaptiv care optimizează dinamic performanța aplicației.

Mașina virtuală KJava este un mediu de rulare de dimensiuni mici, foarte optimizat, în Platforma Java 2, Micro Edition. KJava este dezvoltat pe baza mașinii virtuale Java și este conceput pentru dispozitive de comunicare mici. Dimensiunea sa variază de la 30 la 128 KB, în funcție de funcționalitatea dispozitivului.

Java Card Virtual Machine este un mediu de rulare de bază mic, foarte optimizat, în Platforma Java 2, Micro Edition. KJava este dezvoltat pe baza mașinii virtuale Java și este destinat cardurilor inteligente și altor dispozitive cu memorie limitată (aproximativ 24Kb ROM, 16Kb EEPROM și 512B RAM).

Server Web JavaTM)
O soluție convenabilă, deschisă, ușor de administrat, sigură, independentă de platformă pentru accelerarea și simplificarea dezvoltării paginilor Web Internet/Intranet. Oferă îmbunătățiri imediate de performanță pentru aplicațiile server Java solicitante, cu funcții complete.

Atelier JavaTM
Un set complet de instrumente integrate într-un singur mediu de programare folosind tehnologii Java. Software-ul Java Workshop utilizează o structură modulară care facilitează adăugarea de noi instrumente.

Javaportofel TM
O interfață de utilizator bazată pe cadrul Java TM Electronic Commerce pentru cumpărături interactive, transfer de date și funcții administrative.

JavaSpacesTM
O tehnologie care conține mecanisme pentru lucru distribuit și schimb de date la programare în limbajul Java TM.

JavaSoftTM
Fostă subsidiară a Sun Microsystems, este acum cunoscută sub numele de divizia Sun Microsystems Java Software.

JDBCTM
Consultați interfața JDBC (Java Database Connectivity - JDBC TM).

JDKTM
Consultați setul de dezvoltare Java (JDK TM).

J.F.C.
Consultați Java TM Foundation Classes (JFC).

Tehnologia JiniTehnologia TM)
Un set de interfețe de programare a aplicațiilor Java (API) care pot fi incluse ca pachet suplimentar pentru orice ediție a platformei Java 2 Jini permite ca mai multe dispozitive și servicii să funcționeze împreună într-o rețea și elimină nevoia de sistem sau de rețea intervenția administrativă a utilizatorului.

În prezent, tehnologia Jini este un pachet opțional disponibil oricărei platforme Java.

JavaTM Management API - JMAPI
Un set de clase și interfețe Java care permit dezvoltatorului să creeze aplicații de sistem, de rețea și de servicii.

JMS
Consultați Serviciul de mesaje Java TM.

interfață JNDI
Consultați Java Naming and Directory Interface TM.

Standard JPEG (Joint Photographic Experts Group - JPEG)
Un standard de compresie a fișierelor de imagine stabilit de un grup de experți în procesarea imaginilor fotografice. Compresia ridicată vine cu prețul introducerii unei distorsiuni în imagine, care este aproape întotdeauna de neobservat.

JRE
Consultați Java TM Runtime Environment.

Compilatorul JIT (Compilatorul Just-in-time (JIT))
Un compilator care convertește în mod dinamic („din zbor”) bytecode în cod obiect al platformei țintă. Utilizarea acestuia duce la o accelerare semnificativă a execuției unui program Java.

JVM
Vedeți mașină virtuală Java*.

cuvânt cheie
Un cuvânt care este rezervat de limbajul de programare Java TM și, prin urmare, nu poate fi numele unei variabile sau al unei metode.

lexical
Corespunzător nivelului de lexeme (identificatori, numere, imagini în șir etc.) ale limbajului de programare. Analiza lexicală este faza compilatorului în care o secvență de caractere dintr-un fișier text sursă este convertită într-o secvență de jetoane.

linker
Un modul care formează un program complet rulabil din modulele componente de cod de mașină. Linkerul Java TM creează un program care rulează din clase compilate. Vezi și compilator, interpret, sistem de suport pentru execuția programului.

literal
Reprezentarea de bază a oricărui număr întreg, caracter sau valoare în virgulă mobilă. De exemplu, 3.0 este un literal cu virgulă mobilă cu precizie dublă, „a” este un caracter literal.

variabilă locală
Un element de date care este cunoscut într-un bloc, dar care nu este accesibil în afara blocului. De exemplu, orice variabilă definită în interiorul unei metode este locală și nu poate fi utilizată în afara acelei metode.

lung
Un cuvânt cheie în limbajul de programare Java TM folosit pentru a defini variabile lungi.

element (membru)
Domeniul sau metoda unei clase. Dacă nu se menționează altfel, un membru nu este static.

metodă
O funcție definită într-o clasă. Vezi și metoda instanței, metoda clasei. Dacă nu se specifică altfel, o metodă nu este statică.

permisiunea metodei
Permisiune de a apela un grup specificat de metode pe interfața de acasă sau la distanță a unui bean enterprise.

modul
Un modul software care constă din una sau mai multe componente J2EE aparținând unui container de același tip și un descriptor de găzduire pentru acel tip. Există trei tipuri de module: EJB, aplicații web și client. Modulele pot fi utilizate independent sau asamblate în aplicații.

Mozaic
Un program cu o interfață grafică simplă (GUI) conceput pentru acces ușor la datele stocate pe Internet. Datele pot fi fișiere obișnuite sau documente hipertext. Mozaicul a fost dezvoltat la NCSA.

multifile
Descrie un program conceput și implementat ca un set de fire de control paralele, sincronizate între ele pe baza resurselor și evenimentelor partajate. Vezi și flux.

autentificare reciprocă
Procesul prin care un client folosește un certificat de cheie publică pentru a-și stabili identitatea și pentru a menține securitatea contextului său.

nativ
Un cuvânt cheie în limbajul de programare Java TM utilizat într-o declarație de metodă pentru a indica faptul că metoda este implementată într-un alt limbaj decât un fișier Java.

Centrul Național pentru Aplicații pentru Supercomputer (NCSA)
Centrul de cercetare unde a fost dezvoltat programul Mozaic.

nou
Un cuvânt cheie în limbajul de programare Java TM folosit pentru a crea o nouă instanță a unei clase.

nul
Tipul nul are o singură valoare, o referință „nulă” reprezentată de literalul nul, care este format din caractere ASCII. Literalul nul este întotdeauna de tip null.

obiect
Elementul de bază al programelor orientate pe obiecte. Fiecare obiect al modulului software constă din date (variabile de instanță) și funcționalitate (metode de instanță). Vezi și clasa.

design orientat pe obiecte
O tehnică de proiectare software care vă permite să modelați obiecte abstracte sau reale folosind clase și obiecte.

octal
Sistemul numeric se bazează pe 8. Semnele 0-7 reprezintă numere. Într-un program scris în limbajul Java TM, numerele octale trebuie să înceapă cu caracterul 0. Vezi și hexazecimal.

mediu de rețea deschis (Open Net Environment - ONE)
Un mediu de rețea care a fost dezvoltat de Sun Microsystems și susținut de mulți producători de top. Descrie o arhitectură cuprinzătoare pentru crearea, asamblarea și consumarea serviciilor de rețea. ONE este independent de platformă și se bazează complet pe standarde deschise. Sun ONE este o implementare specifică a acestei arhitecturi dezvoltată de Sun și iPlanet.

Pachet optional
Un set de API-uri într-o ediție de platformă Java care poate fi disponibilă sau acceptată într-o implementare compatibilă.

Dacă este necesar, în publicație pot deveni necesare pachete suplimentare.

broker de solicitare a obiectelor (ORB)
O bibliotecă care permite obiectelor CORBA să se găsească și să comunice între ele.

Principalul OS
O proprietate (principal) inerentă sistemului de operare pe care rulează platforma J2EE.

Serviciul de tranzacții cu obiecte (OTS)
Interfețe care permit obiectelor CORBA să participe la tranzacții.


Utilizarea unui singur identificator pentru a face referire la elemente diferite din același domeniu. În limbajul de programare Java TM, puteți supraîncărca metode, dar nu puteți supraîncărca variabile sau operatori.

depășind
Se referă la o altă implementare a unei metode într-o subclasă a clasei care a definit inițial metoda.

pachet
Grup de tip. Pachetele sunt declarate folosind cuvântul cheie pachet.

pasivare
Procesul de transfer al unui bean enterprise din memorie pe un dispozitiv de stocare secundar. Vezi și activare.

egal
În rețea, orice unități funcționale situate la același nivel.

persistenţă
Un protocol pentru transferul stării unui bean entitate între variabilele sale de instanță și baza de date.

PersonalJavaTM
Un mediu de rulare Java pentru aplicații în rețea pe dispozitivele personale ale consumatorilor (utilizare acasă, mobil sau birou).

pixel
Un element al zonei unei imagini, cum ar fi un ecran de monitor sau o pagină imprimată. Fiecare pixel este accesibil individual.

Adaptor pentru obiecte portabile - POA
Un standard CORBA pentru crearea de aplicații server care sunt portabile între diferiți brokeri de solicitare a obiectelor (ORB).

interfata sistemului de operare portabil (POSIX)
Un standard care definește interfața de limbă dintre sistemul de operare UNIX și programele de aplicație printr-un set minim de funcții acceptate.

cheia principala
Un obiect care identifică în mod unic o entitate (entity bean).

principiu
O caracteristică distinctivă atribuită unei entități ca urmare a autentificării.

privat
Un cuvânt cheie în limbajul de programare Java TM folosit la declararea unei metode sau variabile. Indică faptul că o metodă sau o variabilă a unei clase nu poate fi accesată de membrii altor clase.

privilegiu
Un atribut de securitate care nu are o proprietate unică și care poate fi utilizat de mai mulți directori. Un exemplu de privilegiu este un grup.

proces
Un spațiu de adrese virtuale care conține unul sau mai multe fire.

proprietate
O caracteristică a unui obiect care poate fi setată de utilizator. De exemplu, culoarea ferestrei.

profiluri
Seturi Java API care completează edițiile platformei Java și oferă funcționalități suplimentare. Profilurile pot include și alte profiluri specifice. Implementarea profilului necesită ediția Java Platform pentru a crea o dezvoltare și un mediu complet pentru utilizarea sa pe piața verticală țintă. Fiecare profil este supus unui set asociat de cerințe de compatibilitate.

Profilurile pot fi folosite de una sau mai multe publicații.

Exemple de profiluri în Java 2 Platform, Micro Edition: PersonalJava TM, Java Card TM.

protejat
Un cuvânt cheie în limbajul de programare Java TM folosit la declararea unei metode sau variabile. Indică faptul că o metodă sau variabilă a unei clase poate fi accesată de alți membri ai clasei, subclasele sau clasele din același pachet.

privat
Un cuvânt cheie în limbajul de programare Java TM folosit la declararea unei metode sau variabile. Indică faptul că o metodă sau variabilă a unei clase poate fi accesată de membrii altor clase.

raster
Grilă dreptunghiulară bidimensională de pixeli.

tărâm
Consultați zona politicii de securitate. Un șir care trece autentificarea de bază ca parte a unei solicitări HTTP care definește spațiul de securitate. Resursele protejate de pe un server pot locui în spații de securitate diferite, fiecare cu propria sa schemă de autentificare și/sau bază de date de autorizare.

reintrant enterprise bean
Un bean enterprise care poate gestiona mai multe apeluri simultane sau imbricate care nu se suprapun între ele.

implementare de referință (RI)
O implementare prototip a specificației tehnologiei Java. Este o parte integrantă a oricărei tehnologii Java și servește drept dovadă că această tehnologie Java poate fi implementată în practică.

interfață la distanță
Una dintre cele două interfețe enterprise bean. Interfața de la distanță definește metodele de afaceri apelate de client.

metoda de eliminare
O metodă definită în interfața de acasă și apelată de client pentru a distruge bean-ul enterprise.

adaptor de resurse
Un driver software la nivel de sistem utilizat de un container EJB sau de o aplicație client pentru a comunica cu EIS. Adaptorul de resurse este specific fiecărui EIS. Este o bibliotecă și este utilizată în spațiul de adrese al serverului sau clientului care utilizează adaptorul. Adaptorul de resurse se conectează la container. Componentele aplicației conținute într-un container utilizează un API (reprezentat de un adaptor) sau abstracții de nivel înalt generate de instrument pentru a accesa EIS de nivel scăzut. Adaptorul de resurse și containerul EJB interacționează pentru a oferi mecanisme de nivel scăzut - tranzacții, securitate, conectivitate pooling - pentru a comunica cu EIS.

manager de resurse
Oferă clientului acces la un set de resurse disponibile public. Managerul de resurse este implicat în tranzacții care sunt gestionate și coordonate de managerul de tranzacții. Managerul de resurse este de obicei situat într-un spațiu de adrese diferit sau pe o altă mașină. Notă: EIS este denumit manager de resurse atunci când este menționat în contextul gestionării resurselor și a tranzacțiilor.

conexiunea managerului de resurse
Un obiect care reprezintă o sesiune cu un manager de resurse.

fabrică de conexiuni manager de resurse
Un obiect folosit pentru a crea o sesiune cu managerul de resurse.

întoarcere
Un cuvânt cheie în limbajul de programare Java TM folosit pentru a termina execuția unei metode. Poate fi urmată de valoarea returnată a metodei.

cererepeîmbunătăţire(Solicitare de îmbunătățire - RFE)

RMI
Consultați Invocarea metodei de la distanță Java TM.

rol (dezvoltare)
O funcție îndeplinită de un om în timpul fazei de dezvoltare a unei aplicații dezvoltate folosind tehnologia J2EE. Exemple de roluri: Furnizor de componente de aplicație, asamblator de aplicații, implementator, Furnizor de platformă J2EE, Furnizor de containere EJB, Furnizor de server EJB Furnizor de server EJB, Furnizor de containere web, Furnizor de server web, Furnizor de instrumente, Administrator de sistem.

rol de securitate (rol (securitate))
O grupare logică abstractă a utilizatorilor realizată de către generatorul de aplicații. Când o aplicație este instalată, rolurile sunt mapate la identități de securitate, cum ar fi principali sau grupuri.

maparea rolurilor
Procesul de combinare a grupurilor recunoscute de container în roluri de securitate care sunt definite în descriptorul de implementare. Rolurile de securitate trebuie create de „gazdă” înainte de a instala containerul pe server.

rollback
Punctul dintr-o tranzacție în care toate modificările făcute în baza de date sunt anulate.

rădăcină
Elementul ierarhiei din care provin toate elementele. Niciun element nu poate fi mai înalt decât „rădăcina” în ierarhie. Vezi și ierarhie, clasă, pachet.

apel de procedură la distanță (RPC)
Un protocol care permite aplicațiilor să apeleze proceduri care sunt situate fizic în altă parte a rețelei.

sistem de rulare
Un mediu software în care pot rula programele compilate pentru mașina virtuală Java TM*. Sistemul de suport pentru runtime include tot codul necesar pentru a încărca programe Java, a lega dinamic metodele native, a gestiona memoria, a gestiona excepțiile și pentru a implementa mașina virtuală Java.

API simplă pentru XML (API simplă pentru XML - SAX)
Un mecanism secvenţial bazat pe evenimente pentru accesarea documentelor XML.

Cutie cu nisip
Conține multe componente de sistem interoperabile, de la manageri de securitate care rulează ca parte a aplicației până la măsuri de securitate integrate direct în mașina virtuală Java* și limbajul Java. Sandbox se asigură că aplicațiile neîncrezătoare și posibil rău intenționate nu pot accesa resursele sistemului.

domeniul de aplicare
O caracteristică a unui identificator care determină unde poate fi utilizat identificatorul. Majoritatea identificatorilor din limbajul de programare Java au fie un domeniu de aplicare local, fie unul de clasă. De exemplu, variabilele și metodele de clasă, domeniul de aplicare este clasa; pot fi folosite în afara unei clase și a subclaselor acesteia numai dacă sunt precedate de numele unei instanțe a clasei sau (în cazul variabilelor și metodelor de clasă) de numele clasei în sine. Toate celelalte variabile sunt declarate în cadrul metodelor și au domeniu de aplicare local; ele pot fi utilizate numai în cadrul unui bloc.

protocol de conectare securizată (Secure Socket Layer - SSL)
Un protocol care permite ca mesajele trimise între un browser Web și un server să fie criptate din motive de securitate.

atribute de securitate
Un set de proprietăți asociate cu principalul. Atributele de securitate pot fi asociate cu principalul printr-un protocol de autentificare și/sau un furnizor de produse J2EE.

constrângere de securitate
O modalitate declarativă de adnotare a protecției necesare a conținutului rețelei. Restricția de securitate constă dintr-un set de resurse Web, restricții de autorizare și restricții privind datele utilizatorului.

context de securitate
Un obiect care include proprietăți partajate pentru a descrie securitatea entităților.

permisiunea de securitate
Un mecanism definit de J2SE și utilizat de platforma J2EE pentru a defini constrângerile software impuse furnizorilor de componente de aplicație.

set de permisiuni de securitate
Setul minim de drepturi de securitate oferite de Furnizorul de componente de aplicație pentru a rula fiecare tip de componentă.

domeniul politicii de securitate
Zona în care politica de securitate este definită și aplicată de administrator. Domeniul politicii de securitate are următoarele caracteristici:

  • are un set de utilizatori (sau principali);
  • utilizează un protocol de autentificare a utilizatorului (sau a principalilor) bine definit;
  • poate avea grupuri pentru a simplifica configurarea politicii de securitate.

rol de securitate
Vezi rolul (securitatea).

domeniul tehnologiei de securitate
O zonă în care același mecanism este utilizat pentru a aplica politica de securitate. Într-o singură zonă de tehnologie de securitate, pot exista mai multe domenii de politică de securitate.

principalul serverului
Principiul OS după care funcționează serverul.

servlet
Un program Java care extinde funcționalitatea unui server Web prin generarea dinamică de conținut și interacțiunea cu clienții Web folosind o abordare cerere-răspuns.

container servlet
Un container care oferă servicii de rețea prin care sunt trimise cereri și răspunsuri, cererile sunt decodificate și răspunsurile sunt formatate. Toate containerele de servlet trebuie să accepte protocolul HTTP, dar pot suporta și protocoale suplimentare, cum ar fi HTTPS.

container servlet distribuit (container servlet, distribuit)
Un container de servlet care rulează aplicații Web care sunt marcate ca distribuite și rulează pe mai multe mașini virtuale Java. În acest caz, mașinile virtuale pot fi lansate atât pe unul, cât și pe computere diferite.

contextul servletului
Un obiect care conține o reprezentare (vizualizare) a aplicației Web în care rulează servletul. Folosind un context, un servlet poate înregistra evenimente, poate obține URL-uri către resurse și poate seta și stoca atribute care pot fi utilizate de alte servlet-uri din aplicație.

mapare servlet
Definește relația dintre o structură URL și un servlet. Folosit pentru a mapa cererile către servlet-uri. Dacă containerul care procesează cererea este un container JSP, atunci URL-ul care conține extensia .jsp este redat implicit.

sesiune
Un obiect folosit de un servlet pentru a urmări interacțiunile utilizatorului cu o aplicație web prin mai multe solicitări HTTP.

fasole de sesiune
Un bean enterprise care este creat de client și există de obicei pentru o singură sesiune client-server. Sesiunea bean efectuează operații de calcul pentru client și organizează accesul la baza de date. Dacă sistemul se blochează, bean-ul de sesiune nu este restaurat. Obiectele Session Bean nu își pot schimba starea sau nu mențin starea de dialog în timpul executării metodelor și tranzacțiilor. Dacă un obiect menține starea, atunci containerul EJB gestionează acea stare dacă obiectul trebuie eliminat din memorie. Cu toate acestea, obiectele sesiune bean trebuie să își gestioneze propriile date stocate.

mic de statura
Un cuvânt cheie în limbajul de programare Java TM folosit pentru a defini variabile scurte.

precizie unică
Specificația limbajului Java descrie un număr în virgulă mobilă care ocupă 32 de biți de date. Vezi și precizie dublă.

Limbajul de marcare generalizat standardizat (SGML)
Un standard ISO/ANSI/ECMA pentru definirea structurii și gestionării conținutului oricărui document electronic.

Servicii web inteligente
Extindeți conceptul de bază al serviciilor de rețea prin adăugarea contextului utilizatorului și sunteți capabil să-și modifice acțiunile pentru a monitoriza schimbările în starea curentă a clientului. Aceasta include descriptorii clasici cine, ce, când, unde, de ce care sunt combinați pentru a defini contextul utilizatorului la un moment dat.

Protocolul de acces simplu la obiect - SOAP
Utilizează structurarea datelor bazate pe XML și HTTP pentru a defini metode standardizate de apelare a metodelor pe obiecte distribuite în diferite medii pe Internet.

limbaj de interogare structurat (SQL)
Un limbaj standardizat al bazei de date relaționale pentru definirea obiectelor bazei de date și manipularea datelor.

bean de sesiune cu stare
Session bean cu stare de dialog.

bean de sesiune apatrid
Un bean de sesiune apatrid. Toate cazurile unei astfel de componente sunt identice.

static
Un cuvânt cheie în limbajul de programare Java TM utilizat pentru a defini o variabilă de clasă (tip). Clasele oferă o singură copie a unor astfel de variabile, indiferent câte instanțe ale clasei au fost create. Cuvântul static poate fi folosit și la definirea unei metode de clasă. Astfel de metode statice sunt apelate nu pentru o instanță a unui obiect, ci pentru tipul (clasa) acestuia și pot, la rândul lor, să opereze numai pe variabile statice.

câmp static
Un alt nume pentru o variabilă de clasă.

metoda statica
Un alt nume pentru o metodă de clasă.

curent
O secvență de octeți de date trimiși de la un expeditor la un receptor. Există două categorii principale de fluxuri, astfel încât pachetul java.io include două clase abstracte (InputStream și OutputStream).

subbaraj
O matrice conținută într-o altă matrice.

subclasă
O clasă care este „derivată” dintr-o altă clasă. Vezi și superclasă, supertip.

subtip
Dacă tipul X „extinde” sau implementează tipul Y, atunci X este un subtip de tip Y. Vezi și supertip.

superclasă
O clasă din care sunt „derivate” alte clase. Vezi și subclasa, subtip.

super
Un cuvânt cheie în limbajul de programare Java TM utilizat pentru a accesa membrii unei clase moștenite de clasa de la care este efectuat apelul.

supertip
Toate interfețele sau clasele pe care tipul le extinde sau le implementează. Vezi și subtip, superclasă.

intrerupator
Un cuvânt cheie din limbajul de programare Java TM folosit pentru a defini o variabilă care poate fi folosită ulterior de cuvântul cheie case pentru a executa un bloc de instrucțiuni.

Leagăn
Nume de cod pentru o colecție de componente grafice care rulează pe orice platformă care acceptă mașina virtuală Java TM. Aceste componente pot oferi o funcționalitate mai mare datorită faptului că sunt scrise în întregime în limbajul Java TM. Vezi și AWT.

sincronizate
Un cuvânt cheie în limbajul de programare Java TM care, atunci când este aplicat unei metode sau unui bloc de cod, asigură că codul va fi executat de cel mult un fir la un moment dat.

administrator de sistem (administrator de sistem)
O persoană responsabilă cu configurarea și administrarea computerelor, rețelelor și sistemelor software ale unei companii.

TCP/IP (TCP/IP)
Un protocol de control al comunicațiilor bazat pe IP. Un protocol de Internet care asigură transportul fiabil al fluxurilor de date între computere. Vezi și IP.

Kit de compatibilitate tehnologică (TCK)
Un set de teste, instrumente, utilități aferente și documentație care permit implementatorului specificației unei anumite tehnologii să determine dacă implementarea acesteia este conformă cu specificația dată. Orice tehnologie Java constă dintr-o specificație, un TSC și o implementare de referință.

client „subțire” (client subțire)
Un sistem care folosește un sistem de operare foarte simplificat care nu necesită administrare locală a sistemului și rulează aplicații descărcate din rețea.

acest
Un cuvânt cheie în limbajul Java TM care poate fi utilizat pentru a face referire la o instanță a clasei care utilizează referința. Cuvântul this poate fi folosit pentru a accesa atât câmpurile, cât și metodele unei clase.

proces (fir)
Unitatea de bază a execuției programului. Un proces poate avea mai multe fire de execuție care rulează simultan și efectuează diferite sarcini, cum ar fi așteptarea unui eveniment sau efectuarea unei lucrări consumatoare de timp, care nu este necesar să fie finalizată pentru execuția ulterioară a programului. După ce un fir și-a încheiat activitatea, este suspendat sau ucis. Vezi și proces.

arunca
Un cuvânt cheie în limbajul Java TM care permite utilizatorului să arunce o excepție sau orice clasă care implementează o interfață „aruncabilă” (adică, o interfață care permite unei clase să lanseze întreruperi).

aruncări
Un cuvânt cheie în limbajul Java TM folosit într-o descriere a unei metode care specifică care excepții nu sunt gestionate în cadrul metodei, ci sunt trecute la nivelul următor superior al programului.

Furnizor de instrumente
O organizație sau un furnizor de software care furnizează instrumente utilizate pentru dezvoltarea, construirea și implementarea aplicațiilor J2EE.

tranzacţie
Unitatea minimă de lucru pentru modificarea datelor. O tranzacție include una sau mai multe instrucțiuni de program care pot fi executate numai împreună. Dacă cel puțin una dintre instrucțiuni nu este executată, are loc o revenire la starea inițială (rollback). Tranzacțiile permit mai multor utilizatori să acceseze aceleași date în același timp.

atributul tranzacției
O valoare definită în descriptorul bean enterprise care este utilizată de containerul EJB pentru a controla domeniul de aplicare al tranzacției la apelarea metodelor bean. Atributul tranzacției poate lua următoarele valori: Required, RequiresNew, Supports, NotSupported, Obligatoriu, Never („obligatoriu”, „necesar pentru nou”, „suportat”, „neacceptat”, „forțat”, „niciodată”).

nivelul de izolare a tranzacțiilor
Gradul în care starea intermediară a datelor modificate de o tranzacție este vizibilă pentru alte tranzacții concurente și pentru datele modificate de alte tranzacții pentru o anumită tranzacție.

manager de tranzacții
Oferă serviciile și funcțiile de control necesare pentru a sprijini delimitarea tranzacțiilor, gestionarea resurselor tranzacției, sincronizarea și traversarea conținutului tranzacției.

tranzitoriu
Un cuvânt cheie în limbajul Java TM care specifică faptul că un câmp nu face parte din forma serializabilă a obiectului. Când un obiect este serializat, valorile câmpurilor sale tranzitorii nu sunt incluse în reprezentarea serializării, în timp ce valorile câmpurilor netranzitorii sunt incluse.

încerca
Un cuvânt cheie în limbajul Java(TM) care definește un bloc de instrucțiuni care pot genera excepții Java. Când apare o excepție, un bloc opțional catch poate gestiona anumite excepții aruncate în blocul try. De asemenea, blocul opțional finally va fi executat indiferent dacă a fost aruncată sau nu o excepție.

tip
Clasă sau interfață.

UDDI
Proiectul Universal Description Discovery and Integration (UDDI) oferă un registru de afaceri online global, public, bazat pe XML, în care utilizatorii se înregistrează și își trimit serviciile web. UDDI este versiunea pentru Internet a paginilor galbene a agendei telefonice.

unicode
Un set de caractere pe 16 biți definit de ISO 10646. Vezi și ASCII. Tot codul sursă al mediului software Java(TM) este scris în Unicode.

Identificator uniform de resurse (URI)
Un șir compact de caractere pentru a identifica o resursă abstractă sau fizică. URI-ul poate fi fie un URL, fie un URN. URL-urile și URN-urile reprezintă entități concrete care există efectiv; URI este o superclasă abstractă.

Localizator uniform de resurse (URL)
Un standard pentru scrierea unui link text către date arbitrare pe WWW. URL-ul arată astfel: „protocol://host/local_info”, unde protocolul specifică protocolul specific utilizat pentru a accesa obiectul (cum ar fi HTTP sau FTP), host specifică numele de internet al gazdei pe care se află obiectul, iar local_info este șirul (adesea un nume de fișier) transmis operatorului de protocol de pe gazda la distanță.

calea URL
Adresa URL transmisă de solicitarea HTTP pentru a invoca servletul. Adresa URL constă din Calea contextului + Calea servlet-ului + PathInfo, unde Calea contextului este prefixul căii asociat contextului servlet-ului. Acest servlet face parte din context. Dacă acest context este contextul implicit situat în spațiul de nume URL principal al serverului web, prefixul căii este șirul gol. În caz contrar, prefixul căii începe cu un caracter / dar nu se termină cu un caracter /. O cale Servlet este o porțiune a căii care corespunde direct maparii care a declanșat solicitarea. Această cale începe cu un caracter /. PathInfo este partea din calea cererii care nu face parte din Calea Context sau Calea Servlet.

Nume uniform al resursei (URN)
Un identificator unic care identifică o entitate, dar nu indică locul în care se află. Sistemul poate folosi un URN pentru a căuta o entitate la nivel local înainte de a încerca să o găsească pe Web. Acest identificator permite, de asemenea, modificarea legăturii Web, menținând în același timp capacitatea de a localiza entitatea.

constrângerea datelor utilizatorului
Definește modul în care trebuie protejate datele dintre client și container. Protecția poate fi prevenirea modificărilor neautorizate ale datelor sau prevenirea interceptării datelor.

variabil
Un element de date care are un nume care îl identifică. Fiecare variabilă are un tip (cum ar fi int sau Object) și un domeniu. Vezi și variabilă de clasă, variabilă de instanță, variabilă locală.

mașină virtuală
O specificație abstractă pentru un dispozitiv de calcul care poate fi implementată în diferite moduri - software sau hardware. Compilezi o secvență de instrucțiuni de mașină virtuală în același mod ca și cum ai compila o secvență de instrucțiuni de microprocesor. Mașina virtuală Java TM constă din instrucțiuni de octeți, un set de registre, o stivă, o grămadă cu colectare de gunoi și o zonă pentru stocarea metodelor.

dicţionar
De obicei, programele de calculator sunt scrise și compilate în coduri de mașină care depind direct de sistemul de operare care controlează microprocesorul din computer. Platforma Java atenuează această dependență prin furnizarea unui model în care programele sunt scrise, compilate și pot fi transferate prin rețea și executate oriunde este prezentă o mașină virtuală complet compatibilă.

Acest model oferă avantajul suplimentar de siguranță sporită. În primul rând, pentru că programele pot fi verificate de mașina virtuală după ce au fost transferate prin rețea. Și în al doilea rând, pentru că mașina virtuală poate rula programul într-un spațiu protejat, ceea ce va preveni anumite acțiuni distructive.

Dezvoltatorii de software aleg platforma Java deoarece reduce costurile și timpul de scriere și întreținere a codului software. Nu mai trebuie să rescrie programe pentru a rula pe computere diferite cu sisteme de operare și microprocesoare diferite. Implementarea aplicațiilor tehnologice Java în companii și organizații este benefică deoarece minimizează costul achiziționării și modificării diferitelor versiuni de aplicații pentru diferite tipuri de computere și servere din rețelele lor.

gol
Un cuvânt cheie în limbajul Java TM utilizat într-o declarație de metodă pentru a indica faptul că metoda nu returnează nicio valoare. void poate fi folosit și ca operator nefuncțional.

volatil
Un cuvânt cheie în limbajul Java TM utilizat într-o declarație de variabilă pentru a indica faptul că variabila este modificată asincron de mai multe fire care rulează împreună.

aștepta
O comandă UNIX care va aștepta ca toate procesele de fundal să se termine și să raporteze starea lor de terminare.

Aplicație web, distribuită
O aplicație Web care utilizează tehnologia J2EE și este scrisă în așa fel încât să poată fi încorporată într-un container Web distribuit pe mai multe mașini virtuale Java care rulează pe aceeași gazdă sau pe gazde diferite. Descriptorul „gazdă” pentru o astfel de aplicație folosește un element distribuit.

Componenta web
O componentă care oferă servicii ca răspuns la solicitări, servlet-uri sau pagini JSP.

Container web
Un container care asigură execuția componentelor Web care îndeplinesc regulile arhitecturii J2EE. Aceste reguli definesc mediul de rulare pentru componentele Web, inclusiv securitatea, colaborarea, managementul ciclului de viață, tranzacțiile, implementarea și alte servicii. Un container care oferă aceleași servicii ca un container JSP și o vedere integrată a API-ului platformei J2EE. Containerul Web este furnizat de un server Web sau J2EE.

Container web, distribuit
Un container Web care poate rula o aplicație Web, marcată ca distribuită, care rulează pe mai multe mașini virtuale Java care rulează pe aceleași gazde sau pe diferite gazde.

server web
Un program care oferă servicii de acces la Internet, Intranet sau Extranet. Un server Web găzduiește site-uri Web, oferă suport pentru HTTP și alte protocoale și rulează programe server (cum ar fi scripturi CGI sau servlet-uri) care îndeplinesc anumite funcții. De exemplu, un container Web se bazează de obicei pe un server Web pentru a furniza procesarea mesajelor HTTP. Arhitectura J2EE presupune că containerul Web este furnizat de serverul Web de la același furnizor, de exemplu. fără a defini regulile dintre cele două entităţi. Un server Web poate furniza unul sau mai multe containere Web.

Servicii Web
Componente software asamblate liber care pot comunica între ele prin mai multe rețele pentru a oferi un rezultat specific utilizatorului final. În timpul funcționării, aceștia folosesc un grup de standarde în evoluție care își definesc descrierea și interacțiunea (serviciilor), cum ar fi SOAP (Simple Object Access Protocol), UDDI (Universal Discovery and Description Integration), XML (Open Label Language), WSDL (Description Language). servicii web).

in timp ce
Un cuvânt cheie în limbajul Java TM folosit pentru a defini o buclă care repetă un bloc de instrucțiuni. Condiția pentru continuarea buclei este specificată ca parte a instrucțiunii while.

fișiere care pot fi citite în lume
Fișierele dintr-un sistem de fișiere care pot fi vizualizate (citite) de către orice utilizator. De exemplu: fișierele aflate pe serverele Web pot fi vizualizate de utilizatorii de Internet dacă permisiunile pentru fișiere au fost setate la „lizibil”.

învelitoare
Un obiect care încapsulează și autorizează un alt obiect să-și schimbe interfața sau comportamentul într-un mod specific.

Limbajul de descriere a serviciilor web (WSDL)
XML este un limbaj care este folosit pentru a descrie un serviciu Web și pentru a defini modul de comunicare cu serviciul Web.

World Wide Web - WWW
„World Wide Web”. O rețea de sisteme și date în ele, de ex. parte a Internetului. Vezi și Internet.

Limbajul de marcare extensibil (XML)
Limbajul de marcare extensibil pentru texte (sau documente text). Descriptorii de implementare J2EE sunt exprimați folosind XML.

*În acest dicționar, termenul „Java Virtual Machine” sau „JVM” înseamnă o mașină virtuală pentru platforma Java.

  1. O matrice nu este o instanță a vreunei clase listate în arborele de clasă, totuși fiecare matrice este un obiect și moștenește direct de la java.util.Object
(new int) instanceof Object // -> se evaluează la adevărat
  1. Clasa java.util.Arrays este o clasă de ajutor, iar tablourile nu sunt instanțe ale acestei clase.
(new int) instanceof java.util.Arrays // -> eroare de compilare
  1. Clasa java.lang.reflect.Array este o clasă de ajutor, iar tablourile nu sunt instanțe ale acestei clase.
(new int) instanceof java.lang.reflect.Array // -> eroare de compilare

    Matricele moștenesc toți membrii java.lang.Object

    Matricele suprascrie metoda clone() moștenită de la Object.

    Array-urile implementează un câmp de lungime, care conține numărul de componente ale matricei. lungimea poate fi pozitivă sau zero. Acestea sunt publice și definitive.

    Array-urile implementează interfețele Cloneable și java.io.Serializable.

    Un obiect este o instanță a unei clase sau a unui tablou.

    O instanță a unei clase este creată în mod explicit de o expresie de creare a instanței de clasă.

    Matricea este creată în mod explicit de expresia de creare a matricei.

  • Această clasă conține diverse metode de lucru cu matrice (cum ar fi sortarea și căutarea)
  • Clasa Array oferă metode statice pentru crearea și accesarea dinamică a matricelor Java.

    Superclasa directă a tipului de matrice este Object.

    Fiecare tip de matrice implementează interfețele Cloneable și java.io.Serializable.

Membrii unui tip de matrice sunt toți din următoarele:

    Un câmp public de lungime finală care conține numărul de componente ale matricei. lungimea poate fi pozitivă sau zero.

    Metoda clonării publice, care suprascrie metoda cu același nume din clasa Object și nu aruncă nicio excepție bifată. Tipul de returnare al metodei clonării este tipul de matrice T-T.

    O clonă a unei matrice multidimensionale este superficială, ceea ce înseamnă că creează doar o singură matrice nouă. Subbary-urile sunt partajate.

    Toți membrii sunt moșteniți din clasa Object; singura metodă Object care nu este moștenită este metoda sa de clonare.

Java oferă un set bogat de operatori pentru manipularea variabilelor. Toți operatorii Java pot fi împărțiți în următoarele grupuri:

  • operatori aritmetici;
  • operatori de comparare;
  • operatori pe biți;
  • operatori logici;
  • operatori de atribuire;
  • alti operatori.

Operatori aritmetici

Operatori aritmetici- sunt folosite în expresii matematice la fel ca în algebră. Să presupunem că variabila întreagă A este egală cu 10 și variabila B este egală cu 20. Următorul tabel listează operatorii aritmetici în Java:

Exemplu

Următorul exemplu simplu prezintă operatori aritmetici programatici. Copiați și inserați următorul cod java în fișierul test.java, compilați și rulați acest program:

Public class Test ( public static void main(String args) ( int a = 10; int b = 20; int c = 25; int d = 25; System.out.println("a + b = " + (a + b) )); System.out.println("a - b = " + (a - b)); b / a)); System.out.println("b % a = " + (b % a)); println("a++ = " + (a++)); System.out.println("b-- = " + (a--)); // Verificați diferența în d++ și ++d System .out.println(" d++ = " + (d++)); System.out.println ("++d = " + (++d) ) )

A + b = 30 a - b = -10 a * b = 200 b / a = 2 b % a = 0 c % a = 5 a++ = 10 b-- = 11 d++ = 25 ++d = 27

Operatori de comparație

Există următorii operatori de comparare acceptați în limbajul Java. Să presupunem că variabila A este egală cu 10 și variabila B este egală cu 20. Următorul tabel listează operatorii relaționali sau de comparație în Java:

OperatorDescriereExemplu
== Verifică dacă valorile a doi operanzi sunt egale sau nu, dacă da, atunci condiția devine adevărată(A == B) - nu este corect
!= Verifică dacă valorile a doi operanzi sunt egale sau nu dacă valorile nu sunt egale, atunci condiția devine adevărată(A != B) - valoarea este adevărată
> Verifică dacă valoarea operandului din stânga este mai mare decât valoarea operandului din dreapta, dacă da, atunci condiția devine adevărată(A > B) - nu este corect
Verifică dacă valoarea operandului din stânga este mai mică decât valoarea operandului din dreapta, dacă da, atunci condiția devine adevărată(A
>= Verifică dacă valoarea operandului din stânga este mai mare sau egală cu valoarea operandului din dreapta, dacă da, atunci condiția devine adevărată(A >= B) - valorile nu sunt corecte
Verifică dacă valoarea operandului din stânga este mai mică sau egală cu valoarea operandului din dreapta, dacă da, atunci condiția devine adevărată(A

Exemplu

Următorul exemplu simplu arată cum să comparați programatic operatorii de comparație în Java. Copiați și inserați următorul cod java în fișierul test.java, compilați și rulați acest program:

Public class Test ( public static void main(String args) ( int a = 10; int b = 20; System.out.println("a == b = " + (a == b)); System.out.println ("a != b = " + (a != b)); System.out.println("a > b = " + (b >= a)); ("b

A == b = fals a != b = adevărat a > b = fals a = a = adevărat b

Operatori pe biți

Java definește câțiva operatori pe biți care pot fi utilizați pentru tipurile întregi: int, long, short, char și byte. În Java, operatorul pe biți lucrează pe biți și efectuează operația bit cu bit. Să presupunem că a = 60; şi b = 13; apoi în format binar vor fi după cum urmează:

a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011

Să presupunem că variabila întreagă A este 60 și variabila B este 13. Următorul tabel listează operatorii pe biți în Java:

OperatorDescriereExemplu
& (pe bit și)Operatorul binar AND copiază un pic în rezultat dacă acesta există în ambii operanzi.(A și B) vor da 12 care este 0000 1100
| (pe bit sau)Operatorul binar SAU copiază un bit dacă acesta există în oricare dintre operanzi.(A | B) va da 61 care este egal cu 0011 1101
^ (logic pe biți sau)Operatorul binar XOR copiază un bit dacă este setat într-un singur operand, dar nu în ambele.(A^B) va da 49 care este 0011 0001
~ (complementul biților)Operatorul de complement al binarului și are ca efect „reflectarea” biților.(~A) va da -61, care este forma complementului la 1100 a lui 0011 în notație binară
Operator binar de deplasare la stânga. Valoarea operanzilor din stânga este mutată la stânga cu numărul de biți specificat de operandul din dreapta.A
>> (schimba la dreapta)Operator binar de schimbare la dreapta. Valoarea operanzilor din dreapta este mutată la dreapta cu numărul de biți specificat de operandul din stânga.A >> 2 va da 15 care este 1111
>>> (schift zero la dreapta)Operator de schimbare la dreapta nul. Valoarea operanzilor din stânga este mutată la dreapta cu numărul de biți specificat de operandul din dreapta, iar valorile deplasate sunt umplute cu zerouri.Un >>> 2 va da 15 care este 0000 1111

Exemplu

Următorul exemplu simplu arată operatorii pe biți în Java. Copiați și inserați următorul cod java în fișierul test.java, compilați și rulați acest program:

Public class Test ( public static void main(String args) ( int a = 60; /* 60 = 0011 1100 */ int b = 13; /* 13 = 0000 1101 */ int c = 0; c = a & b; /* 12 = 0000 1100 */ System.out.println("a & b = " + c); /* 61 = 0011 1101 */ System.out.println("a | b = " + c); a ^ b; /* 49 = 0011 0001 */ System.out.println("a ^ b = " + c); /*-61 = 1100 0011 */ Sistem ); c = a > 2; /* 215 = 1111 */ System.out.println("a >> 2 = " + c = a >>> 2 ; .println("a >>> 2 = " + c) )

Se va obtine urmatorul rezultat:

A & b = 12 a | b = 61 a ^ b = 49 ~a = -61 a > 15 a >>> 15

Operatori logici

Să presupunem că variabila booleană A este adevărată și variabila B este falsă. Următorul tabel listează operatorii booleeni din Java:

Exemplu

Public class Test ( public static void main(String args) ( boolean a = true; boolean b = false; System.out.println("a && b = " + (a&&b)); System.out.println("a | |. b = " + (a||b)); System.out.println("!(a && b) = " + !(a && b)); ) )

Aceasta va produce următoarea ieșire:

A && b = fals a || b = adevărat !(a && b) = adevărat

Operatori de atribuire

Următorii operatori de atribuire sunt acceptați de limbajul Java:

Operator Descriere Exemplu
= Operator de atribuire simplă, atribuie valori din partea dreaptă a operanzilor către operandul din stânga C = A + B, va atribui valoarea lui A + B lui C
+= Operatorul de atribuire „Adăugați”, atribuie valoarea operandului din dreapta operandului din stânga C += A, echivalent cu C = C + A
-= Operatorul de atribuire „Scădere”, acesta scade operandul stâng din operandul din dreapta C -= A, echivalent cu C = C - A
*= Operatorul de atribuire „Multiplicare”, înmulțește operandul din dreapta cu operandul din stânga C*=A este echivalent cu C=C*A
/= Operator de alocare a diviziunii, împarte operandul din stânga cu operandul din dreapta C/=A este echivalent cu C=C/A
%= Operatorul de atribuire „Modul”, preia modulul cu doi operanzi și atribuie rezultatul acestuia operandului din stânga C %= A, echivalent cu C = C % A
Operator de alocare a turei stânga C
>>= Operator de atribuire a turei la dreapta C >>= 2, este ca C = C >> 2
&= Operator de atribuire pe biți („ȘI”) C &= 2, este ca C = C & 2
^= Operator de atribuire XOR pe biți C^=2, este ca C=C^2
|= Operatorul de atribuire pe biți „SAU” C |= 2, este ca C = C | 2

Exemplu

Următorul exemplu simplu arată operatori logici programatic în Java. Copiați și inserați următorul cod java în fișierul test.java, compilați și rulați acest program:

Public class Test ( public static void main(String args) ( int a = 10; int b = 20; int c = 0; c = a + b; System.out.println("c = a + b = " + c) ); c += a ; System.out.println("c += a = " + c); /= a = " + c); 10; c = 15; System.out.println("c %= a = " + c); System.out.println("c >>= 2 = " + c) ; c >>= 2 ; System.out.println("c >>= a = " + c); System.out.println ("c ^= a = " + c); c |= a = " + c) )

Se va obtine urmatorul rezultat:

C = a + b = 30 c += a = 40 c -= a = 30 c *= a = 300 c /= a = 1 c %= a = 5 c >= 2 = 5 c >>= 2 = 1 c &= a = 0 c ^= a = 10 c |= a = 10

Alti operatori

Există câțiva alți operatori acceptați de limbajul Java.

Operator ternar sau operator condiționat (?:)

Operator ternar este un operator care constă din trei operanzi și este folosit pentru a evalua expresii booleene. Operatorul ternar în Java este cunoscut și ca operator condiționat. Acest. Scopul operatorului ternar sau al operatorului condiționat este de a decide ce valoare trebuie atribuită unei variabile. Operatorul este scris astfel:

Variabila x = (expresie) ? valoare dacă adevărat: valoare dacă este fals

Exemplu

Mai jos este un exemplu:

Test de clasă publică ( public static void main(String args)( int a , b; a = 10; b = (a == 1) ? 20: 30; System.out.println ("Valoarea lui b: " + b) ; b = (a == 10) ? 20: 30;

Se va obtine urmatorul rezultat:

valoarea b: 30 valoarea b: 20

instanță de operator

instanță de operator- verifică dacă obiectul este de un anumit tip (tip de clasă sau tip de interfață) și este utilizat doar pentru variabilele obiectului de referință. Operatorul instanceof este scris ca:

(variabilă obiect de referință) instanceof (clasa/tipul interfeței)

Exemple

Dacă variabila obiect de referință din partea stângă a instrucțiunii trece testul pentru clasa/tipul de interfață din partea dreaptă, rezultatul va fi adevărat. Mai jos este un exemplu și descrierea operatorului instanceof:

Clasa publică Test ( public static void main(String args)( String name = "Oleg"; // Următoarele vor returna adevărat, deoarece tipul este String boolean rezultat = name instanceof String; System.out.println(rezultat); ) )

Se va obtine urmatorul rezultat:

Acest operator va returna în continuare true dacă obiectul comparat este compatibil cu tipul din dreptul de atribuire. Mai jos este un alt exemplu:

Class Vehicle () public class Car extins Vehicle ( public static void main(String args)( Vehicul a = mașină nouă(); rezultat boolean = o instanță a mașinii; System.out.println(rezultat); ) )

Se va obtine urmatorul rezultat:

Precedența operatorului în Java

Prioritatea operatorului determină gruparea termenilor într-o expresie. Acest lucru afectează modul în care este evaluată expresia. Unii operatori au prioritate mai mare decât alții; de exemplu, operatorul de înmulțire are o prioritate mai mare decât operatorul de adunare:

De exemplu, x = 7 + 3 * 2. Aici lui x i se atribuie valoarea 13, nu 20, deoarece operatorul „*” are prioritate mai mare decât „+”, deci „3 * 2” este înmulțit mai întâi și apoi „7” e adăugat "

În tabel, declarațiile cu cea mai mare prioritate sunt plasate în partea de sus, iar nivelul de prioritate scade spre partea de jos a tabelului. Într-o expresie, operatorii cu prioritate mare în Java vor fi evaluați de la stânga la dreapta.

Categorie Operator Asociativitatea
Postfix (). (punct) De la stanga la dreapta
Unar ++ - - ! ~ De la dreapta la stânga
Multiplicativ * / % De la stanga la dreapta
Aditiv + - De la stanga la dreapta
Schimb >> >>> De la stanga la dreapta
Relațional > >= De la stanga la dreapta
Egalitatea == != De la stanga la dreapta
„ȘI” pe biți & De la stanga la dreapta
SAU exclusiv pe biți („XOR”) ^ De la stanga la dreapta
SAU pe biți | De la stanga la dreapta
„ȘI” logic && De la stanga la dreapta
„SAU” logic („SAU”) || De la stanga la dreapta
Condiţional ?: De la dreapta la stânga
Misiune = += -= *= /= %= >>= De la dreapta la stânga
Virgulă , De la stanga la dreapta

În lecția următoare vom vorbi despre controlul buclei în programarea Java. Această lecție va descrie diferitele tipuri de bucle, cum pot fi utilizate buclele în dezvoltarea programului și în ce scopuri sunt utilizate.

Cea mai recentă versiune este versiunea 1.6, care a îmbunătățit sistemul de securitate, a îmbunătățit suportul pentru limbajul de scripting Mozilla Rhino, a îmbunătățit integrarea desktopului și a adăugat câteva funcții noi în crearea interfețelor grafice.

Java și Microsoft

Următoarele companii se concentrează în principal pe tehnologiile Java (J2EE), mai degrabă decât pe .NET, deși se ocupă și de acestea din urmă: IBM, Oracle. În special, Oracle DBMS include JVM ca componentă, care oferă posibilitatea de a programa direct DBMS-ul în limbajul Java, incluzând, de exemplu, procedurile stocate.

Caracteristici cheie

Exemplu de program

Program care afișează „Hello, World!”:

Clasa publică HelloWorld ( public static void main(String args) ( System .out .println ("Bună ziua, lume!" ) ; ) )

Exemplu de utilizare a șabloanelor:

Import java.util.*; public class Sample ( public static void main(String args) ( // Creați un obiect folosind un șablon. Listă șiruri de caractere = new LinkedList () ; strings.add("Bună ziua"); strings.add("lume"); strings.add("!"); pentru (String s: șiruri) ( System .out .print (s) ; System .out .print (" " ) ; ) ) )

Idei cheie

Tipuri primitive

Există doar 8 tipuri scalare în Java: boolean, byte, char, short, int, long, float, double.

Clase de wrapper de tipuri primitive

Lungimile și intervalele de valori ale tipurilor primitive sunt definite de standard, nu implementare și sunt prezentate în tabel. Tipul char a fost făcut pe doi octeți pentru ușurința localizării (unul dintre principiile ideologice ale Java): când standardul era în curs de dezvoltare, Unicode-16 exista deja, dar nu Unicode-32. Deoarece nu a mai rămas niciun tip de un singur octet, a fost adăugat un nou tip de octet. Tipurile float și double pot avea semnificații speciale și „nu un număr” (

Tip Lungime (în octeți) Interval sau set de valori
boolean nedefinit adevarat fals
octet 1 −128..127
char 2 0..2 16 -1 sau 0..65535
mic de statura 2 −2 15 ..2 15 -1 sau −32768..32767
int 4 −2 31 ..2 31 -1 sau −2147483648..2147483647
lung 8 −2 63 ..2 63 -1 sau aproximativ −9.2 10 18 ..9.2 10 18
pluti 4 -(2-2 -23) 2 127 ..(2-2 -23) 2 127 sau aproximativ −3,4 10 38 ..3,4 10 38, precum și , , NaN
dubla 8 -(2-2 -52)·2 1023 ..(2-2 -52)·2 1023 , sau aproximativ −1.8·10 308 ..1.8·10 308 , precum și , , NaN

O astfel de standardizare strictă a fost necesară pentru a face limbajul independent de platformă, ceea ce este una dintre cerințele ideologice pentru Java și unul dintre motivele succesului său. Cu toate acestea, rămâne o mică problemă cu independența platformei. Unele procesoare folosesc registre de 10 octeți pentru a stoca rezultatele intermediar sau pentru a îmbunătăți în alt mod acuratețea calculelor. Pentru a face Java cât mai compatibil între diferite sisteme, în versiunile anterioare erau interzise orice metode de creștere a preciziei calculelor. Cu toate acestea, acest lucru a dus la o scădere a performanței. S-a dovedit că puțini oameni au nevoie de o deteriorare a preciziei de dragul independenței platformei, mai ales dacă trebuie să plătească pentru aceasta încetinind programele. După multe strigăte, această interdicție a fost ridicată, dar cuvântul cheie strictfp a fost adăugat pentru a preveni creșterea preciziei.

Transformări pentru operații matematice

Următoarele reguli se aplică în Java:

  1. Dacă un operand este de tip double, celălalt este, de asemenea, convertit în tipul double.
  2. În caz contrar, dacă un operand este de tip float, celălalt este, de asemenea, convertit în tipul float.
  3. În caz contrar, dacă un operand este de tip lung, celălalt este, de asemenea, convertit în tipul long.
  4. În caz contrar, ambii operanzi sunt convertiți la tipul int.

Ultima regulă distinge Java de implementările mai vechi și C++ și face codul mai sigur. Deci, de exemplu, în limbajul Java, după executarea codului

Scurt x = 50 , y = 1000 ; int z = x*y;

variabilei z i se atribuie valoarea 50000, mai degrabă decât −15536, ca în majoritatea implementărilor C și C++ depășite. Într-un program compilat de MS VC++, începând cu versiunea 7, precum și multe alte compilatoare moderne (gcc, Intel C++, Borland C++, Comeau etc.), valoarea va fi tot 50000.

Variabile obiect, obiecte, referințe și pointeri

Java are doar obiecte create dinamic. Mai mult, variabilele tip obiect și obiectele din Java sunt entități complet diferite. Variabilele tip obiect sunt referințe, adică pointeri impliciti către obiecte create dinamic. Acest lucru este subliniat de sintaxa pentru descrierea variabilelor. Deci, în Java nu puteți scrie:

Dubla a[ 10 ] [ 20 ] ; Foo b(30);

Dublu a = dublu nou [ 10 ] [ 20 ] ; Foo b = nou Foo(30 ) ;

Când se atribuie, se trece la subrutine și se compară, variabilele obiect se comportă ca pointeri, adică adresele obiectelor sunt atribuite, copiate și comparate. Și atunci când accesați câmpurile de date sau metodele unui obiect folosind o variabilă obiect, nu sunt necesare operații speciale de dereferențiere - accesul se efectuează ca și cum variabila obiect ar fi obiectul însuși.

Variabilele obiect sunt de orice tip, cu excepția tipurilor numerice simple. Nu există indicatoare explicite în Java. Spre deosebire de pointerii din C, C++ și alte limbaje de programare, referințele în Java sunt foarte sigure datorită restricțiilor stricte privind utilizarea lor, în special:

  • Nu puteți converti un obiect de tip int sau orice alt tip primitiv într-un pointer sau referință și invers.
  • Este interzisă efectuarea ++, −−, +, − sau orice alte operații aritmetice asupra referințelor.
  • Conversia tipului între referințe este strict reglementată. Cu excepția referințelor matrice, este permisă numai convertirea referințelor între un tip moștenit și descendentul acestuia, iar conversia de la un tip moștenit la un tip moștenit trebuie să fie specificată în mod explicit și verificată în timpul execuției pentru a avea sens. Conversiile referințelor matrice sunt permise numai dacă sunt permise conversiile tipurilor lor subiacente și nu există conflicte de dimensiuni.
  • În Java, nu există niciun operator pentru a prelua o adresă (&) sau a lua un obiect la o adresă (*). Un asterisc în Java înseamnă înmulțire și nimic mai mult. Ampersand (&) înseamnă doar „bit și” (ampersand dublu înseamnă „logic și”).

Datorită unor astfel de restricții special introduse în Java, manipularea directă a memoriei la nivelul adreselor fizice este imposibilă (deși există legături care nu indică nimic: valoarea unei astfel de legături este notată cu nul).

Legături duplicate și clonare

Deoarece variabilele obiect sunt variabile de referință, atribuirea nu copiază obiectul. Deci, dacă scrii

Foo foo, bar; ... bar = foo;

atunci adresa din variabila foo va fi copiată în variabila bar. Adică foo și bar vor indica aceeași zonă de memorie, adică același obiect; încercarea de a schimba câmpurile unui obiect referit de foo va schimba obiectul referit de bar și invers. Dacă mai ai nevoie de unul copie obiect sursă, utilizați fie metoda (funcția membru, în terminologia C++) clone(), care creează o copie a obiectului, fie un constructor de copiere.

Metoda clone() necesită ca clasa să implementeze interfața Cloneable (vezi interfețele de mai jos). Dacă o clasă implementează interfața Cloneable, în mod implicit clone() copiază toate câmpurile ( exemplar mic). Dacă doriți să clonați câmpuri în loc să le copiați (precum și câmpurile lor etc.), trebuie să înlocuiți metoda clone(). Definirea și utilizarea metodei clone() este adesea o sarcină netrivială.

Colectarea gunoiului

În limbajul Java, nu este posibilă eliminarea explicită a unui obiect din memorie - în schimb, colectarea gunoiului este implementată. Un truc tradițional care îi oferă colectorului de gunoi un „indiciu” pentru eliberarea memoriei este de a atribui unei variabile valoarea goală null . Acest lucru nu înseamnă, totuși, că un obiect înlocuit cu null va fi neapărat șters imediat. Această tehnică elimină pur și simplu referința la obiect, adică dezactivează pointerul de obiectul din memorie. Trebuie avut în vedere faptul că un obiect nu va fi șters de către colectorul de gunoi atâta timp cât este indicat de cel puțin o referință din variabilele sau obiectele utilizate. Există și metode de a forța colectarea gunoiului, dar acestea nu sunt garantate a fi apelate de runtime și nu sunt recomandate pentru utilizare normală.

Clase și funcții

Java nu este un limbaj procedural: orice funcție poate exista doar în cadrul unei clase. Acest lucru este subliniat de terminologia limbajului Java, unde nu există conceptul de „funcție” sau „funcție membru”. funcția de membru), doar daca metodă. Funcțiile standard s-au transformat, de asemenea, în metode. De exemplu, în Java nu există o funcție sin(), dar există o metodă Math.sin() din clasa Math (care, pe lângă sin(), conține metodele cos(), exp(), sqrt( ), abs() și multe altele).

Metode și câmpuri statice

Pentru a evita necesitatea de a crea un obiect din clasa Math (și alte clase similare) de fiecare dată când trebuie să apelați sin() (și alte funcții similare), conceptul metode statice(Engleză) metoda statica; uneori în rusă se numesc statice). O metodă statică (marcată cu cuvântul cheie static în descrierea sa) poate fi apelată fără a crea un obiect din clasa sa. Prin urmare, puteți scrie

Dublu x = Math.sin(1);

Math m = new Math(); dublu x = m.sin(1);

Limitarea metodelor statice este că pot accesa numai câmpuri și metode statice din acest obiect.

Câmpurile statice au același sens ca în C++: fiecare există doar într-o singură copie.

Finalitate

Cuvântul cheie final înseamnă lucruri diferite atunci când declarați o variabilă, o metodă sau o clasă. Variabila finală (denumită constantă) este inițializată la descriere și nu poate fi modificată în continuare. Metoda finală nu poate fi înlocuită de moștenire. Clasa finală nu poate avea deloc moștenitori.

Abstracție

În Java, metodele care nu sunt declarate în mod explicit finale sau private sunt virtuale în terminologia C++: apelarea unei metode definite diferit într-o clasă de bază și o subclasă implică întotdeauna o verificare în timp de execuție.

O metodă abstractă (descriptor abstract) în Java este o metodă pentru care sunt specificați parametrii și tipul de returnare, dar nu și corpul. O metodă abstractă este definită în clasele descendente. În C++ același lucru se numește o funcție virtuală pură. Pentru ca metodele abstracte să fie descrise într-o clasă, clasa în sine trebuie de asemenea descrisă ca abstractă. Obiectele unei clase abstracte nu pot fi create.

Interfețe

Cel mai înalt nivel de abstractizare în Java este interfața. Toate metodele de interfață sunt abstracte: declaratorul abstract nici măcar nu este necesar. O interfață nu este o clasă. O clasă poate moșteni, sau extinde(extinde) o altă clasă sau implementează(implementează) interfață. În plus, o interfață poate moșteni sau extinde o altă interfață.

În Java o clasă nu poate moșteni mai mult de o clasă, dar poate implementa câte interfețe se dorește.

Interfețele pot fi transmise metodelor ca parametri, dar obiectele de tipul lor nu pot fi create.

Interfețe de marcare

Java are unele interfețe care nu conțin metode de implementat, dar sunt gestionate într-un mod special de JVM. Acestea sunt interfețele:

  • java.lang.Cloneable
  • java.io.Serializabil
  • java.rmi.Remote

Șabloane în Java (generice)

Începând cu versiunea Java 5, limbajul a introdus un mecanism de programare generalizat - șabloane care sunt apropiate din exterior de șabloanele C++. Folosind o sintaxă specială în descrierea claselor și metodelor, puteți specifica parametrii de tip care pot fi utilizați în descriere ca tipuri de câmpuri, parametri și valori returnate ale metodelor.

// Declarația unei clase generice clasa GenericClass ( E getFirst() ( ... ) void add(E obj) ( ... ) ) // Folosind o clasă generică în cod GenericClass var = new GenericClass () ; var.add("qwerty"); String p = var.getFirst();

Este permisă o declarație generalizată a claselor, interfețelor și metodelor. În plus, sintaxa acceptă declarații limitate de tipuri de parametri: specificarea unui construct al formei în declarație necesită ca parametrul de tip T să implementeze interfețele A, B, C și așa mai departe și construcția cere ca parametrul tip T să fie de tip C sau unul dintre strămoșii săi.

Spre deosebire de șabloanele C#, șabloanele Java nu sunt acceptate de runtime - compilatorul pur și simplu produce bytecode care nu mai conține niciun șablon. Implementarea șabloanelor în Java este fundamental diferită de implementarea mecanismelor similare în C++: compilatorul nu generează o versiune separată a clasei de șablon sau a metodei pentru fiecare caz de utilizare al unui șablon, ci pur și simplu creează o implementare de cod octet care conține verificările necesare. și conversii de tip. Acest lucru duce la o serie de restricții privind utilizarea șabloanelor în programele Java.

Verificarea apartenenței la clasă

În Java, puteți verifica în mod explicit cărei clase îi aparține un obiect. Expresia foo instance de Foo este adevărată dacă obiectul foo aparține clasei Foo sau moștenitorului acesteia sau implementează interfața Foo (sau, mai general, moștenește o clasă care implementează o interfață care moștenește Foo).

În continuare, funcția getClass(), definită pentru toate obiectele, returnează un obiect de tip Class. Aceste obiecte pot fi comparate. Deci, de exemplu, foo.getClass()==bar.getClass() va fi adevărat dacă obiectele foo și bar aparțin exact aceleiași clase (dar asta nu înseamnă că sunt două obiecte identice).

În plus, un obiect de tip Class de orice tip poate fi obținut astfel: Integer.class, Object.class.

Cu toate acestea, compararea directă a claselor nu este întotdeauna mijlocul optim de testare pentru apartenența la clasă. Adesea este folosită în schimb funcția isAssignableFrom(). Această funcție este definită pe un obiect de tip Class și ia ca parametru un obiect de tip Class. Astfel, apelarea Foo.class.isAssignableFrom(Bar.class) va returna true dacă Foo este un strămoș al clasei Bar. Deoarece toate obiectele sunt descendenți de tip Object , apelarea Object.class.isAssignableFrom() va returna întotdeauna true . În combinație cu funcțiile menționate ale unui obiect de tip Class, sunt utilizate și funcțiile isInstance() (echivalent cu instanceof) și cast() (convertește un parametru într-un obiect din clasa selectată).

Biblioteci de clasă

Instrumente de dezvoltare software

  • JDK - pe lângă un set de biblioteci pentru platformele Java SE și Java EE, conține compilatorul de linie de comandă javac și un set de utilitare care funcționează și în modul linie de comandă.
  • NetBeans IDE este un mediu de dezvoltare integrat gratuit pentru toate platformele Java - Java ME, Java SE și Java EE. Promovat de Sun Microsystems, dezvoltatorul Java, ca instrument de bază pentru dezvoltarea de software în Java și alte limbaje (C++, Fortran etc.).
  • Java SE și Java EE. Se lucrează pentru a sprijini platforma Java ME în Eclipse. sunt promovate C, C++, Fortran etc.)
  • IntelliJ IDEA este un mediu de dezvoltare comercială pentru platformele Java SE, Java EE și Java ME.

Note

  1. java (engleză). Dicţionar online Merriam-Webster. Merriam-Webster. - Norma engleză de pronunție a cuvântului „Java”. Preluat la 5 iunie 2009.
  2. Robert Tolksdorf. Limbaje de programare pentru Java Virtual Machine JVM (engleză). is-research GmbH. - Director online de limbi alternative și extensii de limbă pentru JVM. Preluat la 5 iunie 2009.
  3. Suport pentru mașină virtuală Microsoft Java. Microsoft (2003-09-12). - Declarație oficială de la Microsoft despre programul de asistență MSJVM. Preluat la 5 iunie 2009.
  4. Todd Hoff Amazon Architecture (engleză) (2007-09-18). - Discuție despre arhitectura Amazon folosind tehnologii Java. Preluat la 6 iunie 2009.
  5. Amazon Elastic Compute Cloud (Amazon EC2) (engleză). Amazon Web Services LLC. - Descrierea tehnologiei și a capabilităților Amazon EC2 ca serviciu web. Preluat la 6 iunie 2009.
  6. Todd Hoff eBay Architecture (engleză) (2008-05-27). - Discuție despre arhitectura eBay pe platforma Java. Preluat la 6 iunie 2009.
  7. Randy Shoup, Dan Pritchett Arhitectura eBay (engleză) (PDF). SD Forum 2006(29.11.2006). - Prezentare despre istoria dezvoltării arhitecturii eBay. Preluat la 6 iunie 2009.
  8. Allen Stern Interviu exclusiv cu Yandex CTO Ilya Segalovich (engleză). CenterNetworks (2008-01-14). - Interviu cu directorul tehnic Yandex, Ilya Segalovici. Preluat la 6 iunie 2009.
  9. Anatoly Orlov Arhitectura Yandex.Search (rusă) (PowerPoint). Materialele întâlnirii JUG de la Ekaterinburg(24.05.2008). Preluat la 6 iunie 2009.
  10. Brian Guan Blogul LinkedIn. Arhiva blogului. Grails pe LinkedIn. (Engleză) . LinkedIn.com (2008-06-11). - Istoricul creării sistemului LinkedIn bazat pe tehnologia Grails Java. Preluat la 5 iunie 2009.
  11. OracleJVM și proceduri stocate Java. Oracle Inc.. - Secțiunea portalului Oracle dedicată tehnologiilor Java ca parte a serverului Oracle DBMS. Preluat la 5 iunie 2009.
  12. Link către documentația pentru metoda Object.clone() (engleză)

Literatură

  • Monahov Vadim Limbajul de programare Java și mediul NetBeans, ediția a 2-a. - Sankt Petersburg: „BHV-Petersburg”, 2009. - P. 720. - ISBN 978-5-9775-0424-9
  • Iosua Bloch. Java. Programare eficientă = Java eficient. - M.: „Lori”, 2002. - P. 224. - ISBN 5-85582-169-2
  • Java 2. Biblioteca pentru profesioniști, volumul 1. Elemente fundamentale = Core Java™ 2, volumul I - Fundamente. - Ed. a VII-a. - M.: „Williams”, 2007. - P. 896. - ISBN 0-13-148202-5
  • Kay S. Horstmann, Gary Cornell. Java 2. Biblioteca Profesionistului, Volumul 2. Subtilități de programare = Core Java™ 2, Volumul II--Funcții avansate. - Ed. a VII-a. - M.: „Williams”, 2007. - P. 1168. - ISBN 0-13-111826-9
  • Bruce Eckel. Java Philosophy = Gândirea în Java. - Ed. a III-a - Sankt Petersburg: „Petru”, 2003. - P. 976. - ISBN 5-88782-105-1
  • Herbert Shildt, James Holmes. Arta programarii Java = Arta Java. - M.: „Dialectica”, 2005. - P. 336. - ISBN 0-07-222971-3
  • Lubos Bruga. Java pe scurt: curs practic expres = Luboš Brůha. Java Hotová řešení.. - M.: Știință și tehnologie, 2006. - P. 369. - ISBN 5-94387-282-5

Vezi si

  • Pentru o comparație a capabilităților Java cu alte limbi, consultați articolul