JAVA에 대해

2024. 1. 21. 04:47· Dev/JAVA
목차
  1. 자바란?
  2. 자바 표준 스펙(=문서) 이란
  3. 컴파일과 실행
  4. IDE와 JAVA
  5. JAVA 와 운영체제의 독립성

자바란?

자바는 표준스펙 , 구현 으로 나눠져있다.

자바 표준 스펙(=문서) 이란

  • 자바는 이렇게 만들어야한다 라는 설계도 (문서) 이다.
  • 표준 스펙하나를 가지고 여러회사에서 자바를 만든다.
  • 각 구현에는 장단점이 있다. Amazon Corretto 같은 경우 AWS 에 최적화되어있다.

여러 구현들 모두 표준스펙을 따르기 때문에 다른 구현 버전으로 바꾸더라도 대부분 문제없이 잘 작동한다.

컴파일과 실행

자바 프로그램은 컴파일 단계 와 실행 단계를 거친다.

[컴파일 단계]

.java 소스코드를 작성한다. 자바가 제공하는 javac 라는 프로그램이 .java 파일을 컴파일한다. (javac == 컴파일러)

컴파일과정을 거치면 .java 파일→ .class 파일 생성된다.

그럼 왜 .class 파일을 굳이 만들까?

.class 는 java 소스코드 → java 바이트 코드 로 변환된 것이다.이 java 바이트코드는 JVM 이해하고 실행될 수 있는 중간형태 코드인데, 이를 활용하면 JVM 에서 더 빠르게 실행될 수 있고 최적화 및 문법오류도 검출 할 수 있게된다.

[실행 단계]

컴파일단계는 javac 라는 프로그램이 컴파일하듯,실행단계에서는 java라는 프로그램이 .class 파일을 JVM에 로드한다.

JVM은 .class 파일 즉, 바이트 코드를 해석하고 실행한다. 이렇게 실행되면 JVM은 각 운영체제에 맞는 기계어로 변환하고 실행된다.

IDE와 JAVA

인텔리제이 ↔ 자바 설치 관리

인텔리제이 ↔ 자바 컴파일과정 & 실행과정

  • 컴파일 : 자바 코드를 컴파일 하려면 javac 라는 프로그램을 직접 사용해야하는데. ex) javac Hello.java인텔리제이에서는 이 과정을 자동으로해준다. + 컴파일되면 주석처럼 필요없는 것들은 다 날아간다. 
  • 실행 : 컴파일된 .class 파일을 실행하려면 java 라는 프로그램을 직접 사용해야 한다.이 역시 자동을 해준다.

정리하면 인텔리제이에서 Run 을 하게 되면 컴파일 과정과 실행 과정을 모두 한번에 처리한다 .

JAVA 와 운영체제의 독립성

  • 일반적인 프로그램

일반적인  프로그램은 다른 운영체제에서 실행 X

  • 자바 프로그램

자바 프로그램은 자바가 설치된  모든 운영체제 에서 실행할 수 있다.

  • 자바 개발과 운영 환경

개발하는 환경(MAC,WIN)과 서버에서의 환경(Linux)의 자바의 버전이 차이가 있을 수 있다.

그래도 문제는 없다. JAVA의 운영체제 독립성이 보장되니까 !

728x90
반응형

'Dev > JAVA' 카테고리의 다른 글

클래스와 데이터  (0) 2024.01.22
배열  (2) 2024.01.22
변수  (1) 2024.01.21
IntelliJ IDEA 단축키  (0) 2024.01.21
  1. 자바란?
  2. 자바 표준 스펙(=문서) 이란
  3. 컴파일과 실행
  4. IDE와 JAVA
  5. JAVA 와 운영체제의 독립성
'Dev/JAVA' 카테고리의 다른 글
  • 클래스와 데이터
  • 배열
  • 변수
  • IntelliJ IDEA 단축키
황빵
황빵
CS,PS, Algorithm
황빵
황빵's World
황빵
전체
오늘
어제
  • 분류 전체보기 (40)
    • PS (19)
      • DP (8)
      • Divide and Conquer (2)
      • Math (2)
      • Geometry (2)
      • Implementation (4)
      • Graphs (1)
    • Dev (20)
      • JAVA (5)
      • Spring (2)
      • DesignPattern (13)
    • Review (0)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • Design Pattern
  • 구조 패턴
  • 백준
  • OOP
  • BOJ
  • 파이썬
  • 구조패턴
  • 코딩테스트
  • 객체지향프로그래밍
  • Python
  • 구현
  • GOF
  • dp
  • 알고리즘
  • java
  • 분할정복법
  • ps
  • 11054
  • 설계패턴
  • 반복문

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
황빵
JAVA에 대해
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.