Java tokovi: ustvarjanje in dokončanje

Java je programski jezik na visoki ravni, ki ga je razvil Sun Microsystems. Prvotno je bil oblikovan za razvoj programov za tweete in žepne naprave, pozneje pa je postal priljubljen in priljubljen jezik za ustvarjanje spletnih aplikacij. Družba Oracle je januarja 2010 kupila Sun Microsystems, zato jo podpira in distribuira Java. Java uporablja objektno usmerjen programski model in se lahko uporablja za ustvarjanje aplikacij, ki se lahko izvajajo na istem računalniku ali pa se porazdelijo med strežniki in odjemalci v omrežju. Lahko se uporablja tudi za izdelavo majhnega programskega modula ali programčka za uporabo kot del spletne strani.




Koristi

Sintaksa Java je podobna C ++, vendar je strogo objektno usmerjen programski jezik. Na primer, večina programov Java vsebuje razrede, ki se uporabljajo za identifikacijo objektov in metod. Metode so nato dodeljene ločenim razredom. Java je znana tudi kot bolj strog sistem formalnih znakov kot C ++. To pomeni, da morajo biti spremenljivke in funkcije jasno definirane, tako da lahko izvorna koda odkrije napake ali "izjeme" lažje in hitreje kot druge jezike. Omejuje tudi druge vrste napak, ki jih lahko povzročijo negotove spremenljivke ali nedodeljene vrste. Za razliko od izvedljivih datotek Windows (datoteke .EXE) ali datotek Macintosh .APP datoteke, se programi Java ne zaženejo neposredno v operacijskem sistemu. Namesto tega podatke razlaga navidezni stroj Java ali JVM,ki deluje na več platformah. Vse aplikacije Java so večformatne in lahko delujejo na različnih platformah, vključno z računalniki Macintosh, Windows in Unix. JVM mora biti nameščen za izvajanje aplikacij ali programčkov. Na voljo kot brezplačen prenos.


Elementi in načela

Uspeh in priljubljenost Jave sta prispevala k značilnostim jezika. Navedimo glavne:
  • Programi, ustvarjeni na Javi, imajo kakovost prenosljivosti v omrežju. Izvorna koda je prevedena tako, da je programski jezik bajtna koda, ki se lahko izvaja kjer koli v omrežju za strežnik ali odjemalca z navideznim strojem Java (JVM). JVM interpretira bajtno kodo, ki bo delovala na strojni opremi računalnika. Nasprotno, večina programskih jezikov, kot sta COBOL, C ++, Visual Basic ali Smalltalk, kodo prevedejo v binarno datoteko. Binarne datoteke so odvisne od platforme, zato program, napisan za računalnik z operacijskim sistemom Windows, ki temelji na Intelu, ne more zagnati Mac, Linux ali IBM-ovega velikega računalnika. JVM vključuje izbirni prevajalnik Just-in-Time Compiler (JIT), ki dinamično prevede bajtno kodo v izvršljivo kodo kot alternativo za interpretacijo ene bajtne kode naenkrat. V mnogih primerih je dinamično prevajanje JIT hitrejše kot interpretiranje virtualnega stroja.
  • Zanesljivost kode. Za razliko od programov, napisanih v C ++ in v nekaterih drugih jezikih, objekti Java ne vsebujejo povezav do zunanjih podatkov ali drugih znanih objektov. To zagotavlja, da navodilo ne vsebuje naslova za shranjevanje v drugi aplikaciji ali v samem operacijskem sistemu, zaradi česar je programin operacijski sistem se lahko konča ali povzroči okvaro. JVM izvaja vrsto pregledov na vsaki strani, da zagotovi integriteto.
  • Java je objektno usmerjen jezik. Objekt lahko izkoristi dejstvo, da je del razreda objektov in podeduje kodo, ki je skupna razredu. Ta metoda se lahko obravnava kot ena od značilnosti ali obnašanja objekta. Objektno usmerjena metoda je razmeroma razširjena v sodobnem programskem okolju, vendar je leta 1996 le nekaj jezikov učinkovito uporabljalo objektno usmerjene koncepte in vzorce oblikovanja.
  • Prilagodljivost programčkov. Java applet ima vse funkcije, ki so namenjene hitremu zagonu.
  • Java je preprosta za učenje. Sintaksa jezika je podobna C ++. Če ima razvijalec jezik C /C ++, tega jezika ne bo težko obvladati.
  • Pogosto je napačno prepričanje, da obstaja povezava med Javo in javascriptom. Ti jeziki so v sintaksi podobni, s konstruktivnega vidika pa obstajajo različne strukture.
  • Platforme

    Obstajajo tri ključne platforme, na katerih programerji razvijajo aplikacije Java:
  • Java SE - Enostavne samostojne aplikacije so razvite z uporabo Java Standard Edition. Prej znan kot J2SE, Java SE ponuja API-je, potrebne za razvoj tradicionalnih namiznih aplikacij.
  • Java EE - Java Enterprise Edition, prej znana kot J2EE, omogoča ustvarjanje komponent strežnika, ki se lahko odzovejo na spletni cikel zahteve za odgovor. Ta postavitev omogoča ustvarjanje aplikacij Java, ki lahko komunicirajo z internetnimi odjemalci, vključno s spletnimi brskalniki, na katerih temeljijo odjemalciCORBA in celo spletne storitve, ki temeljijo na REST in SOAP.
  • Java ME - Java ponuja tudi enostavno platformo za razvoj mobilnih naprav, znano kot Java Micro Edition, prej znano kot J2ME. Java ME se je izkazala za zelo priljubljeno platformo za razvoj vgrajenih naprav, vendar je težko uspela v areni za razvoj pametnih telefonov. V smislu razvoja pametnih telefonov je Android postal mobilna razvojna platforma.
  • Primeri uporabe

    Z različnimi komponentami, ki jih zagotavlja Java EE, so razvijalci lahko napisali programe, ki uporabljajo priljubljene vzorce oblikovanja programske opreme in splošno dogovorjene napredne tehnike. Okvirji Struts, Spring in JavaServer Faces uporabljajo Java Servlet za implementacijo vzorca oblikovanja prednjega konca za centralizacijo poizvedb.
    Medtem je večina ekosistemov Java veliko število projektov odprte kode, programskih platform in API-jev, ki so ustvarili skupnost, ki uporablja jezik. Apache Foundation, na primer, gosti različne projekte, ki temeljijo na Javi, vključno z:
  • Dnevniki enostavne Java (SLF4J).
  • Velike platforme za obdelavo podatkov.
  • Integracijske platforme, kot so Apache Camel, Apache Axis in CXF za razvoj spletnih storitev RESTful.
  • Platforme za razvoj mikro storitev.
  • Druga podjetja bodo poskušala prenesti okolje Java EE v oblak. Ker razvijalci ustvarjajo storitve v oblaku, je ključnega pomena sposobnost hitrega razširjanja teh storitev, pa tudi sposobnost skupnega delaoblaki

    Kritika

    Java sintaksa je pogosto obsojena na besedo. Prekomerna omrežja in getterji, močna tipkanja, napolnijo Java-programe. Kot odgovor na to se je "pojavilo nekaj perifernih jezikov, ki so rešili ta problem, vključno s Groovy, ki je postal hitro priljubljen. Še ena pomanjkljivost je, da se aplikacije Java ne morejo linearno razširiti v svetu visoko zmogljivega računalništva. Za objekte znotraj, zapletene in vzporedne operacije na osnovi seznama lahko vodijo JVM, da najde izhodne rešitve, jezik Scala rešuje številne slabosti jezika Java, ki zmanjšujejo njegovo povečavo
    .

    Javni tokovi

    Tokovi - programska paradigma, ki jo je izumil J. Podkery Rodker-Morrison v poznih 60-ih, ki uporablja izraz "obdelava podatkov" za oblikovanje in ustvarjanje aplikacij. Nit Java določa uporabo omrežja procesov, ki izmenjujejo podatke s pomočjo podatkovnih blokov (informacijskih paketov), ​​ki se premikajo skozi določeno povezavo. Ti procesi se lahko brezhibno povežejo, da se oblikujejo aplikacije, ne da bi se spremenila njihova notranja vsebina. Tako je tok usmerjen proti komponenti. Ustvarjanje toka Java je posebna oblika programiranja pretoka podatkov. Na podlagi omejenih vmesnih pomnilnikov, informacijskih paketov z določenimi življenjskimi dobami, imenovanimi vrati in posebno definicijo povezav. Procesi medsebojno delujejo preko povezav, do katerih dostopamo prek vrat. Povezave se običajno izvajajo prek omejenih vmesnih pomnilnikov. Velikost medpomnilnika ali največje številoPaketi, ki lahko vsebujejo čakalne vrste, se imenujejo povezave pasovne širine. Nekatere izvedbe omogočajo vzpostavitev povezave z zmogljivostjo 0, kar pomeni, da se IP-naslovi podatkov takoj prenašajo med procesi pošiljanja in sprejemanja.

    Opredelitev

    Programiranje pretakanja vidi program kot niz procesov ("črne skrinjice"), ki prek povezav, do katerih se dostopa do procesov, uporablja pristanišča. Proces je primerek komponente, ki deluje sočasno z drugimi procesi, vključno z drugimi primerki iste komponente. Splošni pristop pri pretakanju programov je konceptualizirati program kot vrsto tokov in podtokov, ki se pojavljajo skozi vrsto sorodnih procesov. Vzporednost se izvaja z omejevanjem razmerja med procesi, ki uporabljajo paketne informacijske tokove, ko je tok Java popoln.
    V tem kontekstu vizualno programiranje vključuje povezovanje besedilnih komponent ali grafikonov v dvodimenzionalni pogled, ki uporablja sposobnost prepoznavanja človeških podob in vizualnih stilov mišljenja. Programiranje besedila je predhodno na voljo na ravni komponent in za enostavne aplikacije - na ravni omrežja. Glavne značilnosti so ponovna uporaba kode, testiranje in vzporednost.

    Uvod

    Streaming programiranje definira aplikacije z metaforo "tovarna podatkov". Aplikacija se ne obravnava kot en sam zaporedni proces, ki se začne v določenem trenutku in nato izvede eno operacijo na časovno enoto do popolnega zaključka, ampak kot omrežjeasinhroni procesi, ki jih povezujejo tokovi strukturiranih podatkovnih blokov, imenovani informacijski paketi (IP). Omrežje so zunanji procesi definirani kot seznam povezav, ki se razlagajo kot del programske opreme, ki se navadno imenuje planer. Procesi delujejo preko povezave s fiksno zmogljivostjo. Povezava se poveže s procesom z uporabo vrat, ki imajo dogovorjeno ime med procesno kodo in definicijo omrežja. Ena in ista koda lahko izvede več kot en postopek. V vsakem trenutku lahko ta naslov IP spada v samo en proces ali je na poti med dvema procesoma. Vrata so lahko preprosta ali masivna. Ker se procesi Java lahko nadaljujejo za nedoločen čas z vhodnimi in izhodnimi podatki, aplikacije, ki uporabljajo to metodo, običajno delujejo manj kot običajne aplikacije in optimalno uporabljajo vse procesorje na računalniku.

    Omrežje

    Opredelitev omrežja se ponavadi shematično preoblikuje v seznam povezav v nekaterih jezikih ali zapisih nižje ravni. Java I /O tokovi so pogosto jezik vizualnega programiranja na tej ravni. Bolj zapletene definicije omrežij imajo hierarhično strukturo, ki jo sestavljajo podomrežja s prilagodljivo povezljivostjo. Drugi primeri Java niti temeljijo na tradicionalnih programskih jezikih. Predvsem RaftLib uporablja C ++ in operaterje, podobne iostreamu, za izvajanje Java strežnika.

    Opis procesa

    Delo z nitmi Java kaže zavezujoče podatke kot najboljšibka povezava med komponentami. Koncept svobodnega komuniciranja pa je povezan s konceptom storitveno usmerjenih arhitektur. Povezovalni niz nit Java izpolnjuje številna merila za takšno arhitekturo.
    Metoda pretakanja prispeva k funkcionalnemu slogu na visoki ravni specifikacij, ki poenostavljajo razvoj hipotetičnih pogojev za vedenje sistema. Primer tokov Java je model porazdeljenega podatkovnega prometa za konstruktivno načrtovanje in analizo semantike porazdeljenega protokola.

    Značilnosti

    Programiranje pretakanja ima naslednje edinstvene lastnosti:
  • Strukturnost: diagrami in komponente imajo jasno strukturo (vmesnik, stanje in obnašanje).
  • Zasnova sistema je razdeljena na dve plasti: grafični (običajno vizualni) in komponentni (običajno besedilni). V zvezi z arhitekturo programske opreme se spodbujajo različne vloge. Primer: Java niti upravljajo funkcije za igranje vlog Grafični oblikovalec in Izvajalec komponent.
  • Načelo vzporednosti: vsak proces deluje v svojem toku, v povezanem programu ali drugem okolju.
  • ​​
  • Aktivacija - s stališča oblikovalca se grafična točka procesa izvaja istočasno, funkcija programske opreme za načrtovanje pa vam omogoča, da razdelite procesorski čas in upravljate druge storitve, kot je potrebno za podporo te funkcionalnosti.
  • Paketi informacij pri ustvarjanju toka Java imajo življenjski cikel in spadajo v samo en proces.
  • Komponente imajo lahko več vhodov ali izhodov.
  • Aplikacija je graf, ne drevo. Uporabijo se lahko ciklične spojine (zanke povratne zveze).
  • Povezave je mogoče združiti v graf, kar pomeni, da paketi različnih lokov pridejo do vhodnih vrat. Povezave je treba razdeliti prek komponente zaradi raznolikosti distribucijskih strategij in pravil o lastništvu IP.
  • Povezave se izvajajo kot omejeni odbojniki z obsegom od 0 do števila, omejenega z izvajanjem.
  • Primeri

    Komponente podatkovnih tokov Java pogosto tvorijo komplementarne pare. V običajni logiki programer hitro ugotovi, da niti vhodne niti izhodne strukture ni mogoče uporabiti za krmiljenje toka hierarhije kontrolnih klicev. V uvodu Java, opis problema ponuja rešitev. "Besede" so izrecno opisane v opisu problema, zato jih mora razvijalec obravnavati kot informacijske pakete (IP). V vhodnih tokovih Java ni enotne hierarhije klicev, zato programerju ni treba nastaviti prioritete. Pri ustvarjanju toka Java se lahko uporabijo paketi informacij o izvoru (IIP) za označevanje parametričnih informacij, kot je želena dolžina zapisa izhoda ali imena datotek. IIP-ji so podatkovni bloki, ki so povezani z vrati v definiciji omrežja, ki postanejo "navadni" naslovi IP, ko je ustreznemu vratu izdan parameter "prejet".

    Posodobitev serije

    Ta vrsta programa vključuje prenos datoteke z informacijami (spremembe, dodatke in brisanje) v glavno datoteko in ustvarjanje posodobljene glavne datoteke in enega ali več poročil. Novi tok Jave je dovoljTežko je šifrirati s sinhrono proceduralno kodo, saj je treba sinhronizirati dva (včasih več) vhodnih tokov. Pri arhitekturi za pretakanje je komponenta, ki jo je mogoče ponovno uporabiti, veliko lažje beležiti to vrsto aplikacije, ker to orodje združuje dva toka in vstavlja podatke IP za določanje ravni skupine. Predpostavimo, da je ena ali dve niti Java sestavljene iz naslovov IP s ključnimi vrednostmi 1 2 in 3, IP naslovi druge niti pa imajo ključne vrednosti 111221 313233 in 41, kjer prva številka ustreza vrednosti glavnega ključa. Z uporabo oklepajev za prikaz IP naslovov bo zbrani izhodni tok videti takole: (m1 d11 d12) (m2 d21) (m3 d31 d32d33) (d41).

    Procesi multipleksiranja

    Streaming programiranje podpira multipleksiranje procesov. Ker so komponente samo za branje, lahko poljubno število primerkov te komponente (»procesi«) potekajo asinhrono. Ko so imeli računalniki enega procesorja, je bilo koristno, ko so se številne I /O operacije na nitih Java nadaljevale. Zdaj, ko imajo stroji več procesorjev, postane zelo uporabno orodje. Niti Java Thread delujejo po načelu večopravilnosti.

    DrawFBP kot orodje

    Programiranje pretakanja je paradigma, kjer se programi ustvarjajo iz komponent, ki imajo nabor specifičnih vhodnih in izhodnih vrat. Ta vrata so povezana skupaj, da naredijo graf, ki določa logiko in pretok podatkov. DrawFBP je namizna aplikacija, ki lahko definira diagrame toka za Javo in C #. To je najbolj funkcionalno popolnovmesnik za programiranje pretakanja, vendar je nekoliko omejen z zmogljivostmi požarnega zidu Java in nezmožnostjo introspekcije informacij, ki so na voljo prek vmesnika za prenos komponent. Ključ do vmesnika je poenostaviti ustvarjanje in razumevanje programov, ki temeljijo na metodi pretoka.

    Sorodne publikacije