티스토리 뷰
/*
** 안녕하세요, 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 툴을 이용하여 본격적인 코딩을 하겠습니다.
** 감사합니다.
*/
'Java > Study' 카테고리의 다른 글
[Java] Java 강의에 대한 수정 -6 (0) | 2015.02.06 |
---|---|
[Java] 주석처리와 변수와 자료형 -5 (0) | 2015.02.06 |
[Java] Eclipse를 사용해보자 -4 (0) | 2015.01.27 |
[Java] 간단한 Java 코딩해보기 -2 (0) | 2014.11.13 |
[Java] JDK, 환경변수 설정 - 1 (0) | 2014.11.09 |