본문 바로가기

JAVA 기본

JVM이란?

Java Virtual Machine ( 자바 벌쳐 머신 )

              - 자바 가상 머신의 줄임말이다. 자바 가상머신이란 프로그램을 실행하기 위해 소프트웨어로 구현한 것

                 JAVA는 *인터프리터 방식(Interpreter) *컴파일러 방식(Compiler)을 합쳤기 때문에                  OS에 구애받지 않으며,  속도도 빠른 언어 이다.

 

특징 첫번째 - CPU나 OS의 종류와 무관하게 실행 할 수 있다. ( *인터프리터 방식 )

 

특징 두번째 -  JVM은 메모리 관리를 해주는 *Garbage Collection을 수행 해줌으로써 성능을 향상 시킨다.

                   

                   C언어는 메모리 관리를 개발자가 직접 해줘야되는 번거로움이 있는 반면에 

                   JAVA는 메모리 관리를 개발자가 직접 할수 없고 시스템에 적합한 GC를 이용해서

                   개발해야 한다( 고급 개발자 공부 더 필요.) 

                   초급기준 에선 GC의 존재와, 기능을 알고 있으면 된다.

 

특징 세번째 -  *ARM 아키텍쳐 같은 하드웨어는 레지스터 기반으로 동작하는데 비해

                    JVM은 스택(Stack) 기반으로 동작한다.

 

 

 

 

 

JVM의 깊은 이해는 앞으로도 계속된다.. to be continue.....

 

 

 

*가비지 컬렉션(Garbage collection)  : 

                        JAVA의 메모리 관리기법 JAVA에선 개발자가 메모리관리를 직접 하지 않고

                        JVM 안에 있는 GC라는 애로 메모리관리를 함.

                        레퍼런스 참조가 0 인것을 찾아 끊어 주는것이 기본.

               참고 : https://threeo.tistory.com/12

 

*인터프리터 방식(Interpreter)  :                      

                        워드, 파워포인트(압축) 파일을 한컴 오피스, 구글드라이브 등등 열 수 있는

                        프로그램(해석기, 인터프리터)이 있어야 됨

                   

                        장점 - 운영체제 상관x

                        단점 - 해석, 실행 때문에 속도 저하

*컴파일러 방식(Compiler)  : 

                        운영체제에 맞는 컴파일을 통해(오래걸림) 컴파일을 해놓으면

                        다음부터 실행할때는 실행속도가 빠름.

 

                        장점 - 바로실행

                        단점 - 운영체제에 제한적 

 

 

 

'JAVA 기본' 카테고리의 다른 글

MIME(Multipurpose Internet Mail Extensions)  (0) 2022.03.21
Interface...  (0) 2022.03.16
JRE란 ?  (0) 2022.03.07
가비지 컬렉션(Garbage collection)  (0) 2022.03.07
Wrapper Class ( 포장 클래스 )  (0) 2022.03.03