일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- mongodb
- Project
- get
- backend
- flask
- flaskframework
- NAS
- venv
- body
- javascript
- json
- POST
- openapi
- CRUD
- portfolio
- atlas
- synology
- pymongo
- PYTHON
- frontend
- requests
- Algorithm
- beautifulsoup
- fetch
- OOP
- CSS
- Crawling
- mysql
- github
- java
Archives
- Today
- Total
wisePocket
[JAVA] 기초문법 - ✅️JVM? = 공통 실행 환경(Compile-time, Run-time) - 07 본문
Java & Algorithm/Java
[JAVA] 기초문법 - ✅️JVM? = 공통 실행 환경(Compile-time, Run-time) - 07
ohnyong 2023. 7. 24. 20:49PC던 모바일이던 서버 컴퓨터던 JVM(Java Virtual Machine)을 깔아주면 Java를 실행 할 수 있다. 당연히 JDK에 JRE에도 들어있다. 실행과 관련 있기 때문이다. JVM은 Java가 조상인 C언어에서 추가된 기능이고 Java가 유명해진 영향을 준 핵심 하나라고 생각한다.
Java가 실행되는 흐름은 다음과 같다.
(~.java)로 끝나는 사람의 언어, 개발자의 언어(text)로 작성된 파일의 코드는
-> (Java Compiler)(javac)변환기를 통해서
-> byte code(OS가 이해하는 언어)로 번역된다.(.class)
// 까지가 Compile-time 환경이다
// 여기부터 Run-time 환경이다
//여기부터는 JVM이 하는 곳이다.
->(.class)byte code는
-->(Class Loader)라는 운반기(bytecode를 읽음)를 통해서 메모리(데이터를 저장하는 영역)에 옮긴다.(여기서=>class객체를 만든다)
-->해석부[(Interpreter),(JIT compiler)가 기계어(CPU 장치가 그대로 읽을 수 있도록) 번역, (Garbage Collector)라는 청소부가 자동으로 메모리소멸,제거 등 처리해서(개발자 편하게함) 메모리(데이터를 저장하는 영역)에 옮긴다.
//여기까지가 JVM이 하는곳이다.
-> OS
-> HW
// 여기까지가 Run-time 환경이다.
런타임과 런타임 환경이란?
런타임은 간단하게 프로그램이 실행되고 있는 동안의 동작을 가리킨다.해당 프로그램이 필요한 시스템 자원(RAM, 시스템 변수, 환경변수 등)을 할당받고 실제로 시스템 자원을 사용해서 어떤 처리를 하고 있는 것 또는 상태, 처리가 진행 중인 것을 말한다.
해당 Java 기초 연습은 아래 깃허브를 통해 업로드 됩니다.
https://github.com/yzpocket/ohnyong_java_excercise
'Java & Algorithm > Java' 카테고리의 다른 글
[JAVA] 기초문법 - bit, byte, 2진수, 10진수 - 09 (0) | 2023.07.25 |
---|---|
[JAVA] 기초문법 - char와 string의 차이? - 08 (0) | 2023.07.25 |
[JAVA] 기초문법 - "JAVA 개발 환경을 구축한다." 라는 의미와 "JRE는 그럼 뭔지?" 까지 - 06 (0) | 2023.07.24 |
[JAVA] 기초문법 - Java란? 개발 언어 역사와 특징 요약 - 05 (0) | 2023.07.24 |
[JAVA] 기초문법 - JDK 버전 변경, IntelliJ IDEA Ultimate 설치 및 설정 - 04 (0) | 2023.07.24 |