퇴근후.log 2일차도 성공했다.
오늘은 PT 3회차를 다녀왔고, 저녁도 닭가슴살과 함께 간단하게 먹었다.
밥 먹고 씻기 싫어서 조금 빈둥거리다가 시간이 늦어지긴 했지만...ㅎ
취준하고 있는 친구의 이력서, 포트폴리오를 봐주고, <스프링 입문을 위한 자바 객체지향의 원리와 이해>를 읽었다.
NEXT-STEP도 해야되는데.... 하루에 N개는 역시 무리인 것 같다... 하루에 1개씩 파야될 것 같다..흑
아래는 오늘 책을 읽으면서 정리한 내용이다.
메모리 구조
1. static 영역 : 클래스 / JVM이 종료될 때까지 고정된(static) 상태로 그 자리를 지킨다.
2. stack 영역 : 메서드 / 스택 프레임이 사라지면 함께 사라진다.
3. heap 영역 : 객체 / 객체 멤버 변수들은 객체와 함께 가비지 컬렉터 힙 메모리 회수기에 의해 관리된다.
JRE가 Java main 메서드를 실행하는 과정
1. JRE가 프로그램 안에 main() 메서드 존재하는지 확인
2. 메서드 존재가 확인되면, JVM 부팅
3. 부팅된 JVM은 목적 파일을 받아 실행
4. 모든 자바 프로그램이 반드시 포함하는 java.lang 패키지를 메모리의 static 영역에 배치 (전처리 과정)
5. 개발자가 작성한 모든 클래스 + import package를 static 영역에 배치 (전처리 과정)
6. main 메서드를 위한 stack frame이 stack 영역에 할당됨
7. main 메서드에 전달되는 args 인자를 저장할 변수 공간을 stack frame 맨 아래에 확보
p.s) if 블록 스택 프레임이 존재함
멀티 스레드와 메모리
- 하나의 메모리 안에서 스택 영역만 분할
- 스레드 간의 접근은 불가능하지만, static, heap 영역은 공유해서 사용하는 구조
자바의 객체 지향 4대 원칙
"클래스는 개념, 객체는 실체다."
1. 캡슐화(Encapsulation) : 정보 은닉
2. 상속 : 재사용
3. 추상화(Abstraction) : 모델링
4. 다형성(Polymorphism) : 사용 편의
추상화
"추상" : "여러 가지 사물이나 개념에서 공통되는 특성이나 속성 따위를 추출하여 파악하는 작용"
'project > 퇴근후.log' 카테고리의 다른 글
[퇴근후.log] 5일차, 오늘은.. 그냥 불금..ㅎㅎ (0) | 2025.01.11 |
---|---|
[퇴근후.log] 4일차, 오늘은 집안일이다! (0) | 2025.01.09 |
[퇴근후.log] 3일차, 자바 상속과 추상화 (0) | 2025.01.08 |
[퇴근후.log] 1일차, 이펙티브 자바 복습 시작 (0) | 2025.01.06 |
[퇴근후.log] 2025년 첫 사이드 프로젝트, 퇴근후.log (0) | 2025.01.05 |