Java je programski jezik visoke razine koji je razvio Sun Microsystems. Izvorno stvoren za razvoj programa za tweetove i džepne uređaje, ali kasnije je postao popularan i popularan jezik za izradu web aplikacija. Oracle je kupio Sun Microsystems u siječnju 2010. godine, tako da Java sada podržava i distribuira Oracle. Java koristi objektno-orijentirani model programiranja i može se koristiti za stvaranje aplikacija koje se mogu izvoditi na istom računalu ili distribuirati između poslužitelja i klijenata na mreži. Također se može koristiti za stvaranje malog programskog modula ili apleta za korištenje kao dio web-stranice.
Prednosti
Elementi i načela
Platforme
Primjeri uporabe
Kritika
Java Streams
Definicija
Vizualno programiranje u ovom kontekstu uključuje povezivanje tekstualnih komponenti ili dijagrama u dvodimenzionalnom pogledu koji koristi sposobnost prepoznavanja ljudskih slika i vizualnih stilova mišljenja. Programiranje teksta je prethodno dostupno na razini komponenti, a za jednostavne aplikacije - na razini mreže. Glavne značajke su ponovno korištenje koda, testiranje i paralelizam.
Streaming programiranje definira aplikacije pomoću metafore "tvornica podataka". Aplikacija se ne smatra pojedinačnim, sekvencijalnim procesom koji počinje u određenom trenutku u vremenu, a zatim izvodi jednu operaciju po jedinici vremena do potpunog završetka, ali kao mrežuasinkroni procesi, povezani sa strujama blokova strukturiranih podataka koji se nazivaju informacijski paketi (IP). Mreža je definirana vanjskim procesima kao popis veza koje se tumače kao dio softvera, obično nazvan raspored. Procesi međusobno djeluju putem veze fiksnog kapaciteta. Veza se povezuje s procesom pomoću porta koji ima ugovoreno ime između procesnog koda i definicije mreže. Jedan isti kôd može izvesti više od jednog procesa. U bilo kojem trenutku ova IP adresa može pripadati samo jednom procesu ili biti na putu između dva procesa. Luke mogu biti jednostavne ili masivne. Budući da se Java procesi mogu nastaviti neograničeno, s ulaznim i izlaznim podacima, aplikacije koje koriste ovu metodu obično rade manje od uobičajenih aplikacija i optimalno koriste sve procesore na stroju.
Definicija mreže obično se shematski pretvara u popis veza na nekom jeziku ili notaciji niže razine. Java I /O tokovi često su jezik vizualnog programiranja na ovoj razini. Složenije definicije mreža imaju hijerarhijsku strukturu koja se sastoji od podmreža s fleksibilnom povezanošću. Ostali primjeri Java niti temelje se na tradicionalnim programskim jezicima. Konkretno, RaftLib koristi C ++ i operatore slične iostreamu kako bi izvršio Java stream.
Rad s nitima Java pokazuje obvezujuće podatke kao najvišeslaba povezanost komponenti. Koncept slobodne komunikacije, pak, povezan je s konceptom uslužno orijentiranih arhitektura. Udaljeni niz Java-ova zadovoljava niz kriterija za takvu arhitekturu.
Metoda strujanja doprinosi funkcionalnom stilu visoke razine specifikacija, što pojednostavljuje razvoj hipotetskih preduvjeta za ponašanje sustava. Primjer Java tokova je model distribuiranog podatkovnog prometa za konstruktivno projektiranje i analizu semantike distribuiranog protokola.
Streaming programiranje ima sljedeća jedinstvena svojstva:Strukturalnost: dijagrami i komponente imaju jasnu strukturu (sučelje, stanje i ponašanje). Dizajn sustava podijeljen je u dva sloja: grafički (obično vizualni) i komponentni (obično tekstualni). U pogledu softverske arhitekture, potiču se različite uloge. Kao primjer: Java teme se upravljaju funkcijama igranja uloga grafičkog dizajnera i komponentnog implementatora. Načelo paralelizma: svaki proces radi u svom toku, pridruženom programu ili drugom okruženju. Aktivacija - sa stajališta dizajnera, grafička točka procesa se izvršava istodobno, a funkcija softvera za planiranje omogućuje distribuciju procesorskog vremena i upravljanje drugim uslugama koje su potrebne za podržavanje ove funkcionalnosti. Paketi informacija pri stvaranju Java toka imaju životni ciklus i pripadaju samo jednom procesu. Komponente mogu imati višestruke ulaze ili izlaze.Aplikacija je graf, a ne stablo. Mogu se koristiti ciklički spojevi (petlje povratne veze). Veze se mogu kombinirati u grafikon, što znači da paketi različitih lukova dolaze na ulazni port. Veze bi trebale biti podijeljene kroz komponentu zbog raznolikosti strategija distribucije i pravila vlasništva nad intelektualnim vlasništvom. Veze se provode kao ograničeni međuspremnici s volumenom od 0 do broja ograničenog implementacijom.
Komponente Java podatkovnih tokova često tvore komplementarne parove. U uobičajenoj logici, programer brzo pronalazi da ni ulaz ni izlazne strukture mogu biti korišteni za kontrolu protoka hijerarhije kontrolnih poziva. U niti uvođenja Jave, opis problema nudi rješenje. "Riječi" su izričito opisane u opisu problema, tako da ih programer treba smatrati informacijskim paketima (IP). U Java ulaznim strujama ne postoji jedinstvena hijerarhija poziva, pa programer ne treba postaviti prioritet. Kada se generira Java stream, paketi informacija o izvoru (IIP) mogu se koristiti za označavanje parametarskih informacija, kao što su željena duljina izlaznog zapisa ili naziva datoteka. IIP-ovi su blokovi podataka koji su povezani s portom u definiciji mreže koji postaje "uobičajena" IP adresa kada se "primljeni" parametar izdaje odgovarajućem portu.
Ova vrsta programa uključuje prijenos datoteke podataka (promjene, dodavanja i brisanja) u glavnu datoteku i stvaranje ažurirane glavne datoteke i jednog ili više izvješća. Novi protok Jave je dovoljanTeško je šifrirati pomoću sinkronog proceduralnog koda, budući da se dva (ponekad više) ulaznih tokova moraju sinkronizirati. U arhitekturi streaminga, višekratna komponenta olakšava snimanje ove vrste aplikacije jer ovaj alat kombinira dva toka i umeće IP podatke kako bi odredio razine grupe. Pretpostavimo da se jedna ili dvije Java niti sastoje od IP adresa s ključnim vrijednostima 1 2 i 3, a IP adrese druge niti imaju ključne vrijednosti 111221 313233 i 41 gdje prva znamenka odgovara vrijednosti glavnog ključa. Koristeći zagrade za prikaz IP adresa, prikupljeni izlazni tok će izgledati ovako: (m1 d11 d12) (m2 d21) (m3 d31 d32d33) (d41).
Streaming programiranje podržava multipleksiranje procesa. Budući da su komponente samo za čitanje, bilo koji broj primjeraka ove komponente ("procesi") može se izvoditi asinkrono jedan s drugim. Kada su računala imala jedan procesor, bilo je korisno kada su se nastavile mnoge I /O operacije na Java nitima. Sada kada strojevi imaju više procesora, on postaje stvarno koristan alat. Teme Java Thread-a rade na principu višezadaćnosti.
Streaming programiranje je paradigma u kojoj se programi stvaraju iz komponenti koje imaju skup specifičnih ulaznih i izlaznih portova. Ti su priključci povezani zajedno kako bi napravili graf koji definira logiku i protok podataka. DrawFBP je desktop aplikacija koja može definirati dijagrame tijeka za Java i C #. Ovo je najfunkcionalnija potpunasučelje za programiranje streaminga, ali je donekle ograničeno mogućnostima Java firewalla i nemogućnošću introspekcije informacija dostupnih preko sučelja za preuzimanje komponenti. Ključ sučelja je pojednostavniti stvaranje i razumijevanje programa koji se temelje na protočnoj metodi.