Mi az a Memory Management
|
|
- Lóránd Kis
- 7 évvel ezelőtt
- Látták:
Átírás
1 Memory management
2 Mi az a Memory Management A memória kezelés egy olyan aspektusa a programozásnak, ahol az egyes objektumok életciklusát vezéreljük, felszabadítva azokat, ha már nincs rájuk szükség. Ez sok szempontból kritikus feladat, a memória egyrészt véges, mástrészt a növekvő "memory footprint" teljesítmény csökkenést okoz.
3 Az eddigi tapasztalatok A c++ hoz képest a java jóval kényelmesebb! explicit meg kell határozni, mikor szabadítom fel a memóriát +1 dolog, amire figyelni kell sok hiba forrása, sok debug!
4 Ismerős fogalmak foglalás felszabadítás c malloc / calloc / stb free c++ new delete java new - (A legideálisabb)
5 static / stack / heap std::map<std::string, int> mymaponstack; mymaponstack["key"] = 5; std::map<std::string, int>* mymaponheap = new std::map<std::string, int>(); (*mymaponheap)["key"] = 5;
6 ios Memory Management ios platformon a memória kezelése referencia számlált megoldással valósul meg. Ha létrehozunk vagy másolunk egy objektumot, a referencia számlálója 1 lesz. Ezután ha más objektumo(k) birtokolni szeretné(k) a létrehozott objektumot, a referencia számláló nő. (+1) Ha a birtoklól objektumok már nem tartanak igényt a létrehozott objektumra lemondanak róla, a referencia számláló csökken. (-1) Ha a referencia számláló nullára csökken az objektum felszabadul.
7 Objective C nyelven //retain count = 1 NSNumber* number = [[NSNumber alloc] initwithfloat:12.3f]; //az objektum birtoklása, retain count = 2 [number retain]; //objektum elengedése (birtoklás lemondása), retain count = 1 [number release]; //objektum elengedése, retain count = 0, dealloc [number release];
8
9 [someobject retaincount] SOHA ne hasznaljuk! 1. The absolute retain count of an object may change at any time once an object has been passed through any system API. 2. Any subclass of any system provided class counts as through system API ; the retain count may be impacted by implementation details. 3. The retain count never reflects whether an object is autoreleased. 4. Autorelease is a per-thread concept whereas retain counts are global; race condition derived hilarity can easily ensue. 5. The retaincount method can never return Some classes are implemented as singletons some of the time. 7. Some classes may internally manipulate their retain count directly (I.e. no swizzle for you!). 8. While retain/release are effectively thread safe, there is always a race between calling retaincount and having the actual retain count change in some other execution context.
10 Objective C memory management négy fő szabály Te birtoklod azt az objektumot, amit te hoztál létre. Egy objektumot birtokba vehetsz, ha azt retain-eled. Ha már nincs szükséged egy objektumra, a birtoklási viszonyt meg kell hogy szüntestd Birtoklási viszonyt nem szüntethetsz meg olyan objektumnál, amit nem te birtokolsz
11 Te birtoklod azt az objektumot, amit te hoztál létre. A metódusok, amik objektumokat létrehoznak tartalmazzák az alábbi kifejezéseket: alloc, new, copy, mutablecopy Student* student = [[Student alloc] init]; NSNumber* somenumber = [NSNumber new]; NSString* copyofsomestring = [somestring copy];
12 Egy objektumot birtokba vehetsz, ha azt retain-eled. 1 Általában két föbb eset különíthető el: 1. accessor vagy init függvény esetén birtokolni szeretnénk adott objektumot, hogy beállíthassuk egy property (nonatomic, retain) NSString* name; - (void)setname:(nsstring *)newname { [_name release]; _name = [newname retain]; }
13 Egy objektumot birtokba vehetsz, ha azt retain-eled biztosítani szeretnénk hogy az adott objektum érvényes marad adott kontextusban id problematicnumber = nil; NSMutableArray* numbers = nil]; problematicnumber = [numbers objectatindex:0]; [numbers removeobjectatindex:0]; NSLog(@"problematicNumebr:%d", [problematicnumber intvalue]);
14 Ha már nincs szükséged egy objektumra, a birtoklási viszonyt meg kell hogy szüntestd [student release];
15 Birtoklási viszonyt nem szüntethetsz meg olyan objektumnál, amit nem te birtokolsz [someobjidontown release];
16 Property-k (attrib1, attrib2) type name; retain copy - lásd birtokba vétel - retain szabály - hasonlóképp az előzőhöz, csak nem retain-eljük, hanem egy másolatot készítüunk róla assign - sima értékadás memória management nélkül
17 Autorelease Az autorelease üzenet segítségével késleltetett release üzenetet küldhetünk az objektumoknak. Ez akkor hasznos, amikor egy objektum birtoklásáról lemondunk, de nem szeretnénk, hogy az azonnal felszabaduljon.
18 Autorelease példa //Vegyük példának ezt a gyártófüggvényt: + (Student*)studentWithName:(NSString*)name { Student* student = [[Student alloc] initwithname:name]; return [student autorelease]; } //valahol a kódban... Student* student = [Student studentwithname:@"vince"]; NSLog(@"sutdent name:%@", student.name); //ha birtokolni szeretnénk, küldünk neki retain üzenetet, ha nem akkor nem a mi felelőségünk a felszabadítás
19 Autorelease konvenció Minden olyan metódus, ami objektumot gyárt, és nincs benne az alloc, new, copy autorelese-elt objektumot ad vissza. Ez az elnevezésben is látszik: (sokszor osztályszintű metódusok) //str autorelase-elt NSString* str = [NSString stringwithformat:@"%d", 15]; //strretained-et birtoklom NSString* strretained = [[NSString alloc] initwithformat:@"%d", 15]; //tmpdict autorelase-elt NSDictionary* tmpdict = [NSDictionary dictionary]; //tmpdict-et birtoklom NSDictionary* tmpretained = [[NSDictionary alloc] init];
20 Autorelease egyszerűsít A két megoldás teljesen ekvivalens, de a második egyértelműbb, könnyebb követni UIView *view = [[UIView alloc] initwithframe:frame]; [self addsubview:view]; [view release]; UIView *view = [[[UIView alloc] initwithframe:frame] autorelease]; [self addsubview:view];
21 Mikor hivódik a release? Autorelease blokk végénél. NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; //... NSString* str = [NSString stringwithformat:@"%d", 15]; //... [pool drain];
22 Mikor nem érdemes használni autorelease-t? nagyon! szélsőséges példa, de előfordulhat... - (void)somemethod { for (int i = 0; i < ; i++) { id tempobject = [[[SomeClass alloc] init] autorelease]; //... } }
23 Ahoz, hogy a memory management működjön... Mindenkinek be kell tartania a szabályokat és követnie a konvenciókat. A rendelkezésre álló könyvtárak, keretrendszerek mind feltételezik ezek teljes megértését és használatát
24 ARC Automatic Reference Counting...
25 ARC "Automatic Reference Counting (ARC) is a compilerlevel feature that simplifies the process of managing the lifetimes of Objective-C objects. Instead of you having to remember when to retain or release an object, ARC evaluates the lifetime requirements of your objects and automatically inserts the appropriate method calls at compile time."
26 ARC használata Az ARC bevezetésével egy két megszorítás is jött. Például a klasszikus management metódusok nem hívhatók (retain, release, autorelase) com/library/ios/#releasenotes/general/whatsnewinios/arti cles/ios5.html
27 ARC property változások Két referencia típust különböztet meg. strong / weak A strong tökéletesen analóg a retain-es "régi" verzióval A weak egy intelligens assign. (ha a objektum melyreől referenciánk van felszabadul autómatikusan nil értéket kap a property!)
Objective-C PPKE-ITK 2013. 02. 14.
Objective-C PPKE-ITK 2013. 02. 14. Objective-C bevezetés "Objective-C is a superset of C" Header:.h, osztálydeklarációk Implementáció:.m, osztályok implementációja Objective-C++:.mm Framework: Cocoa Szintaxis
Részletesebbenios alkalmazásfejlesztés Koltai Róbert
ios alkalmazásfejlesztés Koltai Róbert robert.koltai@ponte.hu Mi az a block? Utasítások sorozata { }-ek között, amit egy objektumként tuduk kezelni. ios 4.0 és Mac OSX 10.6 óta 2 Egy példa a felépítésére
Részletesebbenios alkalmazásfejlesztés
ios alkalmazásfejlesztés mi kell hozzá? Mac OS X ios Developer Program regisztráció (99$/year) SDK + Xcode eszközök 2 Mac OS X Finder Launchpad Spotlight Preview Terminal AppStore 3 Xcode felépítése 4
RészletesebbenAz iphone fejlesztés alapjai. I. előadás
Az iphone fejlesztés alapjai I. előadás A ponte.hu Kft. 2001 óta a piacon Web iphone, Android, Nokia és Windows mobile fejlesztések Újszerű megoldások és technológiák keresése A kurzus menete 3x45+2x45
RészletesebbenAz iphone fejlesztés alapjai
Az iphone fejlesztés alapjai I. előadás A ponte.hu Kft. 2001 óta a piacon Web iphone, Android, Nokia és Windows mobile fejlesztések Újszerű megoldások és technológiák keresése A kurzus menete 3x45+2x45
RészletesebbenProgramozási nyelvek Java
statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály
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észletesebbenJNDI - alapok. Java Naming and Directory Interface
JNDI - alapok Java Naming and Directory Interface Naming Service Naming service: nevek hozzárendelése objektumokhoz, elérési lehetőség (objektumok/szolgáltatások lokalizálása), információk központosított
RészletesebbenBevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés
Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;
Részletesebbenios alkalmazásfejlesztés alapjai Nagy Aszter András BME MIK anagy@mik.bme.hu
ios alkalmazásfejlesztés alapjai Nagy Aszter András BME MIK anagy@mik.bme.hu 1 ios platform Apple mobil operációs rendszere iphone, ipod Touch, ipad OS X-en alapul De nem kompatibilis azzal Homogén rendszer
RészletesebbenProgramozás C++ -ban
8. Dinamikus objektumok Programozás C++ -ban Ahhoz hogy általános prolémákat is meg tudjunk oldani, szükség van arra, hogy dinamikusan hozhassunk létre vagy szüntethessünk meg objektumokat. A C programozási
Részletesebbenios alkalmazásfejlesztés Koltai Róbert
ios alkalmazásfejlesztés Koltai Róbert mit vettünk a múlt órán? mi az a protocol? szintaktikája? mire jó a category? milyen memóriakezelés van ios-en? mi ennek a 4 állapota? mi a főszabály? + 4 része mi
RészletesebbenSzéchenyi István Egyetem www.sze.hu/~herno
Oldal: 1/6 A feladat során megismerkedünk a C# és a LabVIEW összekapcsolásának egy lehetőségével, pontosabban nagyon egyszerű C#- ban írt kódból fordítunk DLL-t, amit meghívunk LabVIEW-ból. Az eljárás
RészletesebbenStatistical Dependence
Statistical Dependence Petra Petrovics Statistical Dependence Deinition: Statistical dependence exists when the value o some variable is dependent upon or aected by the value o some other variable. Independent
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észletesebbenOsztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;
PHP5 objektumok 1 Osztályok class, new book.php: construct () destruct() $b=new Book(); törlés: $b=null; vagy unset ($b); -elnevezési konvenciók private $isbn; public $title; function
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 é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észletesebbenSmalltalk 3. Osztályok létrehozása. Készítette: Szabó Éva
Smalltalk 3. Osztályok létrehozása Készítette: Szabó Éva Metaosztály fogalma Mint korában említettük, a Smalltalkban mindent objektumnak tekintünk. Még az osztályok is objektumok. De ha az osztály objektum,
Részletesebbeniphone programozás alapjai
iphone programozás alapjai I. Gyakorlat A mai gyakorlat témái I. Számológép Egyszerű Interface Builder példa Outletek és Actionok bekötése II. Szakácskönyv Neki kezdünk a nagy feladatnak Megjelenítés elemei
RészletesebbenJava-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft
Java-ról Kotlinra Ekler Péter peter.ekler@aut.bme.hu BME AUT Tartalom Java és Kotlin kapcsolata Hogyan próbálhatjuk ki? Kotlin kultúra kialakítása cégen belül Milyen a Kotlin a Java-hoz képest? Történet
RészletesebbenA C programozási nyelv V. Struktúra Dinamikus memóriakezelés
A C programozási nyelv V. Struktúra Dinamikus memóriakezelés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv V. (Struktúra, memóriakezelés) CBEV5 / 1 A struktúra deklarációja 1.
RészletesebbenC++ Gyakorlat jegyzet 5. óra. A C++ szabvány több memóriatípust különít el. Ezek közül elsősorban a stack-et használtuk eddig.
C++ Gyakorlat jegyzet 5. óra. A jegyzetet Umann Kristóf készítette Horváth Gábor gyakorlatán. (01. január 6.) 1. A C++ memóriamodellje A C++ szabvány több memóriatípust különít el. Ezek közül elsősorban
RészletesebbenProgramozási nyelvek Java
Objektum-orientált szemlélet - Egységbe zárás (incapsulation) - Információ elrejtés - Öröklődés altípusosság dinamikus kötés Öröklődés Programozási nyelvek Java - kiterjesztem, kibővítem, megváltoztatom
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észletesebbenProgramozási nyelvek Java
-en objektumot tárolunk. Automatikus változók Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 3. előadás - végrehajtási vermen (execution stack) jönnek létre - alprogramok
RészletesebbenAz egészségügyi munkaerő toborzása és megtartása Európában
Az egészségügyi munkaerő toborzása és megtartása Európában Vezetői összefoglaló Európai Egészségügyi Menedzsment Társaság. április Fogyasztó-, Egészség-, Élelmiszerügyi és Mezőgazdasági Végrehajtó Ügynökség
RészletesebbenCsatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network
Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network Table of Contents Windows 7... 2 Windows 8... 6 Windows Phone... 11 Android... 12 iphone... 14 Linux (Debian)... 20 Sebők Márton
RészletesebbenProgramozás II. 3. gyakorlat Objektum Orientáltság C++-ban
Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Tartalom OOP ismétlés Osztályok létrehozása Adattagok láthatóságai, elnevezési ajánlások Konstruktor, destruktor this pointer Statikus és dinamikus
RészletesebbenOn The Number Of Slim Semimodular Lattices
On The Number Of Slim Semimodular Lattices Gábor Czédli, Tamás Dékány, László Ozsvárt, Nóra Szakács, Balázs Udvari Bolyai Institute, University of Szeged Conference on Universal Algebra and Lattice Theory
RészletesebbenPhenotype. Genotype. It is like any other experiment! What is a bioinformatics experiment? Remember the Goal. Infectious Disease Paradigm
It is like any other experiment! What is a bioinformatics experiment? You need to know your data/input sources You need to understand your methods and their assumptions You need a plan to get from point
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észletesebbenKölcsönös kizárás, atomicitás, szemafor.
Kölcsönös kizárás, atomicitás, szemafor kertesz.gabor@nik.uni-obuda.hu Lock lock (object o) struktúra C#-ban Kölcsönös kizárás megvalósítása object o: szinkronizációs objektum Bármely közös változó lehet,
RészletesebbenObjektumok inicializálása
Objektumok inicializálása Miskolci Egyetem Általános Informatikai Tanszék Objektumok inicializálása CPP4 / 1 Tartalom public adattagok inicializálása felsorolással konstruktor objektum tömbök osztály típusú
Részletesebben1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7
1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7 1.1. Új virtuális gép és Windows Server 2008 R2 Enterprise alap lemez létrehozása 1.2. A differenciális lemezek és a két új virtuális
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észletesebbenBevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok
Bevezetés a programozásba II 8. Előadás: Osztályok, objektumok, osztályszintű metódusok vektor.h #ifndef VEKTOR_H #define VEKTOR_H class Vektor { int meret, *mut; public: Vektor(int meret); int szamlal(int
Részletesebben3. Osztályok II. Programozás II
3. Osztályok II. Programozás II Bevezető feladat Írj egy Nevsor osztályt, amely legfeljebb adott mennyiségű nevet képes eltárolni. A maximálisan tárolható nevek számát a konstruktorban adjuk meg. Az osztályt
Részletesebben2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése
Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,
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észletesebbenSZERVER OLDALI JAVASCRIPT. 3. hét Javascript nyelvi elemek
SZERVER OLDALI JAVASCRIPT 3. hét Javascript nyelvi elemek NYELVI ALAPOK: Ez sajnos igen száraz anyag, Viszont a megértékhez és a nyelv elsajátításához kell. Próbáljuk meg random gifekkel feldobni. MIRŐL
RészletesebbenJárműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás
Járműfedélzeti rendszerek II. 3. előadás Dr. Bécsi Tamás 5.3. Mutatók,tömbök A mutató vagy pointer olyan változó, amely egy másik változó címét tartalmazza. A C nyelvű programokban gyakran használják a
RészletesebbenTestLine - OO Programozás alapjai Minta feladatsor
2016.09.20. 18:46:36 Oktató: n/a Kérdések száma: 16 kérdés Kitöltési idő: 29:45 Szélsőséges pontok: -196 pont +672 pont z Óbudai gyetem Programozás III című tárgyának előkövetelményeként létező Programozás
RészletesebbenSzemélyes adatváltoztatási formanyomtatvány - Magyarország / Personal Data Change Form - Hungary
Személyes adatváltoztatási formanyomtatvány - Magyarország / Personal Data Change Form - Hungary Kitöltési útmutató: A formanyomtatványon a munkavállaló a személyes adatainak módosítását kezdeményezheti.
RészletesebbenProgramozás C++ -ban 2007/7
Programozás C++ -ban 2007/7 1. Másoló konstruktor Az egyik legnehezebben érthető fogalom C++ -ban a másoló konstruktor, vagy angolul "copy-constructor". Ez a konstruktor fontos szerepet játszik az argumentum
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt
RészletesebbenMemóriakezelés, dinamikus memóriakezelés
Metódus: függvények és eljárások összefoglaló neve. Memóriakezelés, dinamikus memóriakezelés Nézzük végig, a C++ memóriakezelését. Alapvetően három fő memóriaterületet különböztetünk meg. Végrehajtási
RészletesebbenProgramozás II. 4. Dr. Iványi Péter
Programozás II. 4. Dr. Iványi Péter 1 inline függvények Bizonyos függvények annyira rövidek, hogy nem biztos hogy a fordító függvényhívást fordít, hanem inkább az adott sorba beilleszti a kódot. #include
RészletesebbenSzoftvergyártás: gyártásvezérlés kód-figyeléssel
Szoftvergyártás: gyártásvezérlés kód-figyeléssel Előadó: Banai Miklós és Rakyta Péter Pályázatok: TECH_08-A2/2-2008-0089-SZOMIN08; KMOP-1.1.1-08/1-2008-0019; KMOP-1.1.2-08/1-2008-0002 Vízió: Szoftvergyártás
RészletesebbenRiak. Pronounced REE-ahk. Elosztott adattároló eszköz. Molnár Péter molnarp@ilab.sztaki.hu
Riak Pronounced REE-ahk Elosztott adattároló eszköz Molnár Péter molnarp@ilab.sztaki.hu Mi a Riak? A Database A Data Store A key/value store A NoSQL database Schemaless and data-type agnostic Written (primarily)
RészletesebbenARM processzorok felépítése
ARM processzorok felépítése Az ARM processzorok több családra bontható közösséget alkotnak. Az Cortex-A sorozatú processzorok, ill. az azokból felépülő mikrokontrollerek a high-end kategóriájú, nagy teljesítményű
RészletesebbenTöbb app. Egy kódbázis
Több app Egy kódbázis Agenda Bevezető Technology stack A kód szervezése Debug és tesztelés CI Supercharge 2 Bevezető Adott egy vezető telekommunikációs vállalat Self-care alkalmazása Ezzel az alkalmazással
RészletesebbenSzemélyes adatváltoztatási formanyomtatvány- Magyarország / Personal Data Change Form - Hungary
Személyes adatváltoztatási formanyomtatvány- Magyarország / Personal Data Change Form - Hungary KITÖLTÉSI ÚTMUTATÓ: A formanyomtatványon a munkavállaló a személyes adatainak módosítását kezdeményezheti.
RészletesebbenSzoftver-technológia II. Tervezési minták. Irodalom. Szoftver-technológia II.
Tervezési minták Irodalom Steven R. Schach: Object Oriented & Classical Software Engineering, McGRAW-HILL, 6th edition, 2005, chapter 8. E. Gamma, R. Helm, R. Johnson, J. Vlissides:Design patterns: Elements
RészletesebbenISA szimulátor objektum-orientált modell (C++)
Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált
RészletesebbenGenerikus Típusok, Kollekciók
Generikus Típusok, Kollekciók Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Generikus Típusok, Kollekciók 2013 1 / 26 Tartalomjegyzék 1 Enumeráció 2 Generikus Típusok 3 Kollekciók System.Collections
RészletesebbenA verem (stack) A verem egy olyan struktúra, aminek a tetejéről kivehetünk egy (vagy sorban több) elemet. A verem felhasználása
A verem (stack) A verem egy olyan struktúra, aminek a tetejére betehetünk egy új (vagy sorban több) elemet a tetejéről kivehetünk egy (vagy sorban több) elemet A verem felhasználása Függvény visszatérési
RészletesebbenProgramozás C++ -ban
Programozás C++ -ban 4. Bevezetés az osztályokba 4.1 Az adatokhoz való hozzáférés ellenőrzése Egy C programban a struktúrák minden része mindig elérhető. Ugyanakkor ez nem a legkedvezőbb helyzet. Több
Részletesebbeniphone programozás alapjai I. Gyakorlat
iphone programozás alapjai I. Gyakorlat A mai gyakorlat témái I. Számológép Egyszerű Interface Builder példa Outletek és Actionok bekötése II. Szakácskönyv Neki kezdünk a nagy feladatnak Megjelenítés elemei
RészletesebbenProgramozás II gyakorlat. 8. Operátor túlterhelés
Programozás II gyakorlat 8. Operátor túlterhelés Kezdő feladat Írjunk egy Vector osztályt, amely n db double értéket tárol. A konstruktor kapja meg az elemek számát. Írj egy set(int idx, double v) függvényt,
RészletesebbenEN United in diversity EN A8-0206/419. Amendment
22.3.2019 A8-0206/419 419 Article 2 paragraph 4 point a point i (i) the identity of the road transport operator; (i) the identity of the road transport operator by means of its intra-community tax identification
RészletesebbenA évi fizikai Nobel-díj
A 2012. évi fizikai Nobel-díj "for ground-breaking experimental methods that enable measuring and manipulation of individual quantum systems" Serge Haroche David Wineland Ecole Normale Superieure, Párizs
RészletesebbenProgramozás. Osztályok, Származtatott osztályok. Fodor Attila
Programozás Osztályok, Származtatott osztályok Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. március 11. Beadandó feladat
RészletesebbenWhite Paper. Grounding Patch Panels
White Paper Grounding Patch Panels Tartalom 1. Bevezető... 1 2. A földelés jelentőssége... 3 3. AC elosztó rendszer... 3 4. Földelési rendszerek... 3 4.1. Fa... 3 4.2. Háló... 5 5. Patch panel földelési
RészletesebbenProgramozás II gyakorlat. 7. Példák a polimorfizmus alkalmazásaira
Programozás II gyakorlat 7. Példák a polimorfizmus alkalmazásaira Probléma class A { public: ~A() { cout
RészletesebbenOOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet
RészletesebbenC# versus Java. Óbudai Egyetem, Java Standard Edition Mérnök Informatikus szak, BSc Labor 3. Bedők Dávid v0.4
C# versus Java Óbudai Egyetem, Java Standard Edition Mérnök Informatikus szak, BSc Labor 3 Bedők Dávid 2016.10.01. v0.4 Azonosságok I. Curly-bracket nyelvek ({}) C, C++, PHP, JavaScript, stb.) ProgrammingTheorem
RészletesebbenKomponens alapú fejlesztés
Komponens alapú fejlesztés Szoftver újrafelhasználás Szoftver fejlesztésekor korábbi fejlesztésekkor létrehozott kód felhasználása architektúra felhasználása tudás felhasználása Nem azonos a portolással
RészletesebbenAndroid Pie újdonságai
Android Pie újdonságai Ekler Péter peter.ekler@aut.bme.hu BME AUT Tartalom Android 9 újdonságok Fejlesztői érdekességek API változások Mit tartogat a jövő? Android 9 újdonságok Testreszabott rendszer Egyszerűbb,
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é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é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észletesebbenAngol Középfokú Nyelvvizsgázók Bibliája: Nyelvtani összefoglalás, 30 kidolgozott szóbeli tétel, esszé és minta levelek + rendhagyó igék jelentéssel
Angol Középfokú Nyelvvizsgázók Bibliája: Nyelvtani összefoglalás, 30 kidolgozott szóbeli tétel, esszé és minta levelek + rendhagyó igék jelentéssel Timea Farkas Click here if your download doesn"t start
RészletesebbenLéptetőmotorok. Előnyök: Hátrányok:
Léptetőmotorok A léptetőmotorok lényeges tulajdonsága, hogy egy körülforduláshoz hány lépés szükséges. Ezt megadhatják fokban, ekkor az egy lépésre eső szögelfordulást adják meg. Illetve megadhatják az
RészletesebbenMiután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:
Excel objektumok Az excelben az osztályokat úgynevezett class modulokként hozzuk létre. Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni: View-ba
RészletesebbenC++ programozási nyelv
C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok
RészletesebbenMobil alkalmazások fejlesztése. Készítette: Szabóné Nacsa Rozália
Mobil alkalmazások fejlesztése Készítette: Szabóné Nacsa Rozália S60 és UIQ Application suites UI implementation UI framework S 60 UIQ MOAP Symbian OS HW adaptation Hardware Symbian Symbian OS S60 C++
Részletesebben9. MPI
9. MPI kertesz.gabor@nik.uni-obuda.hu MPI Message Passing Interface Elosztott memóriájú párhuzamos programozási API Gyk. folyamatok közötti kommunikáció de facto ipari standard Több száz előre definiált
RészletesebbenMutatók és mutató-aritmetika C-ben március 19.
Mutatók és mutató-aritmetika C-ben 2018 március 19 Memória a Neumann-architektúrában Neumann-architektúra: a memória egységes a címzéshez a természetes számokat használjuk Ugyanabban a memóriában van:
RészletesebbenProgramozási nyelvek II.: JAVA
Programozási nyelvek II.: JAVA 13. gyakorlat 2017. december 11-15. 13. gyakorlat Programozási nyelvek II.: JAVA 1 / 32 Az 13. gyakorlat tematikája Generikus típusokés öröklődés Clone Comparator Névtelen
RészletesebbenSQL Server High Availability
SQL Server High Availability Bevezetés az SQL Server magas rendelkezésre állási megoldásaiba Berke János SQL Server MVP 2016.05.18 Bemutatkozás 10+ év SQL Server tapasztalat Oktató Kapcsolat: Email: Janos@iamBerke.com
RészletesebbenBevezetés a Programozásba II 11. előadás. Adatszerkezetek megvalósítása. Adatszerkezetek megvalósítása Adatszerkezetek
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 11. előadás 2014.05.12. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Adatszerkezetek
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 Láthatósági szintek Névterek és hatókörök Osztály szintő tagok Beágyazott osztályok
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észletesebbenMiskolci Egyetem Gazdaságtudományi Kar Üzleti Információgazdálkodási és Módszertani Intézet. Correlation & Linear. Petra Petrovics.
Correlation & Linear Regression in SPSS Petra Petrovics PhD Student Types of dependence association between two nominal data mixed between a nominal and a ratio data correlation among ratio data Exercise
RészletesebbenA BÜKKI KARSZTVÍZSZINT ÉSZLELŐ RENDSZER KERETÉBEN GYŰJTÖTT HIDROMETEOROLÓGIAI ADATOK ELEMZÉSE
KARSZTFEJLŐDÉS XIX. Szombathely, 2014. pp. 137-146. A BÜKKI KARSZTVÍZSZINT ÉSZLELŐ RENDSZER KERETÉBEN GYŰJTÖTT HIDROMETEOROLÓGIAI ADATOK ELEMZÉSE ANALYSIS OF HYDROMETEOROLIGYCAL DATA OF BÜKK WATER LEVEL
Részletesebben1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon
1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (
RészletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Tömbök (3. rész) Konstansok Kivételkezelés Tömbök 3. Többdimenziós tömbök Többdimenziós tömbök int a; Többdimenziós tömbök int a[5]; Többdimenziós tömbök
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észletesebbenDr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016
Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS 2015-2016 Objektumorientált programozás OOP PHP-ben 2 A PHP az 5.0-as verziójától megvalósítja az OO eszközrendszerét OO eszközök:
RészletesebbenBasic Arrays. Contents. Chris Wild & Steven Zeil. May 28, Description 3
Chris Wild & Steven Zeil May 28, 2013 Contents 1 Description 3 1 2 Example 4 3 Tips 6 4 String Literals 7 4.1 Description...................................... 7 4.2 Example........................................
RészletesebbenBevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok
Bevezetés a programozásba II 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Emlékeztető struct Vektor { int meret, *mut; Vektor(int meret); int szamlal(int mit); }; int Vektor::szamlal(int mit)
Részletesebben1. Ismerkedés a Hyper-V-vel, virtuális gépek telepítése és konfigurálása
1. Ismerkedés a Hyper-V-vel, virtuális gépek telepítése és konfigurálása 1.1. Új virtuális gép és a Windows Server 2012 R2 Datacenter alap lemez létrehozása 1.2. A differenciális lemezek és a két új virtuális
RészletesebbenSmart Pointer koncepciója
Smart Pointer koncepciója ( Egyszerű Smart Pointer implementálása C++ nyelven ) Bevezetés Mik a smart pointer-ek 1? A válasz egyszerű; a smart pointer-ek olyan mutatók amik okosak. Mit is jelent ez pontosan?
RészletesebbenC#, OOP. Osztályok tervezése C#-ban
C#, OOP Osztályok tervezése C#-ban OOP Létrehozás (creating) Megszüntetés (destroying) Túlterhelés (overlading) Felsorolás típus (enumerated types) 2 Hajó osztály Sailboat class using System; class Sailboat
RészletesebbenStateless Session Bean
Stateless Session Bean Készítsünk egy stateless session bean-t, amellyel összeadhatunk két számot. Hozzunk létre egy Dynamic Web projectet File New Other itt a következőket kell választani: Web Dynamic
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észletesebbenAlkalmazott Modul III 6. előadás. Objektumorientált programozás: öröklődés és polimorfizmus
Eötvös Loránd Tudományegyetem Természettudományi Kar Alkalmazott Modul III 6. előadás Objektumorientált programozás: öröklődés és polimorfizmus 2011.10.24. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
RészletesebbenBest Practices for TrusBest Practices for Trusted Digital Repositories in HOPE. ted Digital Repositories in HOPE.
Best Practices for TrusBest Practices for Trusted Digital Repositories in HOPE. ted Digital Repositories in HOPE. OAIS alapú digitális archívumok: best practice and HOPE (2010-2013) http://www.peoplesheritage.eu/pdf/d5_1_grant250549_ho
RészletesebbenHU ISSN 1787-5072 www.anyagvizsgaloklapja.hu 62
Kockázatalapú karbantartás Új törekvések* Fótos Réka** Kulcsszavak: kockázatalapú karbantartás és felülvizsgálat, kockázatkezelés, kockázati mátrix, API RBI szabványok Keywords: risk-based inspection and
Részletesebben