- 오늘 공부한 것
- JAVA 문법 기초
- github 협업 - 고민했던 문제
- Wrapper class로 박싱된 기본형 변수의 값은 어디에 저장되는가?
-> 인스턴스 생성과 마찬가지이므로 참조형 변수처럼 heap에 저장
https://velog.io/@kimdy0915/기본형primitive-vs.-래퍼-클래스wrapper-class
- sc.nextInt() 다음에 오는 sc.nextLine()이 공백으로 처리됨
-> 사용자가 입력한 Enter를 인식, sc.nextLine() 추가 또는 Integer.parseInt(sc.nextLine())으로 변경 - 알게 된 것
- Java에서 참조형 변수를 저장하는 방식
-> 원본 값은 Heap영역에, Heap영역의 주소를 Stack영역에 저장 (기본형 변수는 원본 값을 Stack영역에 저장)
- Java 메모리 구조
-> heap : new를 통해 생성된 모든 인스턴스를 할당, Garbage Collector가 메모리를 관리함, 동적 할당
-> static : 전역변수와 static이 붙은 클래스 메서드, import된 패키지를 할당, 프로그램의 시작부터 종료까지 유지
-> stack : 지역변수와 일반 메서드를 할당, 메서드 종료시 메모리에서 해제됨, 정적 할당, LIFO구조
https://www.devkuma.com/docs/jvm/memory-structure/
- Github fork, branch, PR의 개념
-> 협업할 Repo를 fork한 경우 local repo는 fork한 내 원격 repo와 연결
-> 원본 원격 repo는 일반적으로 upstream명으로 등록
- git clone/fetch/pull의 차이점
-> clone : git init + git remote <> + git pull, 원격 repo를 로컬로 복사할 때 사용
-> fetch : 원격 repo의 업데이트 사항 확인, 내 작업내역은 merge하고 싶지 않을 때
-> pull : fetch + merge
카테고리 없음