본문 바로가기

Programming/Java

[Java] Java 기초 지식 정리

반응형

Programming 언어는 Compiler가 있어야 하며, Compiler는 OS에 종속적이다.

(Compiler는 Source code를 Binary Code로 만들어주며, Binary Code는 Bits들로 이루어져 있다.)

 

JDK (Java Development Kit)

: JVM (Java Vitrual Machine) < JRE (Java Runtime Environment) < JDK (Java Development Kit)

: 컴파일러와 라이브러리와 JRE(자바를 실행시켜주는 런타임 환경)이 포함되어 있다.

 

Java Source Code Example

public class Helloworld {
  public static void main(String[] args) {
    System.out.println("Hello, World");
  }
}

 

그럼, JVM이란 무엇인가?

: Java 코드의 최종 실행 환경인 .class 파일을 실행하는 Runtime

: .java 파일을 컴파일하여 .class 파일로 변환한 후 JVM에 class loader가 적재한다. 그 이후, 적절한 배치 과정을 걸쳐 실행하게 된다.

Java 컴파일

⇒ javac hello.c

java 실행

⇒ java hello.java

 

Java Source를 Java Compiler가 Java Byte Code로 변환하고, Class Loader에 의해 JVM(Java Virtual Machine)으로 적재된다. 이제 JVM에 Code가 적재되어 있기 때문에 어느 OS에서도 Java Application이 구동 가능한 환경이 되었다.

 

 

JVM Heap Memory

: Young Generation, Old Generation, Permanent

-XX:NewRatio=4 -Xms2048m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=256m

 

Serial GC: -XX:+UseSerialGC

Parallel GC: -XX:+UseParallelGC -XX:ParallelGCThreads=value

CMS GC: -XX:+UseConcMarkSweepGC

G1 GC: -XX+UseG1GC

 

 

Reference

https://www.youtube.com/channel/UCM2Wcg5zO33ngBhiRFwkrlA

https://velog.io/@roeniss/자바-기초지식-정리

 

 

반응형