juns.log
로그인
juns.log
로그인
[F-Lab] 모각코 챌린지 1일차
tree
·
2023년 5월 1일
팔로우
0
f-lab
에프랩
0
66해빗 페이백 챌린지
목록 보기
1/27
자바의 신 19장 정리
19. 이쯤에서 자바의 역사와 JVM에 대해서 알아보자
19-1 자바의 역사, 19-2 JDK의 플랫폼에 따른 차이
별 내용 없음
19-3 JDK, J2SE, Java SE 외에 자바에서 사용되는 다른 용어들
JRE
Java Runtime Environment
실행만을 위한 환경
라이브러리 포함
JDK
Java Development Kit
JRE에 컴파일 등 각종 프로그램 포함
19-4 자바 언어의 특징은 다음과 같다
단순하고 객체지향이며 친숙
단순함이란 자바의 기본 컨셉을 배우는 게 쉽다는 것
다형성, 캡슐화 등 객체지향의 특징을 지원
풍부한 라이브러리
C++보다 쉽고 빠르게 개발(오라클 주장)
견고하며, 보안상 안전
견고함
컴파일 시, 실행 시 문법 오류 체크
메모리 관리 모델 단순
포인터 개념 無
보안
승인 받지 않은 프로그램은 실행이 금지되어 있음
아키텍처에 중립적, 포터블
같은 프로그램은 어떤 플랫폼에서도 실행 가능
높은 성능
가비지 컬렉터
낮은 우선순위의 쓰레드로 동작
네이티브 언어
빠른 성능을 요하는 작업은 네이티브 언어로 수행
인터프리트 언어, 쓰레드 제공, 동적 언어
자바 인터프리터는 자바 바이트 코드를 어떤 장비에서도 수행하게 해줌
C언어의 경우 장비별로 일일히 테스트해야 했음
멀티 쓰레드 환경을 제공해 동시에 여러 작업 가능
빠른 작업 가능
실행 시 동적으로 필요한 프로그램을 연결
새로운 코드도 다양한 소스에 연결 가능
19-5 자바의 버전별 차이
자바 7,8 버전에서의 변화가 중요한데 이는 30 ~ 32장에서 소개함
19-6 JIT 컴파일러는 도대체 뭘까?
전통적인 프로그램 실행 방식
정적 컴파일 방식
실행 전 소스코드를 기계어로 변환
최적화가 가능해 빠름
이식성 낮음
OS마다 기계어가 달라서 실행 파일이 이기종 간에 호환되지 않는 경우가 많음
인터프리터 방식
실행 시 코드를 한줄씩 기계어로 변환
최적화가 불가능해서 느림
이식성 높음
인터프리터만 설치되어 있다면 소스 코드 실행에 아무 문제가 없다. 같은 소스 코드를 다른 OS에서 사용 가능.
소스 코드를 실행할 컴퓨터의 기계어에 맞게 변환해서 실행
JIT 컴파일러
정적 컴파일과 인터프리터 방식을 혼합
실행 시 바이트 코드를 한줄씩 기계어로 변환하지만 최적화까지 수행
기계어로 변환된 코드를 캐싱해두고 같은 코드가 반복될 때 매번 기계어로 변환하지 않고 캐싱된 코드를 가져다 재사용
인터프리터의 장점인 이식성과 정적 컴파일의 장점인 최적화를 동시에 취함
19-7 HotSpot은 또 뭐야?
자바 가상 머신(JVM)
이전 버전의 JVM(Classic VM)과 구별하기 위한 이름
HotSpot 클라이언트 컴파일러
HotSpot 서버 컴파일러
용도
싱글 코어
멀티 코어
특징
애플리케이션 시작 시간 단축, 메모리 점유 감소
애플리케이션 수행 속도 향상
19-8 자바를 배우면 꼭 알아야 하는 용어
JVM(Java Virtual Machine)
자바 프로그램을 실행하는 프로세스
GC(Garbage Colector)
JVM 내에서 메모리 관리를 해주는 것
19-9 자바의 GC는 어떻게 진행되나요?
힙 영역
객체들이 존재하는 영역
3가지 영역으로 나뉨
Young
생성된 지 얼마 안 된 객체들이 존재
eden 영역과 2개의 survivor 영역으로 나뉨
Old
오래된 객체들이 존재
Perm
클래스, 메소드 정보가 존재
Minor GC
eden 영역에 새로운 객체가 생성됨
eden 영역이 다 차면 생존한 객체들을 survivor 영역으로 옮김
survivor 영역이 다 차면 생존한 객체를 다른 survivor 영역으로 옮김. 이 때 eden 영역의 생존한 객체들도 같이 다른 survivor 영역으로 옮김
오래된 객체들은 old 영역으로 옮김
Full GC
old 영역이 다 차면 실행되는 GC
young 영역이 old 영역보다 작기 때문에 보통 Minor GC가 Full GC보다 빠름.
쇼핑몰 ERD 설계
tree
팔로우
다음 포스트
[F-Lab] 모각코 챌린지 2일차
0개의 댓글
댓글 작성