Pa rhuzamossa g. Java tutorial. Alkalmazasi teruletek. Cel. Pa rhuzamossa gi modellek. Ha egy processzor van...
|
|
- Jenő Halász
- 7 évvel ezelőtt
- Látták:
Átírás
1 Pa rhuzamossa g ö A program egyszerre tobb mindent is csinalhat ö Lehet segek: í Szamıtassal egyid ben IO í Tobb processzor: szamıtasok egyid ben í Egy processzor tobb programot futtat (process) ö tobbfelhasznalü s rendszer ö id osztasos technika í Egy program tobb vegrehajtasi szalbü l all (thread) Cel ö Hatekonysag novelese: ha tobb processzor van ö Tobb felhaszna lü kiszolga la sa í egy id ben í interakciü ö Program logikai tagola sa ö az egyik szal a felhasznalü i felulettel foglalkozik ö a masik szal a halü zaton keresztul kommunikal valakivel Alkalmazasi teruletek ö Sza mıta silag nehez problema k ö pl. id jaras-el rejelzes ö Valü s idejú alkalmazasok ö Opera ciü s rendszerek ö Folyamatszabalyoza si feladatok ö Szimulaciü k ö pl. agensek ö Elosztott rendszerek ö pl. repul teri helyfoglalas Pa rhuzamossa gi modellek ö Megosztott (shared) í Tobb processzor, ugyanaz a memü riaterulet ö Elosztott (distributed) í Tobb processzor, mindnek sajat memü ria í Kommunikaciü s csatornak, uzenetkuldes ö Mi van, ha csak egy processzor van? Ha egy processzor van ö A processzor kapcsolgat a kulonboz folyamatok kozott ö Mindegyiket csak kis ideig futtatja ö A pa rhuzamossa g la tszata ö A processzorid jü kihasznala sa í Blokkolt folyamatok nem tartjak fel a tobbit í A valtogata s is id igenyes! 1
2 Pa rhuzamossa g egy folyamaton belul ö Vegrehajta si sza lak (thread) ö Ilyenekkel fogunk foglalkozni ö Pehelys ly (Lightweight, keves koltsegú) ö Leginka bb a feladat logikai darabola sa bü l í De elkepzelhet, hogy kulonboz processzorokra kerulnek a szalak ö MegosztottÜ jelleg: kozos memü ria Szalak Java-ban ö Beepıtett nyelvi tamogatas: java.lang ö Nyelvi fogalom: (vegrehajtasi) szal, thread ö Tamogatü oszta ly: java.lang.thread Vigya zat! ö Nagyon nehez parhuzamos programot ırni! ö Az ember mar nem latja at ö Sok problema í kommunikaciü í szinkronizaciü í utemezes í interferencia Vegrehajta si sza lak letrehoza sa ö A f program egy vegrehajtasi szal ö Tova bbi vegrehajta si sza lak hozhatü k letre ö Egy Thread osztalyba tartozü objektumot letre kell hozni ö Az objektum start() metü dusa val indıtjuk a vegrehajtasi szalat ö A szal programja az objektum run() metü dusaban van Pelda new Thread(); ö Hat ez meg semmi kulonoset sem csinal, mert ures a run() 2
3 Pelda (new Thread()).start(); ö Hat ez meg semmi kulonoset sem csinal, mert ures a run() Pelda a run() feluldefinialasara (new MyThread()).start(); class MyThread extends Thread { while(true) System.out.println("Hi!"); Pelda a run() feluldefinialasara (new Thread(){ while(true) System.out.println("Hi!"); ).start(); Az elindıtas ö Nem eleg letrehozni egy Thread objektumot í A Thread objektum nem a vegrehajtasi szal í Csak egy eszkoz, aminek segıtsegevel kulonboz dolgokat csinalhatunk egy vegrehajtasi szallal ö Meg kell hıvni a start() metü dusat ö Ez automatikusan elindıtja a run() metü dust ö Ezt a run()-t kell feluldefinialni, megadni a sza l programja t Illusztra ciü { { { 3
4 Illusztra ciü { { { Illusztra ciü Illusztra ciü { { { { { { Illusztra ciü Illusztra ciü { { { { { { 4
5 Illusztra ciü Illusztra ciü { { { { { { Kerdes (new Thread()).start(); ö Hany szalon fut ez a program? Hany vegrehajtasi szal van? Mit csinal ez a program? (new MyThread()).start(); while(true) System.out.println("Bye"); class MyThread extends Thread { while(true) System.out.println("Hi!"); Feladat ö Prü baljuk ki, hogy mit csinal az el z program, de ö legyen harom szal í hozzunk letre ket peldanyt a MyThread osztalybü l í inicializaljuk a ket peldanyt kulonboz stringekkel í ezeket a stringeket kell kiırniuk 5
6 Mit kene csinalnia? ö Definia latlan ö U temezest l fugg ö A nyelv definıciü ja nem tesz megkotest az utemezesre ö Kulonboz platformokon / virtualis gepeken kulonboz keppen múkodhet ö A virtualis gep meghataroz(hat)ja az utemezesi strategiat ö De azon belul is sok lehet seg van ö Sok mindent l fugg (pl. h merseklett l) U temezes kulonboz platformokon ö Solaris alatt: egy szal addig fut, amıg csak lehet (hatekonyabb) ö NT alatt: id osztasos utemezes (igazsa gosabb) ö O sszefoglalva: ırjunk olyan programokat, amelyek múkodese nem erzekeny az utemezesre Pa rtatlansa g (fairness) ö Ha azt akarjuk, hogy minden szal egyszerreü, parhuzamosanü fusson ö Ha egy szal mar eleg sokatü dolgozott, adjon lehet seget mas szalaknak is yield() ö Ezen metü dus meghıva sa val lehet lemondani a vezerlesr l ö A Thread osztaly statikus metü dusa Mit csinal ez a program? (new MyThread()).start(); while(true){ System.out.println("Bye"); Thread.yield(); Feladat ö Irjuk be a yield()-eket a szalainkba! 6
7 A masik t ö Java-ban egyszeres orokl des ö Vegrehajta si sza lna l lesza rmaztata s a Thread osztalybü l í elhasznaljaü azt az egy lehet seget ö Megoldas: ne kelljen leszarmaztatni ö Megvalü sıtjuk a Runnable interfeszt, ami el ırja a run() metü dust ö Egy Thread objektum letrehozasanal a konstruktornak atadunk egy futtathatü objektumot Pelda a run() megadasara (new MyThread()).start(); class MyThread extends Thread { while(true) System.out.println("Hi!"); Pelda a run() megadasara (new Thread(new MyRunnable())).start(); class MyRunnable implements Runnable { while(true) System.out.println("Hi!"); Tipikus pelda class MyApplet extends Applet implements Runnable { // animacio megjelenıtese { (new Thread(this)).start(); Letrejott Eletciklus IO rendelkezesre all start() Futtathatü felebredes v. interrupt() yield() JVM notify() wait() Blokkolt sleep() Futü blokkolü IO Veget ert run() elfogy 7
8 Letrejott start() yield() stop() Veget ert Eletciklus JVM Futtathatü suspend() Futü run() elfogy notify() wait() IO rendelkezesre all felebredes v. interrupt() resume() Blokkolt sleep() blokkolü IO import java.util.*; import java.io.*; class SleepDemo extends Thread { while(true){ try { sleep(1000); catch (InterruptedException ie){ System.out.println(new Date()); public static void main(string[] args) { (new SleepDemo()).start(); while(true){ System.err.println(); import java.util.*; import java.io.*; class BlokkoloDemo extends Thread { while(true){ try { System.in.read(); catch (IOException ie){ System.out.println(new Date()); public static void main(string[] args) { (new BlokkoloDemo()).start(); while(true){ System.err.println(); Feladat ö A mez n (ami a keperny megfelel je) egy ny l es egy rü ka bü klaszik. A nyulat mi iranyıtjuk a szabvanyos bemenetr l az 'q', 'w', 'e', 'a', 's', 'd', 'y', 'x' es 'c' billentyúk segıtsegevel. A rü ka a ny l fele igyekszik. Az allatok a 8 veluk szomszedos mez re lephetnek at egy lepesben. A rü ka kb. ketszer olyan gyakran lep, mint a ny l, viszont minden iranyvaltoztatas el tt meg kell allnia. Szal leallıtasa ö A stop() metü dus nem javasolt. ö Bızzuk ra a szalra, hogy mikor akar megallni. ö Ha a run() egy ciklus, akkor szabjunk neki feltetelt. í Gyakran egy sleep() is van a ciklusban. í A feltetel egy flag-et figyelhet, amit kıvulr l atbillenthetunk. ö Feladat: allıtsuk le a nyuszit, ha megfogta a rü ka! 8
9 Pelda class MyApplet extends Applet implements Runnable { private boolean fut = false; { public void stop(){ { fut = true; (new Thread(this)).start(); public void stop(){ fut = false; while(fut){ // animacio egy lepese try{ sleep(100); catch(interruptedexeption e){ Az els problema: interferencia ö Ket vagy tobb szal, noha kulon-kulon jü k, egyutt megis butasagot csinalnak: a b = ab V ba í felulırjak egyma s eredmenyeit í inkonzisztenciat okoznak ö Peldaul ket szal ugyanazon az adaton dolgozik egyidejúleg class Szamla { int egyenleg; public void ratesz(int sszeg){ int ujegyenleg; ujegyenleg = egyenleg+ sszeg; egyenleg = ujegyenleg; Interferencia ellen: szinkronizaciü Az adatokhoz valü hozza feres szerializa la sa Kolcsonos kizaras Kritikus szakaszok vedelme ö Szemafor - mint vonatoknal í P es V múvelet í veszelyes programozas, rossz min segú kü d ö Monitor í adatok + múveletek kolcsonos kizarassal í jü l illeszkedik az objektum-elvú szemlelethez ö Irü -olvasü í J-ban nincs olyan nyelvi elem, mint pl. Ada protected Pelda: thread-safeü sza mla class Szamla { private int egyenleg; public synchronized void ratesz(int sszeg){ int ujegyenleg; ujegyenleg = egyenleg+ sszeg; egyenleg = ujegyenleg; 9
10 A synchronized kulcsszü ö Metü dusok ele ırhatjuk (de pl. interfeszekben nem!) ö Kolcsonos kizaras arra a metü dusra, s t ö Kulcs (lock) + varakozasi sor í A kulcs aze az objektume, amelyike a metü dus í Ugyanaz a kulcs az osszes szinkronizalt metü dusahoz 1 Miel tt egy szal belephetne egy szinkronizalt metü dusba, meg kell szereznie a kulcsot 2 Var ra a varakozasi sorban 3 Kilepeskor visszaadja a kulcsot ö A nyulas-rü kas feladatban hol van szukseg szinkronizaciü ra? Irjuk bele! class Szamla { private int egyenleg; public synchronized void ratesz(int sszeg){ int ujegyenleg; ujegyenleg = egyenleg+ sszeg; egyenleg = ujegyenleg; public synchronized void kivesz(int sszeg) throws SzamlaTullepesException { if( egyenleg < sszeg ) throw new SzamlaTullepesException(); else egyenleg -= sszeg; Szinkronizalt blokkok ö A synchronized kulcsszü vedhet blokk utasıtast is ö Ilyenkor meg kell adni, hogy melyik objektum kulcsan szinkronizaljon synchronized(obj){ ö Metü dus szinkroniza ciü ja val egyenertekú public void ratesz(int sszeg){ synchronized(this){ ö Ha a szamla objektum ratesz metü dusa nem szinkr. synchronized(szamla){ szamla.ratesz(100); Szinkronizalt blokkok (2) ö Sokszor gy hasznaljuk, hogy a monitor szemleletet megtorjuk ö Nem az adat múveleteire biztosıtjuk a kolcsonos kizarast, hanem az adathoz hozza ferni igyekv kü dba tesszuk ö A kritikus szakasz utasıtashoz hasonlıt ö Letjogosultsag: ha nem egy objektumban vannak azok az adatok, amelyekhez szerializalt hozzaferest akarunk garantalni í Er forrasok kezelese, tranzakciü k í Kes bb latunk peldat Statikus szinkronizalt metü dusok class A { static synchronized void m(){ ö Milyen objektum kulcsan szinkronizalunk? ö O nelemzes: az osztalyok futasi idejú reprezentaciü ja a virtualis gepben egy Class osztaly objektum - ezen ö Kerdes: ezek szerint futhatnak egyid ben szinkroniza lt statikus es pelda nymetü dusok? 10
11 Amikor nem kell szinkronizalni ö Atomi múveletek Java-ban: ertekadas volatile va ltozü knak í a volatile egy mü dosıtü szü í egyesek szerint meg ez sem kell primitıv tıpus valtozü k eseten, kiveve a long es a double valtozü kat ö Ha a jobboldalon nem szerepel a valtozü ö Ha mar tobb valtozü osszefugg (tıpusinvarians), akkor szerializaljuk a hozzaferest synchronized-dal ö Feladat: ez alapjan a nyulaszatbü l kivehet egy par szinkroniza la s wait - notify ö Szigna lokra hasonlıt ö Egy feltetel teljesuleseig blokkolhatja magat egy szal ö A feltetel (potencialis) bekovetkezeset jelezheti egy masik szal ö Alapfeladat: termel - fogyasztü (korlatos) bufferen keresztul kommunikalnak í egy termel, egy fogyasztü í tobb termel, tobb fogyasztü termel Termel -fogyasztü buffer termel() fogyaszt() fogyasztü A termel sza l definıciü ja public class Termel extends Thread { Buffer buffer; public Termel ( Buffer buffer ){ this.buffer = buffer; while(true){ char ch = (char) System.in.read(); buffer.termel(new Character(ch)); A termel sza l definıciü ja public class Termel extends Thread { Buffer buffer; public Termel ( Buffer buffer ){ this.buffer = buffer; while(true){ try{ char ch = (char) System.in.read(); buffer.termel(new Character(ch)); catch ( IOException e ){ 11
12 Korlatlan buffer, egy fogyasztü public class Buffer extends Sor { public synchronized Object fogyaszt(){ if( űres() ) wait(); return kivesz(); public synchronized void termel(object o){ betesz(o); notify(); Korlatlan buffer, egy fogyasztü public class Buffer extends Sor { public synchronized Object fogyaszt(){ if( űres() ) try{ wait(); catch(interruptedexception e){ return kivesz(); public synchronized void termel(object o){ betesz(o); notify(); Korlatlan buffer, egy fogyasztü public class Buffer extends Sor { public synchronized Object fogyaszt(){ if( űres() ) try{ wait(); catch(interruptedexception e){return null; return kivesz(); public synchronized void termel(object o){ betesz(o); notify(); Múkodes ö Minden objektumhoz tartozik a sima kulcshoz tartozü varakozasi soron kıvul egy masik, az n. wait-va rakoza si sor ö A wait() hatasara a szal bekerul ebbe ö A notify() hatasara az egyik varakozü kikerul bel le ö A wait() es notify() hıvasok csak olyan kü dreszben szerepelhetnek, amelyek ugyanazon az objektumon szinkronizaltak synchronized(obj){ obj.wait(); ö A szal megszerzi az objektum kulcsat, ehhez, ha kell, sorban all egy ideig (synchronized) ö A wait() hatasara elengedi a kulcsot, es bekerul a wait-varakozasi sorba ö Egy masik szal megkaparinthatja a kulcsot (kezd dik a synchronized) ö A notify() metü dussal felebreszthet egy wait-es alvü t, aki bekerul a kulcsos varakozasi sorba ö A synchronized vegen elengedi a kulcsot ö A felebredt alvü nak (is) lehet sege van megszerezni a kulcssot es tovabbmenni ö A synchronized blokkja vegen is elengedi a kulcsot 12
13 Korlatlan buffer, tobb fogyasztü public class Buffer extends Sor { public synchronized Object fogyaszt(){ while( űres() ) try{ wait(); catch(interruptedexception e){ return kivesz(); public synchronized void termel(object o){ betesz(o); notifyall(); Nincs szukseg busy waiting-re Feladatok ö Fejezzuk be a termel -fogyasztü feladatot a fogyasztü implementa lasa val ö Hogyan valü sıtanank meg a szemaforokat Java-ban? ö Es az ırü -olvasü problema t? ö Javıtsunk a nyulas-rü kas programunkon! A keperny re akkor kell kirajzolni a mez t, ha valami valtozas tortent Sza lak kommunika ciü ja ö Aszinkron leginka bb ö Szinkron kommunikaciü (pl. Ada randev ) helyett csak wait-notify szinkronizaciü van ö Megosztott es elosztott szemlelet egyarant ö Megosztott: kozos memü rian keresztul ö Elosztott: uzenetkuldes csatornakkal (Piped csatornak) ö Termel -fogyasztü Kozos memü rian keresztul ö A kommunika ciü ra haszna lt objektumokra referenciakat lehet atadni, eljuttatni a szalakba í pl. a rü ka a ny lrü l ıgy szerez informaciü t ö Vegletes esetben magat a futtathatü objektumot is megoszthatjuk: class A implements Runnable { // adatok, mᑺveletekkel A a = new A(); Thread t1 = new Thread(a); Thread t2 = new Thread(a); Piped csatornaosztalyok ö PipedInputStream, PipedOutputStream PipedReader, PipedWriter ö Egy bemenetit es egy kimenetit osszekapcsolunk ö A cs egyik vegere az egyik szal ır, a cs masik veger l a masik szal olvassa ö Vigya zat: az olvasa s blokkolü múvelet! í available(), ready() - bar ez utü bbival rosszak a tapasztalatok 13
14 PipedReader r = new PipedReader(); PipedWriter w = new PipedWriter(r); (new Termel Szal(w)).start(); (new FogyasztoSzal(w)).start(); public class Termel Szal extends Thread { Writer w; public Termel Szal( Writer w ){ this.w = w; while(fut){ char adat = // termel w.write(adat); w.flush(); Holtpont (deadlock) ö Nehany folyamat veglegesen blokkolü dik, arra varnak, hogy egy masik, szinten a holtpontos halmazban lev folyamat csinaljon valamit ö Az interferencia tokeletes kikuszobolese :-) ö T l sok a szinkronizaciü ö Gyakran er forra s-kezeles vagy tranzakciü k kozben ö Pelda: etkez filozü fusok (dining philosophers) Mit lehet tenni? ö Nincs univerzalis megoldas, a programozü dolga a feladathoz illeszked megoldas kidolgozasa ö Detektalas, megszuntetes (pl. timeout), el rejelzes, megel zes ö Megel zes: er forra sok sorrendbe a llıta sa, szimmetria megtorese, kozponti iranyıtas, veletlenszerú varakoztatas, stb. í pl. a filozü fusok class A { synchronized void m1(){ synchronized void m2(b b){ b.m1() class B { synchronized void m1(){ synchronized void m2(a a){ a.m1() A a = new A(); B b = new B(); class A { void m1(){ void m2(b b){ b.m1() class B { void m1(){ void m2(a a){ a.m1() A a = new A(); B b = new B(); Object o = new Object(); Egyik szalban Masik szalban a.m2(b); b.m2(a); Egyik szalban Masik szalban synchronized(o) {a.m2(b); synchronized(o) {b.m2(a); 14
15 Kieheztetes (starvation, livelock) ö A rendszer nem all le, a folyamatok mennek, de van olyan koztuk, amelyik nem tudja azt csinalni, amit szeretne ö Pl. tobb fogyasztü kozul az egyik el van hanyagolva. Vagy az egyik filozü fus sosem eszik. ö Amikor a folyamatra kerul a vezerles, kezd futni, de akkor epp nem teljesul a tovabbhaladasi feltetel ö Konnyen bekovetkezhet wait-notify mellett ö Kivedes/megel zes meg nehezebb, mint a holtpont eseten Priorita s ö A szalakhoz prioritas van rendelve ö Prioritasi szintek: 1 (MIN_PRIORITY) es 10 (MAX_PRIORITY) kozott í Rendszerszintú szalak prioritasa 11 ö A Java a prioritasi szintek kozott preemptıv utemezest ker: a magasabb prioritas futhat í Sajnos a JVM-nek nem kotelez ezt betartania í Ne ezen m ljon a programunk helyessege ö Egy szinten belul definialatlan í SUN GreenÜ szalak: kooperatıv í SUN NatıvÜ szalak: preemptıv Prioritas (folyt.) ö Ha egy szal futtathatü va valik (pl. felebred vagy elindul), es egy alacsonyabb prioritas fut eppen, akkor az atadja a vezerlest ö Prioritasi szint lekerdezese es beallıtasa: int getpriority() void setpriority(int priority) ö Szal letrehozasakor a letrehozott orokli a letrehozü prioritasat, ha mast nem adunk meg ö A ltala nos strategia: sokat dolgozü sza lnak kisebb prioritast erdemes adni Sza lcsoportok ö A sza lak sza lcsoportokba sorolhatü k í Szal letrehozasakor ö java.lang.threadgroup ö Logikailag osszetartozü szalak lehetnek egy csoportban ö A csoport maximalis prioritasa beallıthatü, a csoportbeli szalake ezt nem fogja meghaladni ö A szalak lekerdezhetnek informaciü kat a sajat csoportjukrü l ö A sza lcsoportok hierarchia ba szervezhet k Demonok ö Szalak lehetnek demonok ö Ha a nem demon szalak veget ernek, akkor a program is veget er, es a demon szalak a hatterben futnak tovabb ö Az elindıtas, azaz a start() el tt be kell allıtani boolean isdaemon() void setdaemon(boolean on) Meg nehany múvelet ö join() A futü szal blokkolü dik, amıg az a szal veget nem er, amelyiknek a join-jat meghıvta í id korlat adhatü meg ö interrupt() Egy blokkolt allapot szalat (sleep, wait) felebreszt. A felebredt szalban a blokkolü utasıtas helyen InterruptedException lep fel ö stop(), suspend() es resume() Elavultak, mert veszelyesek (helyesseg, holtpont) 15
Programozási nyelvek és módszerek Java Thread-ek
Programozási nyelvek és módszerek Java Thread-ek Laki Sándor lakis@inf.elte.hu 2006. május 3. 0-0 Szálak (Threads) Ahhoz, hogy egy mai rendszer m ködhessen több 10-100 folyamatnak kell futnia. A folyamatok
RészletesebbenVé V g é r g e r h e a h j a tá t s á i s s z s ál á ak a Runnable, Thread
Végrehajtási szálak Runnable, Thread Végrehajtási szálak Java-ban A Java program az operációs rendszer egy folyamatán (process) belül fut. A folyamat adat és kód szegmensekből áll, amelyek egy virtuális
RészletesebbenSzoftvertechnológia alapjai Java előadások
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html 1 Kivételkezelés I. szokatlan, váratlan
RészletesebbenHelyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?
A "java Villa -v" parancs jelentése: A java interpreter elindítja a Villa osztály statikus main metódusát, és átadja neki paraméterként a "-v" stringet. A java interpreter elindítja először a Villa osztály
RészletesebbenConcurrency in Swing
Concurrency in Swing A szálkezelés a swing alkalmazásokban is fontos. Cél egy olyan felhasználói felület készítése, amely soha nem fagy, mindig válaszol a felhasználói interakciókra, bármit is csináljon
RészletesebbenVégrehajtási szálak - kiegészítések. Szinkronizálás, érvénytelenített metódusok helyettesítése
Végrehajtási szálak - kiegészítések Szinkronizálás, érvénytelenített metódusok helyettesítése Szinkronizálás Szinkronizálás szükségessége, példa: egy végrehajtási szál kiolvas egy adatstruktúrából egy
RészletesebbenProgramozási technológia 2.
Programozási technológia 2. Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Párhuzamosság A számítógépek egy időben több feladatot is el tudnak látni Gyakran még egyszerű alkalmazásoktól is elvárt, hogy
RészletesebbenC# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21
C# Szálkezelés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés 2013 1 / 21 Tartalomjegyzék 1 Bevezetés 2 Szálkezelés 3 Konkurens Programozás Tóth Zsolt (Miskolci Egyetem)
RészletesebbenJava bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o
Miért Java? széleskörben elterjedt Micro Edition - beágyazott rendszerek, régi telefonok Standard Edition - PC, android ezen alapul Enterprise Edition - vállalati programok, web service-ek multiplatform
RészletesebbenMagas szintű programozási nyelvek 2 Előadás jegyzet
Magas szintű programozási nyelvek 2 Előadás jegyzet 1. Rendszerfejlesztés 0. lépés: Elemzés (analízis) 1. lépés: Tervezés a, technológia független rész b, technológia függő rész 2. lépés: Megvalósítás
RészletesebbenSegédanyag: Java alkalmazások gyakorlat
Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2009/2010-2 félév, 12. gyakorlat 1 Távoli metódushívás Java-ban (RMI) Java-ban a távoli metódushívás ( Remote Method Invocation, RMI) egy
RészletesebbenSzéchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu
Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:
RészletesebbenPárhuzamosság. Java a párhuzamosítást több féle képpen támogatja.
Java Szálkezelés Párhuzamosság Számító gépek egy időben több feladatot is el tudnak látni. Gyakran még egyszerű alkalmazásoktól is elvárt, hogy párhuzamosan több dologgal is foglalkozzanak. Például egy
RészletesebbenObjektumorientált programozás C# nyelven III.
Objektumorientált programozás C# nyelven III. Kivételkezelés Tulajdonságok Feladatok Készítette: Miklós Árpád Dr. Kotsis Domokos Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és
RészletesebbenVIII. Szálak és animáció
VIII. Szálak és animáció 1. Bevezetés A mai korszerő operációs rendszerek multiuser-multitask rendszerek. Tehát az operációs rendszer egyszerre több feladattal is foglalkozik. Gondoljunk csak arra, hogy
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 13. előadás Throwable Error Exception RuntimeException IOException Saját (általában) Nem ellenörzött kivételek (Unchecked
RészletesebbenJava programozási nyelv 4. rész Osztályok II.
Java programozási nyelv 4. rész Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/17 Tartalomjegyzék
RészletesebbenObjektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN
Objektum Orientált Programozás 11. Kivételkezelés 44/1B IT MAN B IT v: 2016.05.03 MAN Pici elmélet A Java kivételkezelésének célja a programfutás során keletkezett hibák kiszűrése és megfelelő kezelése.
RészletesebbenPelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;
Java osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. ( Előfeltétel 12. Tétel ) Az osztály egy olyan típus leíró struktúra, amely
RészletesebbenOOP: Java 8.Gy: Abstract osztályok, interfészek
OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus
RészletesebbenOBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek
OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető
RészletesebbenS ha kettészelik is: balfelöl belőle Valamivel mindig - Valamivel mindiq több marad. (Nyugat )
S ha kettészelik is: balfelöl belőle Valamivel mindig - Valamivel mindiq több marad. (Nyugat 1919. 1049-1050. 1.) A hetvenéves Eötvös Loránd köszöntésekor Alexander Bernád filozófus így jellemezte:...
RészletesebbenOperációs rendszerek. 3. előadás Ütemezés
Operációs rendszerek 3. előadás Ütemezés 1 Szemaforok Speciális változók, melyeket csak a két, hozzájuk tartozó oszthatatlan művelettel lehet kezelni Down: while s < 1 do üres_utasítás; s := s - 1; Up:
RészletesebbenAz új be- és kimenet könyvtár
Az új be- és kimenet könyvtár import java.io.ioexception; import java.io.fileinputstream; import java.io.fileoutputstream; import java.nio.channels.filechannel; import java.nio.bytebuffer; class Masol
RészletesebbenKivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés
Kivételek kezelése (exception handling) Hibakezelés old style class Szamolo { void szamol( String s, int i ) { int d; if (i!= 0) d = (i+1)/i; else if (s!= null) d = s.length(); else if (i > 10) // applikációs
RészletesebbenC# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem
C# nyelv alapjai Krizsán Zoltán 1 Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Lokális változó Utasítások Szójáték Why do all real
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Névterek és hatókörök Láthatósági szintek Osztály szintő tagok Beágyazott osztályok
RészletesebbenJava VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07.
Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum
RészletesebbenJava Programozás 9. Gy: Java alapok. Adatkezelő 5.rész
Java Programozás 9. Gy: Java alapok Adatkezelő 5.rész 15/1 B ITv: MAN 2018.04.22 A Keresés funkció Programlogika: 1. A keresés az etm táblamodellben fog keresni, és a találat rekordokat átmásolja egy másik
RészletesebbenOsztályok. 4. gyakorlat
Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum
RészletesebbenSzoftvertechnológia alapjai Java előadások
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?
RészletesebbenSegédanyag: Java alkalmazások gyakorlat
Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2010/2011-2 félév, 11. gyakorlat (az előző 2 gyak közül az egyiken ZH volt, a másik szünet miatt elmaradt) 1 JAR fájl készítés A JAR (Java
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 3. rész Tulajdonságok Indexelık Kivételkezelés Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendı anyag vázlatát
RészletesebbenJava és web programozás
Budapesti M szaki Egyetem 2013. szeptember 25. 3. El adás User public class User { private String realname_; private String nickname_; private String password_; public User(String realname, String nickname)
RészletesebbenProgramozás II. ATM példa Dr. Iványi Péter
Programozás II. ATM példa Dr. Iványi Péter 1 ATM gép ATM=Automated Teller Machine Pénzkiadó automata Kezelő szoftvert szeretnénk írni Objektum-orientált módon 2 Követelmények Egyszerre csak egy embert
RészletesebbenGlobális operátor overloading
Programozás II. 9. gyakorlat Operátor overloading 2: Unáris operátorok, globálisan megvalósított operátorok, > operátorok Kivételkezelés, IO library Globális operátor overloading Előző alkalommal
RészletesebbenKonkurens TCP Szerver
A gyakorlat célja: Konkurens TCP Szerver Megismerkedni a párhuzamos programozás és a konkurens TCP szerver készítésének az elméleti és gyakorlati alapjaival és egy egyidejűleg több klienst is kiszolgáló
RészletesebbenJava Programozás 11. Ea: MVC modell
Java Programozás 11. Ea: MVC modell 20/1 B ITv: MAN 2018.03.02 MVC Model-View-Controller A modell-nézet-vezérlő a szoftvertervezésben használatos szerkezeti minta. Az MVC célja elválasztani az üzleti logikát
RészletesebbenJava és web programozás
Budapesti Műszaki Egyetem 2015. 04. 08. 9. Előadás Kivétel kezelés a kivétel (exception) egy esemény, mely futás közben megbontja a program normális futási folyamatát például kivétel dobódik amikor 0-val
RészletesebbenProgramozás II. labor
Programozás II. labor 1. rész Programozási tételek Öröklődés Interfészek Eseménykezelés Kivételkezelés Visszalépéses keresés Programozás II. Programozási tételek OOP alapok ismétlése Öröklődés Öröklődés
RészletesebbenAbstract osztályok és interface-ek. 7-dik gyakorlat
Abstract osztályok és interface-ek 7-dik gyakorlat Abstract metódusok és osztályok Az OO fejlesztés során olyan osztályokat is kialakíthatunk, melyeket csak továbbfejlesztésre, származtatásra lehet használni,
RészletesebbenJava és web programozás
Budapesti M szaki Egyetem 2013. szeptember 18. 2. El adás Komplex szám public class Complex { private float repart_; private float impart_; public Complex() { repart_ = 0; impart_ = 0; public Complex(float
RészletesebbenJava Programozás 1. Gy: Java alapok. Ismétlés ++
Java Programozás 1. Gy: Java alapok Ismétlés ++ 24/1 B ITv: MAN 2018.02.18 Feladat Készítsünk egy komplett konzolos alkalmazást, mely generál egy számot 0 és 100 között (mindkét határt beleértve), feladatunk
RészletesebbenAz emelt szintű. informatika érettségi. programozási feladatainak. megoldása Java nyelven. NetBeans IDE 8.1 környezetben
Az emelt szintű informatika érettségi programozási feladatainak megoldása Java nyelven NetBeans IDE 8.1 környezetben Klement András 2016 Utolsó módosítás: 2016. május 25. Tartalomjegyzék Tartalomjegyzék
RészletesebbenProgramozás I. Első ZH segédlet
Programozás I. Első ZH segédlet Ezen az oldalon: kiírás az alapértelmezett (hiba) kimenetre, sztring konkatenáció, primitív típusok, osztály létrehozás, példányosítás, adattagok, metódusok Kiíratás alapértelmezett
RészletesebbenJava IX. telkezelés a Java-ban
Java IX. Kivétel telkezelés a Java-ban Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 11. 17. Java IX. Kivételkezelés JAVA9 / 1 A kivételkezel telkezelés célja Kivételes
RészletesebbenProgramozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit
RészletesebbenJava IX. telkezelés a Java-ban
Java IX. Kivétel telkezelés a Java-ban Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 11. 17. Java IX. Kivételkezelés JAVA9 / 1 A kivételkezel telkezelés célja Kivételes
RészletesebbenJava tutorial. Csomagok. A program tagolasa. Alrendszerek kialakıtasa. Csomag. Alrendszerek kialakıtasa
Csomagok A program tagolasa í Tıpusdefinıcio k (oszta lyok, interfe szek) í Meto dusok í Blokk utasıta sok í Csomagok í Bea gyazott oszta lyok Csomag í A tıpusainkat csomagokba soroljuk í O sszetartoza
RészletesebbenJava programozási nyelv
Szoftvertechnológia sáv Java programozási nyelv Dirk Louis-Peter Müller: Java (Belépés az internet világába) Panem kiadó, Budapest, 2002. Webvilág sorozat Készítette: Gregorics Tibor Vázlatos áttekintés
RészletesebbenAz UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék
Az UPPAAL egyes modellezési lehetőségeinek összefoglalása Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Résztvevők együttműködése (1) Automaták interakciói üzenetküldéssel Szinkron
RészletesebbenOOP: Java 8.Gy: Gyakorlás
OOP: Java 8.Gy: Gyakorlás 43/1 B ITv: MAN 2019.04.10 43/2 Egy régebbi beszámoló anyaga 1. Feladat: Készítsen egy Szemely nevű osztályt a szokásos konvenciók betartásával, amely tárolja egy ember nevét
RészletesebbenFelhasználó által definiált adattípus
Felhasználó által definiált adattípus C++ Izsó Tamás 2017. február 24. Izsó Tamás Felhasználó által definiált adattípus/ 1 Irodalom Izsó Tamás Felhasználó által definiált adattípus/ 2 Programtervezési
RészletesebbenProgramozási nyelvek II. JAVA EA+GY 1. gyakolat
Programozási nyelvek II. JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2017/2018. őszi félév Tartalom 1 Amit tudni kell a félévről
RészletesebbenJava Programozás 3. Gy: Java GUI. Swing, AWT
Java Programozás 3. Gy: Java GUI Swing, AWT 35/1 B ITv: MAN 2018.02.25 Feladat Készítsük el az Emp osztály kezelő programját úgy, hogy ArrayList-et (listatömb, tömblista, rugalmas tömb) használunk. A java.util.arraylist
RészletesebbenInformatika terméktervezőknek
Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások
RészletesebbenA C# programozási nyelv alapjai
A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet
RészletesebbenBánsághi Anna anna.bansaghi@mamikon.net
ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 2. ELŐADÁS - C# ÁTTEKINTÉS - 2 2015 Bánsághi Anna 1 of 64 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 64
Részletesebben... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.
Párhuzamos programok Legyen S parbegin S 1... S n parend; program. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Folyamat
RészletesebbenJava Programozás 6. Gy: Java alapok. Adatkezelő 2.rész
Java Programozás 6. Gy: Java alapok Adatkezelő 2.rész 25/1 B ITv: MAN 2018.04.13 A feladat Feladat: folytassuk a panel életre keltését! - Alakítsuk ki a Lista panelt - Betöltéskor olvassuk be az adatokat
RészletesebbenAz osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java
Függvények, csomagok Csomagok Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges számú osztályt tartalmazhat Pl.: java.util.scanner Könyvtárhierarhiát fed: Pl.: java/util/scanner.java Célja:
RészletesebbenOOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN
OOP: Java 11.Gy: Enumok, beágyazott osztályok 13/1 B ITv: MAN 2019.04.24 ArrayList Rugalmas tömb A tömbök korlátai Fix méret, nem lehet menet közben megnövelni Ha túl nagyra választjuk, fölösleges helyfoglalás
RészletesebbenOverview. Service. Application Activity Activity 2 Activity 3. Fragment. Fragment. Fragment. Frag ment. Fragment. Broadcast Receiver
ANDROID ALKALMAZÁSFEJLESZTÉS Android komponensek használata Activity Fragment Service Broadcast Recevier sicz- m e s z i a r. j a n o s @ n i k. u n i - o b u d a. h u Sicz-Mesziár János 2015. március
RészletesebbenJava Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor
Java Programozás 4. Gy: Java GUI Tipper, MVC kalkulátor 15/1 B ITv: MAN 2018.03.10 1. Feladat: Tipper Készítsük el a tippelős programunk grafikus változatát. Az üzleti logika kódja megvan, a felület pedig
RészletesebbenAlgoritmusok és adatszerkezetek II.
Algoritmusok és adatszerkezetek II. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 6. Ugrólista (Skiplist) Definíció. Olyan adatszerkezet, amelyre
RészletesebbenOOP: Java 4.Gy: Java osztályok
OOP: Java 4.Gy: Java osztályok. 36/1 B ITv: MAN 2019.03.02 Feladat Készítsen el egy Employee osztályt és egy Employee osztályt használó osztályt (EmpProgram). Az Employee osztálynak: van name és salary
RészletesebbenUniprogramozás. várakozás. várakozás. Program A. Idő. A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna
Processzusok 1 Uniprogramozás Program A futás várakozás futás várakozás Idő A programnak várakoznia kell az I/Outasítások végrehajtására mielőtt továbbfuthatna 2 Multiprogramozás Program A futás vár futás
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 8. előadás Öröklődés - megnyitunk egy osztályt egy másik előtt zárt egységeket szeretünk készíteni (láthatósági kérdés:
RészletesebbenObjektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése
Objektum elvű alkalmazások fejlesztése Kifejezés lengyel formára hozása és kiértékelése Készítette: Gregorics Tibor Szabóné Nacsa Rozália Alakítsunk át egy infix formájú aritmetikai kifejezést postfix
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 1. Előadás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási Tanszék www.kjit.bme.hu Programozás
RészletesebbenSegédanyag: Java alkalmazások gyakorlat
Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2009/2010-2 félév, 2. gyakorlat 1 Osztályok és objektumok default, public, protected, private láthatóság a metódusokra és adattagokra (első
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 9. előadás Interface - típust vezet be, de osztálypéldány nem készíthető belőle (statikus típust ad) - több osztály is
RészletesebbenProgramozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia
Öröklés ism. Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia Szeberényi Imre BME IIT Egy osztályból olyan újabb osztályokat származtatunk, amelyek rendelkeznek
RészletesebbenJava és web programozás
Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:
RészletesebbenJava programozási nyelv 5. rész Osztályok III.
Java programozási nyelv 5. rész Osztályok III. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
RészletesebbenKivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat
Kivételkezelés, beágyazott osztályok Nyolcadik gyakorlat Kivételkezelés Nem minden hibát lehet fordítási időben megtalálni Korábban (pl. C-ben) a hibakezelést úgy oldották meg, hogy a függvény hibakódot
RészletesebbenGrafikus felhasználói felületek. Abstract Window Toolkit, a java.awt és java.awt.event csomagok
Grafikus felhasználói felületek készítése és eseménykezelés Java-ban Abstract Window Toolkit, a java.awt és java.awt.event csomagok Abstract Window Toolkit Absztraktizálás: az osztályok és funkcionalitások
RészletesebbenJava programozási nyelv 9. rész Kivételkezelés
Java programozási nyelv 9. rész Kivételkezelés Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/24 Tartalomjegyzék
RészletesebbenJAVA PROGRAMOZÁS 2.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,
RészletesebbenProgramozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.
Programozás III CSOMAGOK Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. A Java is csomagok halmaza: csomagokban van a fejlesztő környezet és az osztálykönyvtárak is: rt.jar fájl
RészletesebbenC# osztályok. Krizsán Zoltán
C# osztályok Krizsán Zoltán Fogalma Önálló hatáskőrrel rendelkező, absztrakt adattípus, amely több, különböző elemet tartalmazhat. Minden esetben a heap-en jön létre! A programozó hozza létre, de a GC
RészletesebbenKivételek. A program végrehajtása során ritkán bekövetkező események Nem a fő végrehajtási ág ; logikailag alacsonyabbrendű feladat jelzése
Kivételek A program végrehajtása során ritkán bekövetkező események Nem a fő végrehajtási ág ; logikailag alacsonyabbrendű feladat jelzése Hiba Felhasználó butaságot csinál Speciális/abnormális számítási
RészletesebbenSmalltalk 2. Készítette: Szabó Éva
Smalltalk 2. Készítette: Szabó Éva Blokkok Paraméter nélküli blokk [műveletek] [ x := 5. 'Hello' print. 2+3] Kiértékelés: [művelet] value az értéke az utolsó művelet értéke lesz, de mindet kiírja. x :=
RészletesebbenJava programozási nyelv 10. rész Input/output kezelés
Java programozási nyelv 10. rész Input/output kezelés Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/28 Tartalomjegyzék
RészletesebbenOperációs rendszerek. Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok:
Operációs rendszerek MS Windows NT (2000) folyamatok Az Executive és a kernel Policy és mechanizmusok szeparálása Executive: policy - objektum kezelés Kernel: mechanizmusok: szálak ütemezése végrehajtásra
RészletesebbenAdattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.
Informatika 1 2011 Második előadás, vezérlési szerkezetek Szabó Adrienn 2011. szeptember 14. Tartalom Algoritmusok, vezérlési szerkezetek If - else: elágazás While ciklus For ciklus Egyszerű típusok Összetett
RészletesebbenAWK programozás, minták, vezérlési szerkezetek
10 AWK programozás, minták, vezérlési szerkezetek AWK futtatási módok AWK parancs, közvetlen programkódmegadás: awk 'PROGRAMKÓD' FILE példa: ls -l awk '{print $1, $5}' a programkód helyére minden indentálás
Részletesebben7. K: JAVA alapok Konzultáció
Objektum Orientált Programozás 7. K: JAVA alapok Konzultáció 35/1B IT MAN B IT v: 2017.05.03 MAN Hiba, biztonságos program 01. Szintaktikai hiba imt i = 0; system.out.println( alma ); for (int i = 0, i
RészletesebbenGelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák
Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák Gelle Kitti 2017. 10. 25. Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák 2017. 10. 25. 1 / 20 Hasítótáblák T 0 h(k 2)
RészletesebbenSzámítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás
Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606 Dr. Bécsi Tamás Bemutatkozás Előadó: Dr. Bécsi Tamás St.106, (1)463-1044, becsi.tamas@mail.bme.hu Közlekedés-, és Járműirányítási
RészletesebbenSe S r e ial a iza z t a ion o n (in n Ja J v a a v ) a Szerializáció
Serialization (in Java) Szerializáció Java Serialization API Standard eljárás az objektumok állapotának adatfolyamba történő kiírására (elmentésére egy bájtszekvenciába), és visszatöltésére Perzisztencia
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 3. rész Tulajdonságok Indexelők Kivételkezelés Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát
RészletesebbenBME MOGI Gépészeti informatika 4.
BME MOGI Gépészeti informatika 4. 1. feladat önálló feladatmegoldás Generáljon két 1 és 10 közötti véletlen egész számot, majd kiírja ezekre a számokra a tízes szorzótáblákat! Ha az első generált szám
Részletesebbenabkezel.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class abkezel extends JFrame {
Adatkezelés JDBC-vel 1 abkezel.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.sql.*; public class abkezel extends JFrame { private JTabbedPane jtp; private JPanel dp,
RészletesebbenSzálkezelés. Melyik az a hívás, amelynek megtörténtekor már biztosak lehetünk a deadlock kialakulásában?
Szálkezelés 1. A szekvencia diagram feladata az objektumok egymás közti üzenetváltásainak ábrázolása egy időtengely mentén elhelyezve. Az objektumok életvonala egy felülről lefelé mutató időtengely. A
RészletesebbenAlgoritmusok és adatszerkezetek II.
Algoritmusok és adatszerkezetek II. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 5. Vágható-egyesíthető Halmaz adattípus megvalósítása önszervező
RészletesebbenSzámítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 2. Előadás Dr. Bécsi Tamás Tömbök (Arrays) Definíció: típus[] név; (pld. int[] szamok; ) Inicializálás: int[] szamok = new int[4]; int[] szamok = 1,2,4,3,5}; int[] szamok
RészletesebbenJAVA PROGRAMOZÁS 3.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 3.ELŐADÁS 2014-2015 tavasz Polimorfizmus, absztrakt osztályok, interfészek 2 Példa - Hengerprogram 3 Példa - Hengerprogram 4 Példa - Hengerprogram
RészletesebbenKivételkezelés a C++ nyelvben Bevezetés
Kivételkezelés a C++ nyelvben Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Kivételkezelés a C++ nyelvben CPP9 / 1 Hagyományos hibakezelés Függvény visszatérési értéke (paramétere) hátrányai:
Részletesebben117. AA Megoldó Alfréd AA 117.
Programozás alapjai 2. (inf.) pót-pótzárthelyi 2011.05.26. gyak. hiányzás: kzhpont: MEG123 IB.028/117. NZH:0 PZH:n Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,
Részletesebben