Java je programovací jazyk na vysokej úrovni vyvinutý spoločnosťou Sun Microsystems. Pôvodne vytvorený na vývoj programov pre tweety a vreckové zariadenia, ale neskôr sa stal obľúbeným a obľúbeným jazykom pre vytváranie webových aplikácií. Spoločnosť Oracle získala spoločnosť Sun Microsystems v januári 2010, takže Java je teraz podporovaná a distribuovaná spoločnosťou Oracle. Java používa objektovo orientovaný programovací model a môže byť použitý na vytváranie aplikácií, ktoré môžu bežať na tom istom počítači alebo distribuované medzi servery a klientmi v sieti. Môže sa použiť aj na vytvorenie malého programového modulu alebo appletu, ktorý sa môže použiť ako súčasť webovej stránky.
Výhody
Prvky a princípy
Platformy
Príklady použitia
Kritika
.
Streamy Java
Streams - programová paradigma, ktorú vynašiel J. Podkery Rodker-Morrison v neskorých 60-tych rokoch, ktorý používa termín "spracovanie údajov" na navrhovanie a vytváranie aplikácií. Prúd definuje Java aplikácií sieťové procesy komunikujú prostredníctvom dátových blokov (informačných paketov), ktoré sa pohybujú pozdĺž určitej spojenie. Tieto procesy môžu byť nekonečne prepojené na vytváranie aplikácií bez zmeny ich interného obsahu. Tok prúdu je teda orientovaný na komponent. Vytvorenie toku Java je špecifická forma programovania dátových tokov. na obmedzené Nárazníky pakety informácií s určitou životnosť, zvané prístavy a samostatné pripojenie definície založené. Procesy spolupracujú prostredníctvom pripojení, ku ktorým sa pristupuje cez porty. Pripojenia sa zvyčajne vykonávajú prostredníctvom obmedzených vyrovnávacích pamätí. Veľkosť vyrovnávacej pamäte alebo maximálny početPakety, ktoré môžu obsahovať fronty, sa nazývajú pripojenia na šírku pásma. Niektoré implementácie vám umožňujú vytvoriť spojenie s kapacitou 0, čo znamená, že IP adresy dát sa okamžite prenášajú medzi procesmi odosielania a prijímania.
Streamingové programovanie vidí program ako sadu procesov ("čierne skrinky"), ktoré prostredníctvom pripojení, ku ktorým procesom sa pristupuje pomocou portov. Proces je inštanciou komponentu, ktorá pracuje súbežne s inými procesmi, vrátane iných príkladov tej istej zložky. Všeobecným prístupom v postupnom programovaní je konceptualizovať program ako sériu prúdov a podtokov, ktoré sa vyskytujú prostredníctvom série súvisiacich procesov. Paralelnosť sa realizuje obmedzením vzťahu medzi procesmi využívajúcimi toky paketových informácií po dokončení toku Java.
Vizuálne programovanie v tomto kontexte zahŕňa spojenie textových komponentov alebo grafov v dvojrozmernom pohľade, ktorý využíva schopnosť rozpoznávať ľudské obrazy a vizuálne štýly myslenia. Programovanie textu je predtým k dispozícii na úrovni komponentov a pre jednoduché aplikácie - na úrovni siete. Hlavnými črtami sú opätovné použitie kódu, testovanie a paralelnosť.
Streamovanie programovania definuje aplikácie používajúce metaforu "data factory". Aplikácia sa nepovažuje za jediný sekvenčný proces, ktorý sa začína v určitom časovom bode, a potom vykoná jednu operáciu na jednotku času až do úplného dokončenia, ale ako sieťasynchrónne procesy spojené s prúdmi štruktúrovaných dátových blokov nazývaných informačné pakety (IP). Sieť je definovaná externými procesmi ako zoznam spojení, ktoré sa interpretujú ako súčasť softvéru, obyčajne nazývaného plánovač. Procesy spolupracujú prostredníctvom pripojenia pevnej kapacity. Pripojenie sa pripája k procesu pomocou portu, ktorý má názov dohodnutý medzi procesným kódom a definíciou siete. Jeden a ten istý kód môže vykonávať viac ako jeden proces. V akejkoľvek dobe môže táto adresa IP patriť iba jednému procesu alebo byť na ceste medzi dvoma procesmi. Porty môžu byť jednoduché alebo masívne. Keďže procesy vlákien Java môžu naďalej bežať neurčito, so vstupnými a výstupnými dátami, aplikácie používajúce túto metódu zvyčajne pracujú menej ako bežné aplikácie a optimálne používajú všetky procesory na stroji.
Definícia siete sa zvyčajne schematicky transformuje na zoznam pripojení v niektorom jazyku alebo na nižšej úrovni. Java I /O toky sú často jazykom vizuálneho programovania na tejto úrovni. Zložité definície sietí majú hierarchickú štruktúru, ktorá pozostáva z podsietí s flexibilnou konektivitou. Ďalšie príklady Java vlákien sú založené na tradičných programovacích jazykoch. Konkrétne RaftLib používa operátory typu C ++ a iostream, aby spustili tok Java.
Práca s vláknami Java zobrazuje najdôležitejšiu väzbu údajovslabé spojenie medzi komponentmi. Koncept slobodnej komunikácie je zase spojený s koncepciou architektúry orientovanej na služby. Pool s vláknami Java spĺňa množstvo kritérií pre túto architektúru.
Metóda streamingu prispieva k funkčnému štýlu na vysokej úrovni špecifikácií, ktoré zjednodušujú vývoj hypotetických predpokladov pre správanie sa systému. Príklad tokov Java je model distribuovaného dátového prenosu pre konštruktívny návrh a analýzu sémantiky distribuovaného protokolu.
Programovanie streamovania má tieto jedinečné vlastnosti:Štruktúra: diagramy a komponenty majú jasnú štruktúru (rozhranie, stav a správanie). Návrh systému je rozdelený do dvoch vrstiev: grafický (zvyčajne vizuálny) a komponent (zvyčajne textový). Pokiaľ ide o architektúru softvéru, podporujú sa rozličné úlohy. Ako príklad: Java podprocesy sú riadené funkciami na hranie rolí Grafický návrhár a komponent-implementátor. Princíp paralelnosti: každý proces funguje vo svojom toku, pridruženom programe alebo inom prostredí. Aktivácia - z hľadiska návrhára sa súčasne vykoná grafický bod procesu a funkcia plánovacieho softvéru vám umožňuje distribuovať čas procesora a spravovať ďalšie služby, ktoré sú potrebné na podporu tejto funkcie. Informačné pakety pri vytváraní Java streamu majú životný cyklus a patria len do jedného procesu. Komponenty môžu mať viac vstupov alebo výstupov. Aplikácia je graf, nie strom. Môžu sa použiť cyklické zlúčeniny (slučky spätnej väzby). Spojenia je možné kombinovať do grafu, čo znamená, že na vstupnom portu prichádzajú pakety rôznych oblúkov. Pripojenia by sa mali rozdeliť prostredníctvom komponentu kvôli rôznorodosti distribučných stratégií a pravidiel vlastníctva IP. Pripojenia sa implementujú ako obmedzené vyrovnávacie pamäte s objemom od 0 do čísla obmedzeného implementáciou.
Komponenty dátových tokov Java často tvoria doplnkové dvojice. V bežnej logike programátor rýchlo zistí, že ani vstupné ani výstupné štruktúry nemôžu byť použité na riadenie toku hierarchie riadenia hovorov. V záhlaví zavádzania Java popis riešenia ponúka riešenie. "Slova" sú explicitne opísané v popise problému, takže vývojár by ich mal považovať za informačné pakety (IP). Vo vstupných tokoch Java neexistuje žiadna hierarchia hovorov, takže programátor nemusí nastavovať prioritu. Pri generovaní toku Java sa môžu na indikáciu parametrických informácií, ako je požadovaná dĺžka výstupného záznamu alebo názvy súborov, použiť zdrojové informačné pakety (IIP). IIP sú dátové bloky, ktoré sú priradené k portu v definícii siete, ktorý sa stáva "bežným" adresami IP, keď sa príznak "prijatý" vydáva do príslušného portu.
Tento typ programu zahŕňa prenos súboru informácií (zmien, doplnení a odstránení) do hlavného súboru a vytvorenie aktualizovaného hlavného súboru a jedného alebo viacerých prehľadov. Nový tok Java stačíJe ťažké šifrovať pomocou synchrónneho procedurálneho kódu, pretože dva (niekedy aj viac) vstupné toky musia byť synchronizované. V streamingovej architektúre umožňuje opätovne použiteľná zložka oveľa jednoduchšie zaznamenávať tento typ aplikácie, pretože tento nástroj kombinuje dva prúdy a vkladá údaje IP na špecifikáciu úrovní skupiny. Predpokladajme, že jedna alebo dve vlákna Java pozostávajú z adries IP s kľúčovými hodnotami 1 2 a 3 a IP adresy druhého vlákna majú kľúčové hodnoty 111221 313233 a 41, kde prvá číslica zodpovedá hodnote hlavného kľúča. Pomocou zátvoriek na zobrazenie adries IP zhromaždený výstupný prúd bude vyzerať takto: (m1 d11 d12) (m2 d21) (m3 d31 d32d33) (d41).
Streamovanie programovania podporuje multiplexovanie procesov. Pretože sú komponenty iba na čítanie, môžu byť ľubovoľné počty inštancií tejto zložky ("procesy") vzájomne spúšťané asynchrónne. Keď počítače mali jeden procesor, bolo to užitočné, keď pokračovali mnohé I /O operácie na vláknach Java. Teraz, keď stroje majú viac procesorov, stáva sa to naozaj užitočným nástrojom. Podprocesy Java Thread pracujú na princípe multitaskingu.
Streamovanie programovania je paradigmom, kde sú programy vytvorené z komponentov, ktoré majú súbor špecifických vstupných a výstupných portov. Tieto porty sú spojené, aby vytvorili graf, ktorý definuje logiku a tok dát. DrawFBP je desktopová aplikácia, ktorá môže definovať vývojové diagramy Java a C #. Toto je najviac funkčnéstreamingové programovacie rozhranie, ale je trochu obmedzené schopnosťami firewallu Java a neschopnosťou introspekcie informácií dostupných cez rozhranie na stiahnutie komponentov. Kľúčom k rozhraniu je zjednodušiť vytváranie a pochopenie programov založených na metóde toku.