[TIL] 42 반별강의(Memory), 심화주차 ⭐⭐
카테고리: Til
Memory
유니티 심화주차 2일 , 개인공부
[o] 알고리즘 문제 - 47
[o] 다른반 강의 듣기
[x] ui 2회차 듣기
[x] 심화주차 강의 듣기.
반별강의
1. 메모리
- 코드 영역 : 실행할 프로그램의 코드
- 데이터 영역 : 데이터 영역
- 힙 영역 : 사용자의 동적 할당
- 스택 영역 : 지역 변수, 매개 변수
스택 메모리
- 지역변수, 매개변수
- 값형식(value)
- c#에서 스택 영역 용량이 작다(1mb?)
- 0으로 초기화 되는 자료형
메모리의 할당, 해제 : 지역(클래스,함수)가 끝나면 해제된다.
힙 데이터
- 동적으로 관리
- 참조형식()
- c#에서 스택 영역 용량이 작다(1mb?)
- 0으로 초기화 되는 자료형
스택에는 주소가 힙메모리에는 실제값이
스택 영역 용량이 작다 -> 주소값만(int) -> 실제 데이터(long,~~)는 힙에
GC(Garbage Col)
- 힙 메모리를 관리해줌
- 많은 가비지를 생성해 프레임 드랍이 발생 -> 관리
- new로 만드는 자료구조 Dispose()필요
boxing , unboxing
- 성능에 좋은 역할을 하지 않는다.
- 계산량이 많아 GC가 자주 일어난다.
- Arraylist는 boxing,unboxing 이 일어난다
- GENERIC.LIST (T)는 Boxing이 안일어남
- Debug.Log 도 매개변수 자료형이 object로 boxing이 일어난다.
- var, T 를 사용.
int i =123; // a value type
object o = i; // boxing
int j = (int)o; // unboxing
// X 박싱할 때 INT값도 같이 저장된다.
int i =123; // a value type
object o = i; // boxing
float j = (float)o; // unboxing
2. Ref, Out
ref : 선언된 변수를 매개변수로 함수내에서 값을 변경
out : 초기화 되지 않은 변수도 out은 정상 작동 한다.
잡담,정리
csv - 맵생성, 대화형식 데이터
알고리즘
리더
좋은 리더란 무엇인가?
댓글남기기