백엔드 with java/java
ABOUT JAVA, 환경 변수 등록
정민됴
2023. 5. 29. 22:21
자바의 특징
- 플랫폼 독립성
- 다른 플랫폼을 사용하는 컴퓨터는 서로 다른 기계어를 사용 -> 다른 플랫폼에서 사용하는 기계어는 알아듣지 못함
ex) 윈도우 실행파일(.exe)은 윈도우 플랫폼에서는 동작하지만, 다른 플랫폼에서는 동작하지 않음 -> 플랫폼 종속성 - 하나의 프로그램이 모든 플랫폼에서 실행 가능 -> 어떻게?
- 자바 가상 머신(JVM) 덕분
- JVM을 설치하면 자바에서 만든 .class 파일을 실행하게 해주는 가상 컴퓨터를 올려 놓는것과 마찬가지
- 다른 플랫폼을 사용하는 컴퓨터는 서로 다른 기계어를 사용 -> 다른 플랫폼에서 사용하는 기계어는 알아듣지 못함
- 객체지향 언어
- 함수형 코딩 지원
- 분산 처리 지원
- 멀티 쓰레드
자바 개발 도구(JDK) & 자바 실행 환경(JRE)
JDK란?
- 자바를 이용해 프로그램을 개발하는 데 필요한 도구를 모아 둔 집합
JRE란?
- 완성된 프로그램을 실행하는 데 필요한 환경
즉, JDK를 가져와 프로그램을 완성하고 JRE 위에서 실행하면 프로그램이 돌아감
JDK를 설치한 이후에는 운영체제에 JDK의 위치를 알려주어야 함
-> 환경 변수 등록
- 시스템 환경 변수 편집 클릭
- 고급 > 환경 변수
- 시스템 변수 > 새로 만들기
- JAVA_HOME 등록
- Path > 편집
- 새로 만들기 > %JAVA_HOME%\bin
- CLASSPATH 추가
자바 소스 코드의 실행 과정
- 소스 파일(.java)을 작성 후 컴파일
- JVM에서 동작하는 바이트 코드(.class)가 생성
- JVM이 운영체제에서 메모리를 할당받음
- 자바 프로그램 실행
JVM의 메모리 영역
- 메모리의 메서드 영역은 class 영역, static 영역, final 영역이라고도 부름
- 메모리 할당 이후 실행파일인 바이트 코드는 메서드 영역에 로딩되고 클래스 내에 포함되어 있는 main() 메서드를 실행함