Filtrera

.NET minne - prestanda och felsökning


Efter denna workshop, så kommer du att få en fullständig förståelse över hur den automatiska minneshanteringen fungerar i .NET (både .NET Framework och .NET core). Workshoppen kommer att ge dig de kunskaper som krävs för att skriva minnes-effektiva program, samt hur man diagnostiserar vanliga minnesrelaterade problem. Den kommer att inte bara förklara hur saker och ting kan användas, utan också hur och varför de är implementerade som de är. Men denna djupa insikt och förståelse, så kommer du mycket lättare att förstå och lösa framtida prestandaproblem. 

Denna workshop är uppdelad i 50/50 mellan teori och praktik. De nämnda sakerna kommer att praktiskt gås igenom i de olika övningarna eller demonstreras live. Det ingår också övningar där deltagarna ska applicera sin erhållna kunskap, diagnosticera problem samt optimera kod.

Vad du kommer att lära dig

  • Bli en bättre .NET programmerare och få kunskaper om minneshantering
  • Förstå hur och varför minnet hanteras av .NET runtime
  • Lära dig skriva minneseffektiv kod
  • Utforska avancerad minneshantering
  • Hur man övervakar och diagnosticerar olika typiska minnesproblem
  • Hur .NET’s inbygga garbage-collector fungerar

    Målgrupp

    Alla .NET utvecklare kommer att ha nytta av denna workshop! Med start från grunderna i hur .NET runtime fungerar, så kommer workshoppen att gå igenom alla aspekter av minneshanteringen som är relevant för dagens .NET utevecklare.

    Förkunskaper

    Kursen utgår från att du som deltagare är bekväm med att läsa och skriva program som använder sig av moderna C# konstruktioner, så som async/await, Linq och lambda-utttryck.

    OBS! Kursen ges enbart på engelska. 

    Day 1

    Basic concepts

    • manual vs automatic memory management
    • operating system, virtual memory and .NET process

    Memory partitioning

    • generations - what's "healthy state"?
    • Small and Large Object Heap - are there any caveats?
    • segments - should I care?

    Allocations

    • how allocation work in SOH and LOH - is it "cheap"?
    • common sources of allocations and avoiding them
    • stackalloc - our super-fast allocator

    Garbage collector

    • how it works - Mark, Plan, Sweep and Compact
    • OutOfMemoryException - why, how, when?
    • Memory Leak!
    • Server vs Workstation - which to choose?
    • Background vs Non-concurrent - which to choose?
    • programmatically control


    Day 2

    Lifetime management

    • explicit cleanup - IDisposable interface
    • implicit cleanup - finalization
    • weak references

    Advanced topics

    • structures all the way - ref structs
    • Span and Memory
    • Unsafe class and code
    • Pipelines

    Data-oriented design

    • tactical data-oriented design
    • strategic data-oriented design

    Dessert

    • ClrMD library
    • TraceEvent library

    Relaterade artiklar

    • Vårens kursnyheter

      Nu lanserar vi 5 nya kurser! Maskininlärning, React, Docker, Scrum eller .NET oavsett vad du vill bredda dig inom har vi det. 

      Läs mer

    Kursinformation

    Kurskod: T333
    Datum: 5 sep
    Plats: Stockholm
    Kurslängd: 2 dagar
    Pris: 21 500 SEK
    Språk: OBS! Kursen ges enbart på engelska

    Lärare

    Konrad KokosaKonrad Kokosa

    Dela

    Kontakta oss för mer information

    040 61 70 720
    info@edument.se


    Alla priser är exkl. moms