티스토리 뷰


/*

** 안녕하세요, doriri입니다.

** 저번 시간에 맛보기 자바 프로그램을 실행해보았습니다.

** 그럼, 자바프로그램은 뭐고 어떻게 실행될까요??

** 이번 시간은 쉬어가는 이론 시간이니, "아 그렇구나" 하고 지나가시면 좋겠습니다.

*/


1. 자바 프로그램 실행 구조와 Java Virtual Machine


 [그림 3-1 : 일반 프로그램 실행 구조]


일반적인 프로그램은 하드웨어를 기반으로 운영체제가 동작하고, 운영체제가 프로그램을 실행시키는 구조로 되어있습니다.

그러나 자바 프로그램은 다음과 같은 구조를 가지고있습니다.


 [그림 3-2 : 자바 프로그램 실행 구조]


자바 프로그램은 일반 프로그램과 달리 자바 가상머신 ( Java Virtual Machine ) 이란것이 존재합니다.

프로그램과 운영체제 사이 가상머신이 존재함으로써

운영체제가 자바 가상머신을 실행시키고, 자바 가상머신이 프로그램을 실행시키는 구조로 되어있습니다. 



이러한 자바 가상머신은 왜 존재할까요??


[그림 3-3 : 자바 가상머신의 필요]


그림3-3과 같이 Windows에서 동작하는 프로그램은 Linux에서 동작하지 않습니다.

따라서 같은 프로그램이라 할지라도 Linux에서 동작시키려면 Linux를 기반으로 다시 제작해야합니다.

하지만 자바 가상머신이 존재함으로써 운영체제에 관계없이 자바 프로그램을 실행시킬 수 있습니다.






















이러한 장점을 가진 자바 가상머신은 한가지의 단점이 존재합니다.


 [그림 3-4 : 서로 다른 JVM]


그림3-4에서 보듯이, 자바 가상머신은 Windows, LInux 기반이 따로 존재합니다.

하지만 운영체제에 따라 프로그램을 구현할 필요없으니 이정도는 해주셔야겠죠..?



그렇다면, 자바 가상머신이 존재함으로써 프로그램이 느려질까요?

여기서 소프트웨어에 대한 몇가지가 있습니다.


 *대부분의 소프트웨어는 속도보다 안정성을 중요시한다.

 *개발중일 소프트웨어는 90% 이상이 네트워크 기반 소프트웨어이다.

 *소프트웨어 속도보다 데이터 전송속도를 중요시한다.

 

등... 결론은 속도가 중요하지 않습니다.




++ 자바 컴파일러는 소스코드를 자바 가상머신이 이해할 수 있는 자바 바이트코드( Java Bytecode) 로 변환해줍니다.

++ Java ByteCode : 자바 컴파일러에 의해 생성되는 코드 ( 1byte )

++ java.exe -> JVM -> Java Program



/*

** 오늘은 이정도로 마치겠습니다.

** 다음시간에는 eclipse 툴을 이용하여 본격적인 코딩을 하겠습니다.

** 감사합니다.

*/


댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
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
글 보관함