그냥 어려웠음.. map을 도배하면서 만들었는데 정석은 아닌 것 같다.
함수가 끝나면 stack에 있는 내용들은 다 사라진다. heap에는 남음. 그래서 연결되어 있지 않은데 heap에 남아있는 애들은 garbage collection으로 회수한다.
스스로 확인할 사항
- 구현한 각 함수 동작이 정상적으로 동작하는지 확인하기 위해서 어떤 방식으로 테스트했는지 정리한다.
여러가지 예시 직접 넣어보고 예상대로 동작하는지 확인했다. 안되면 디버그해서 변수는 어떻게 변하는지, list엔 내가 의도했던대로 값이 들어가있는지 등..
- 일반적인 프로세스 메모리 모델에 대해 학습하고 정리한다.
- JVM에서 가비지 콜랙터(Garbage Collector)에 대해 학습한다.
memory heap 구간에서 연결이 끊어져있는거면 사용을 못하기 때문에 이런것들을 수거해간다.
다같이 확인할 사항
- 안드로이드에서 사용하는 JVM 가상 메모리 관리 동작 방식에 대해 학습하고, 일반적인 메모리 모델과 차이점을 비교한다.
-> 안드로이드는 JVM대신 DVM(Davic) 이라는 구글에서 만든걸 사용한다. 저작권 문제와 속도도 빨라진 것 같다.
실행 하는것도 차이가 있는데, 구버전에서는 DVM을 계속 사용하다 후에 성능을 정말 크게 개선한 ART라는 걸로 바꿨다고 한다. ART는 APK에서 설치할 때 바이트 코드를 가져오는게 아니고 바이트 코드를 해석한 결과물을 가져오기 때문에 설치는 느리지만 속도가 획기적으로 빨라졌다고 한다.
- 가비지 콜랙터가 응용 프로그램에 미치는 영향에 대해 학습하고 정리한다.
수시로 하는 minor gc랑 초과뜨면 한번에 처리하는 major gc가 있다. 에러뜨고 초과뜨고 그런거 막아주는 거지 뭐.
클래스를 분리한다고 하지만 같이 있는게 좋을때 억지로 분리하면 안되겠구나.
다음엔 나도 test package 써보기. @Before @test
늦은 초기화
'강의 > 부캠 안드로이드 학습정리' 카테고리의 다른 글
day 7 클래스 상속 (0) | 2021.07.27 |
---|---|
day 6 xml, html parser 만드는데 너무 어려웠음 (0) | 2021.07.27 |
Day3. 코틀린 외부 라이브러리 불러와서 해보기. (0) | 2021.07.22 |
day 2. 왠지 유용한 리눅스 기능들.. (0) | 2021.07.20 |
day 1. 거의 처음 kotlin 접하고 느낀점들. (0) | 2021.07.19 |