Toki Java: Ustvarjanje in dokončanje
Java je programski jezik na visoki ravni, ki ga je razvil Sun Microsystems. Sprva je bil ustvarjen za razvoj programov za set-top boxes in ročne naprave, kasneje pa je postal priljubljen in zahtevan jezik za ustvarjanje spletnih aplikacij. Oracle je januarja 2010 kupil Sun Microsystems, zato Oracle zdaj podpira in distribuira.
Vsebina
Java uporablja objektno usmerjen programski model in se lahko uporablja za ustvarjanje aplikacij, ki se lahko izvajajo na enem računalniku ali pa se razdelijo med strežnike in odjemalce v omrežju. Prav tako se lahko uporablja za izdelavo majhnega modula aplikacij ali modulov za uporabo kot del spletne strani.
Koristi
Sintaksa Java je podobna kot C ++, vendar je strogo objektivno programski jezik. Na primer, večina programov Java vsebuje razrede, ki se uporabljajo za določanje predmetov in metod. Metode so nato dodeljene posameznim razredom. Java je znana tudi kot strožji formalni sistem znakov kot C + +. To pomeni, da morajo biti spremenljivke in funkcije izrecno opredeljene, da lahko izvorna koda lažje in hitreje odkrije napake ali "izjeme" kot drugi jeziki. To omejuje tudi druge vrste napak, ki jih lahko povzročijo nedefinirane spremenljivke ali nedodeljene vrste.
V nasprotju z izvedljivimi datotekami Windows (.EXE-datotekami) ali aplikacijami Macintosh (.APP-datotekami) program Java ne zažene neposredno operacijski sistem. Namesto tega se podatki razlagajo z virtualnim računalnikom Java ali JVM, ki deluje na več platformah. Vsi programi Java so večplastni in se lahko izvajajo na različnih platformah, vključno z računalniki Macintosh, Windows in Unix. JVM mora biti nameščen za zagon programov ali aplikacij. Na voljo kot brezplačen prenos.
Elementi in načela
Uspeh in priljubljenost Jave je prispevala k značilnostim jezika. Našteli smo glavno od njih:
Programi, ustvarjeni v Java, imajo kakovost prenosljivosti v omrežju. Izvorna koda je sestavljen tako, da je programski jezik bajt kodo, ki lahko teče kjerkoli v omrežju do strežnika ali odjemalca z virtualni stroj Java (JVM). JVM interpretira bytecode v kodo, ki bo delovala na računalniški strojni opremi. Nasprotno, večina programskih jezikov, kot so COBOL, C + +, Visual Basic ali Smalltalk, zbrirajo kodo 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 računalnika Mac, Linux ali IBM-ovega glavnega okvira. JVM vključuje neobvezno prevajalnik Just-in-time (JIT), ki dinamično so zbrane Bytecode v izvedljivo kodo kot alternativno razlago en uporabniški byte kodo naenkrat. V mnogih primerih je dinamično urejanje JIT-a hitrejše od interpretacije virtualnega stroja.
Zanesljivost kod. Za razliko od programov, napisanih v C + + in nekaterih drugih jezikih, objekti Java ne vsebujejo sklicevanj na zunanje podatke ali druge znane predmete. To zagotavlja, da navodilo ne vsebuje naslova za shranjevanje podatkov v drugi aplikaciji ali v samem operacijskem sistemu, zaradi česar lahko program in sam operacijski sistem preneha ali sproži napako. JVM izvaja vrsto pregledov na vsakem predmetu, da zagotovi celovitost.
Java je objektno usmerjen jezik. Objekt lahko izkoristi dejstvo, da je del razreda predmeta in podeduje kodo, ki je skupna za razred. Ta metoda se lahko obravnava kot ena od možnosti ali obnašanja predmeta. Objektno usmerjena metoda je relativno pogosta v moderni programski pokrajini, vendar že leta 1996 je le nekaj jezikov učinkovito uporabilo objektno usmerjene koncepte in vzorce oblikovanja.
Prožnost aplikacij. Java applet ima vse lastnosti, namenjene za hiter zagon.
Java je preprost za učenje. Sintaksa jezika je podobna kot C ++. Če razvijalec poseduje jezike C / C + +, učenje tega jezika ne bo težko.
Pogosta napaka je, da obstaja povezava med Java in jаvascriptom. Ti jeziki imajo podobno sintakso, vendar s konstruktivnega vidika so različne strukture.
Platforme
Obstajajo tri ključne platforme, na katerih programerji razvijajo aplikacije Java:
Java SE - preproste samostojne aplikacije so razvite z uporabo Java Standard Edition. Prej znan kot J2SE, Java SE nudi vse API-je, potrebne za razvoj tradicionalnih namiznih aplikacij.
Java EE - Java Enterprise Edition, prej znan kot J2EE, ponuja možnost za ustvarjanje strani strežnika sestavnih delov, ki se lahko odzivajo na cikel web zahteva-odziv. Ta ureditev omogoča ustvarjanje Java-programe, ki lahko pridejo v stik s spletnimi strank, vključno s spletnimi brskalniki, stranke, ki temeljijo na Čorba in celo spletne storitve, ki temeljijo na REST in SOAP.
Java ME - Java ponuja tudi enostavno platformo za mobilni razvoj, znan kot Java Micro Edition, prej znan kot J2ME. Java ME se je uveljavil kot zelo priljubljena platforma za razvoj vgrajenih naprav, vendar se je boril za uspeh na področju razvoja pametnih telefonov. V smislu razvoja pametnih telefonov je Android postal mobilna razvojna platforma.
Primeri uporabe
Z uporabo različnih komponent, ki jih ponuja Java EE, lahko razvijalci enostavno napišejo programe, ki uporabljajo priljubljene vzorce oblikovanja programske opreme in splošno usklajene najboljše prakse.
Okviri Struts, Spring in JavaServer Faces uporabljajo strežnik Java za izvajanje vzorca oblikovanja sprednjega krmilnika za centralizacijo poizvedb.
Medtem je večina ekosistema Java ogromno število odprtokodnih projektov, programskih platform in API-jev, ki so ustvarili skupnost z jezikom. Na primer, Apache Foundation gostuje v različnih projektih, napisanih z uporabo Java, vključno z:
Preprost ogrodje zapisovanja za 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 servisov.
Druga podjetja bodo poskusila prevajati okolja Java EE v oblak. Ker razvijalci ustvarjajo storitve v oblaku, je ključna težava, da hitro ovrednotijo te storitve, pa tudi zmožnost sodelovanja v oblaku.
Kritika
Sintaksa Java je pogosto obsojena zaradi glagolosti. Presežni setterji in garderji, močno tipkanje, naredijo Java programe napihnjene. Kot odziv je ta problem rešil več perifernih jezikov, vključno z Groovyjem, ki je hitro postal priljubljen.
Druga pomanjkljivost je, da programi Java ne morejo linearno rasti v svetu visoko zmogljivih računalnikov. Zaradi dejstva, da se Java nanaša na predmete v notranjosti, lahko zapletene in vzporedne operacije, ki temeljijo na seznamu, vodijo JVM v iskalne rešitve. Jezik Scala rešuje veliko pomanjkljivosti jezika Java, ki zmanjšujejo njegovo razširljivost.
Java Streams
Teče - je programski paradigma, ki ga J. Paul Rodker-Morrison izumili v poznih 60-ih, v kateri je pojem "obdelava podatkov", ki se uporabljajo za načrtovanje in razvoj aplikacij .. Tok Java opredeljuje programe kot procesna omrežja, ki komunicirajo s podatkovnimi bloki (informacijski paketi), ki potujejo prek vnaprej določenih povezav. Te procese je mogoče povezati za nedoločen čas, da oblikujejo aplikacije brez spreminjanja njihove notranje vsebine. Tako je tok usmerjen na komponento.
Ustvarjanje toka Java je posebna oblika programiranja pretoka podatkov. Temelji na omejenih medpomnilnikih, informacijskih paketih s specifično življenjsko dobo, poimenovanih vratih in ločenih definicijah povezav.
Procesi se med seboj povezujejo prek povezav, ki se dostopajo prek vrat. Povezave se ponavadi izvajajo z omejenimi odbori. Velikost vmesnega pomnilnika ali največje število paketov, ki jih lahko vsebuje čakalna vrsta, se imenuje pasovna širina povezave. Nekatere izvedbe vam omogočajo, da vzpostavite povezave z zmogljivostjo 0, kar pomeni, da se IP-naslovi podatkov takoj prenesejo med postopkom pošiljanja in sprejemanja.
Opredelitev
Pretočno programiranje obravnava aplikacijo kot niz procesov ("črne škatle"), ki komunicirajo prek povezav, do katerih dostopajo do procesov z uporabo vrat. Postopek je primer komponente, ki deluje hkrati z drugimi procesi, vključno z drugimi primeri iste komponente.
Skupni pristop za programsko pretočno predvajanje je konceptualizirati program kot niz niti in podtokov, ki tečejo skozi vrsto povezanih procesov. Paralelizem se uresničuje z omejevanjem komunikacije med procesi, ki uporabljajo tokove informacijskih tokov, ko se konča nit Java.
V tem kontekstu vizualno programiranje vključuje povezavo besedilnih komponent ali grafov v dvodimenzionalni pogled, ki uporablja sposobnost prepoznavanja človeških podob in vizualnih stilov razmišljanja. Programiranje besedila je še vedno na voljo na ravni komponente in za preproste aplikacije - na ravni omrežja.
Glavne značilnosti so ponovna uporaba kode, preverljivost in vzporednost.
Uvod
Pretočno programiranje določa aplikacije z uporabo "metapodatkov za podatke". Vloga se šteje, da niso kot en serijski proces, ki se začne v trenutku, nato pa eno operacijo na enoto časa za dokončanje, in kot mreža asinhronih procese, ki komunicirajo prek potokov strukturiranih blokov podatkov, ki se imenuje informacijski paketi (IP). Mreža opredeljujejo zunanji procesi kot seznam povezav, ki jih tolmači del programske opreme, ki se ponavadi imenuje scheduler.
Procesi se med seboj povezujejo s povezavo s fiksno zmogljivostjo. Povezava je povezana s procesom z uporabo pristanišča, ki ima ime, ki je skladno med procesno kodo in definicijo omrežja. Ista koda lahko izvede več kot en postopek. V vsakem trenutku lahko ta naslov IP pripada le enemu procesu ali pa je v poti med dvema procesoma. Pristanišča so lahko preprosta ali ogromna.
Ker se procesi Java niti lahko nadaljujejo tako dolgo, kot se želijo pri vhodnih in izhodnih podatkih, aplikacije, ki uporabljajo to metodo, običajno delajo v manj časa kot običajni programi in optimalno uporabljajo vse procesorje na napravi.
Omrežje
Opredelitev omrežja je ponavadi shematična in se pretvori v seznam povezav v jeziku ali zapisu nižje ravni. Java I / O je pogosto jezik vizualnega programiranja na tej ravni. Zahtevnejše definicije omrežij imajo hierarhično strukturo, ki je ustvarjena iz podomrežij s fleksibilnimi povezovalnimi povezavami. Drugi primeri niti Java temeljijo na bolj tradicionalnih programskih jezikih. Zlasti RaftLib uporablja C ++ in iostream-like operaterje za izvajanje toka Java.
Opis postopka
Delo z nizi Java prikazuje povezavo podatkov kot najšibkejšo povezavo med komponentami. Koncept svobodne komunikacije je v zameno povezan s konceptom storitveno usmerjenih arhitektur. Zbirni niz Java ustreza številnim merilom za takšno arhitekturo.
Metoda pretočnega prenosa spodbuja stil funkcionalne specifikacije na visoki ravni, ki poenostavlja razvoj hipotetičnih predpogojev za obnašanje sistema. Primer tokov Java je porazdeljeni model gibanja podatkov za konstruktivno ustvarjanje in analizo semantike razdeljenih protokolov.
Značilnosti
Streaming programiranje ima naslednje edinstvene lastnosti:
Struktura: diagrami in komponente imajo jasno strukturo (vmesnik, stanje in vedenje).
Zasnova sistema je razdeljena na dva sloja: grafična (običajno vidna) in komponenta (navadno besedilo). V smislu arhitekture programske opreme se spodbujajo različne vloge. Na primer: Java niti nadzirajo funkcije vlog "Graph Designer" in "Component-Implementer".
Načelo vzporednosti: vsak proces se izvaja v svoji nitki, spremljevalnem programu ali drugem okolju.
Aktiviranje - s stališča oblikovalca se hkrati izvajajo grafični procesi, funkcija programske opreme za načrtovanje pa vam omogoča, da dodelite čas CPU in upravljate druge storitve, če je to potrebno za podporo tej funkciji.
Informacijski paketi pri izdelavi toka Java imajo življenjski cikel in pripadajo le enemu procesu.
Komponente imajo lahko več vhodov ali izhodov.
Aplikacija je graf, ne drevo. Dovoljene so ciklične povezave (povratne zanke).
Povezave lahko združimo v graf, kar pomeni, da paketi iz različnih lokov pridejo v vhodno vrata. Povezave je treba ločiti prek komponente zaradi raznolikosti strategij razdeljevanja in pravil IP lastnosti.
Povezave se izvajajo kot omejene medpomnilnike z obsegom od 0 do številke, omejene z izvedbo.
Primeri
Komponente podatkovnih tokov Java pogosto tvorijo komplementarne pare. V navadni logiki programer hitro odkrije, da se ne morejo uporabiti niti vhodne niti izhodne strukture za nadzor hierarhije klicev nadzornega pretoka. V vhodnih tokovih Java ponuja sam problem opis rešitve.
"Besede" so izrecno omenjene v opisu težave, zato jih mora razvijalec upoštevati kot informacijske pakete (IP). V vhodnih tokovih Java ni nobene hierarhije klicev, zato programerju ni treba dati prednost.
Pri izdelavi toka Java so lahko izvorni informacijski paketi (IIP) uporabljeni za določanje parametričnih informacij, kot je želena dolžina izhodnega zapisa ali datotek. IIP so podatkovni bloki, povezani s pristaniščem v definiciji omrežja, ki postanejo »običajni« IP-naslovi, ko se za ustrezno vrata izda parameter »prejeto«.
Paketna posodobitev
Ta vrsta programa vključuje prenos informacijske datoteke (spremembe, dodatki in brisanje) v glavno datoteko in ustvarjanje posodobljene glavne datoteke in enega ali več poročil. Novi tok Java je precej težko kodirati s sinhrono proceduralno kodo, ker je treba sinhronizirati dva (včasih več) vhodnih tokov.
V pretočni arhitekturi komponenta za ponovno uporabo močno poenostavlja pisanje te vrste aplikacije, saj to orodje združuje dve niti in vstavlja podatke IP za označevanje ravni združevanja. Predpostavimo, da eden ali dva toka Java vsebujeta IP-naslove s ključnimi vrednostmi 1, 2 in 3, IP-naslov druge niti pa ima ključne vrednosti 11, 12, 21, 31, 32, 33 in 41, kjer prva številka ustreza vrednostim glavni ključ. Z uporabo oklepaj za predstavitev naslovov IP bo zbran izhodni tok izgledal takole: (m1 d11 d12) (m2 d21) (m3 d31 d32d33) (d41).
Procesi multipleksiranja
Pretočno programiranje podpira multipleksiranje procesov. Ker so komponente samo za branje, se lahko poljubno število primerkov te komponente ("procesi") med seboj opravi asinhrono.
Ko so računalniki imeli en procesor, je bilo uporabno, ko so se nadaljevale mnoge operacije I / O. Zdaj, ko imajo stroji več procesorjev, postane to res koristno orodje. Threads of Java Thread delo na principu večopravilnost.
DrawFBP kot orodje
Streaming programiranje je paradigma, kjer so programi ustvarjeni iz komponent, ki imajo niz posebnih vhodnih in izhodnih vrat. Ta vrata so povezana, da ustvarijo graf, ki določa logiko in pretok podatkov. DrawFBP je namizna aplikacija, ki lahko določi načrte, ki temeljijo na nitih za Java in C #. To je najbolj funkcionalno popoln uporabniški vmesnik za programsko pretočno predvajanje, vendar je nekoliko omejen z zmogljivostmi požarnega zidu Java in z nezmožnostjo introspekcije informacij, ki so na voljo prek vmesnika za prenos sestavnih delov.
Ključni del uporabniškega vmesnika je poenostaviti ustvarjanje in razumevanje programov, ki temeljijo na metodi pretoka.
- Kako namestiti Java v operacijskem sistemu Windows 7
- Kako posodobiti Java v operacijskih sistemih Linux in Windows?
- Prvi Java program je Hello World
- Java programski jezik
- Kako in zakaj moram namestiti Java v svoj računalnik?
- Seznam programskih jezikov. Programski jeziki na nizki in visoki ravni
- Kaj je jаvascript? Osnovne funkcije jаvascript
- Java nizi nizov. Razvrščanje matrike v Java. Dvodimenzionalna Java matrika
- Java: regularni izrazi, posebni znaki
- Kako se naučiti programiranja iz nič v priljubljenih programskih jezikih
- Računalniški programski jeziki: vrste, opis, uporaba in povratne informacije
- Integrirano razvojno okolje Java
- Najbolj priljubljeni programski jeziki. Programski jeziki za začetnike
- Format JAR: kaj naj odprete v računalniku ali v telefonu
- Java ni nameščen: kaj naj storim? Kako namestiti na Ubuntu?
- Java: InputStream. Vhodni tokovi
- BigInteger Java: delo z velikimi številkami
- Java Array. Nizi v Java. Java za začetnike
- Kako omogočiti Java v Firefoxu za težave z zaklepanjem
- Kateri programski jezik naj izberem za začetnika za učenje
- Kako odstraniti java iz računalnika? To je enostavno!