안녕하세요. 시온스입니다.
이번시간에 알려드릴것은, 자바를 설치하고나면 무엇이 설치되느냐 입니다.
이번 강좌는 거의 필요없기때문에, 제4장으로 넘어가셔도 전~혀 무관합니다. 나~중에 자바를 어느정도 익히신 뒤,응용단계에서나 조~금. 아~주 조금 도움이 될만한 자료입니다.
우선 자바를 설치하게되면 가장 기초적인 폴더 (C:\Program Files\Java)에 설치가 됩니다. 자바 1.2 이하에서는 C:\Java에 설치가 될것입니다. (하지만 1.2 이하로는 절대 사용하지 안습니다.. 이미 1.7이 나올 예정인 상태까지 왔으니까요)
아래 그림은 기초 폴더에 들어갔을때의 파일들입니다.
보시면 여러분과 다르게 jdk가 하나 더 있는데요 그 이유는 그 이전버전설치가 남아있어서입니다.
여기서는 크게 jdk와 jre로 나뉩니다. 앞서 설치때도 언급한 바 있지만.
JRE는 자바를 구동하기 위해 필요한 엔진입니다. 한마디로 실행할때만 사용하는 것입니다.
JDK는 자바를 개발하기 위한 키트입니다.
Java Development Kit 그게 JDK입니다.
그럼 JDK 폴더에 한번 들어가보죠.
대충 이런 폴더와 파일들이 있는데요. 중요한 녀석들은 꼬집어 설명을 드리겠습니다.
<bin> 개발의 핵심 툴들이 담겨져 있는 폴더입니다. 이 폴더안에있는 프로그램으로 자바프로그램을 제작하는 것이죠.
<demo, sample> 몇가지 예제와 새로운 기능에 대한 사용법에대한 예제들이 탑제 되어 있습니다. 나중에 어느정도 기능을 익힌 뒤, 한번씩 들여다보는게 좋습니다.
왠만한 한국 웹에서 찾기힘든 예제들이 많습니다. 저같은 경우, 여러가지 작업을하다가 보면 정말 난관에 봉착할때가 있어서 여러 웹을 찾아도 없던게 여기 다 숨어있었습니다.
<include> 자바 native 코드를 작성하기 위한 해더들이 담겨져있습니다.
<lib> include와 비슷하지만 bin에 있는 파일들을 서포트해주는 라이브러리들이 담겨져 있습니다.
<src.zip> 자바가 오픈소스 개발툴이라는 것은 알고계시죠? 이 파일을 열어보면 자바의 모든 기본소스가 담겨져있습니다. 물론 중요구동소스는 없구요. Window, Mac, Linux 등에서 공통적으로 사용될수있는 모든 소스는 담겨져있습니다.
Native코드 란 ? 자바코드에는 한계가 있습니다. 여러가지 운영체제에서 모두 실행하기위해서 공통적인 개발API를 만들었지만, 모든 운영체제에서 작동하지 않는 특별한 녀석이나, 하드웨어 컨트롤, 메모리 컨트롤 등은 자바 명령어로는 실행할 수 없습니다. 이런 단점을 극복하기위해서, Native코드가 있습니다.
Native코드는 해당 운영체제에 맞춰서 만들어진 시스템코드들입니다. 자바로는 만들 수 없고, C와 같은 시스템언어로 제작하여 자바와 연결하는 역할을 합니다. 이로서 자바는 C의 기능을 더 포함할 수 있습니다. 하지만 Windows용으로 만들어진 Native코드는 리눅스, 맥에서는 사용할 수 없다는 단점이있습니다.
한마디로 범용 프로그램을 만들고싶다면 Native코드를 사용하지 말아야합니다.
이제 <bin>폴더에 들어가보겠습니다.
목록이 많죠? 저도 이걸 다 알지는 않습니다. 제가 알고있는 몇가지만 알려드리도록하겠습니다.
<java.exe> 자바를 실행하는 실행파일입니다.
<javaw.exe> java.exe와 비슷하지만 Java Window라는 기능으로, 실행콘솔과 별개로 실행됩니다. (이부분은 나중에 사용해봅시다)
<javac.exe> 자바 코드를 바이트코드로 변환하는 작업을 해줍니다. 실질적인 프로그램만들기를 이녀석이 합니다.
<javadoc.exe> 만들어진 java코드를 API doc형식으로 변환해줍니다. (거의 필요없음)
<javah.exe> 자바코드의 native 헤더를 만들어줍니다.
<jconsole.exe> 정말 유용한 녀석입니다. 실행 되 있는 자바의 내부를 살필 수 있는 툴로서 좋은 개발도구입니다.
그러면 이제 JRE 폴더로 들어가보겠습니다.
JDK와 다르게 엄청나게 조촐한걸 알 수 있습니다. 개발은 필요없고 돌아가기만 하면 되는 JRE이니까요 ㅋㅋ
bin폴더를 봅시다.
뭔가 엄청많지만 exe파일은 별로 없습니다. 그만큼 이것은 실행만 되면 그만이란거죠. ㅋㅋ
그대신 jdk에는 없던 dll파일이 다수 존재합니다. 이것은 여러가지 라이브러리를 뒷받침해줄 native코드들입니다.
역시 여기서도 보이는녀석들은
<java.exe, javaw.exe>인데요. 이녀석들만 알아도 자바의 반을 아신겁니다. 하하하[퍽]
그럼 이제 lib폴더로 들어가보겠습니다.
여기도 뭔가 이상한게 널려있죠. 여기서 아셔야할것은 1개입니다.
<rt.jar> 이녀석은 자바 API의 모든것이라고 봐도 됩니다.
실제 자바에서 System.out.println()으로 메시지를 출력하는데 rt.jar파일 안에 java.lang.System 이라는 녀석이 있습니다. 이녀석을 수정하면 저녀석들이 모두 수정된 상태로 작동하게됩니다.
직접적인 라이브러리 역활을 하는 샘이죠.
이렇게 파일이 설치가 됐습니다. 이것이 다냐구요? 아닙니다.
C:/Windows/System32폴더에 저렇게 파일이 또 생성이 됩니다.
자바를 설치하신 여러분이라면 (시작->실행-> cmd) 를 입력하시면 검은색 도스창이 나올것입니다.
거기에 java라고 입력해보세요. 흰색 영어 글씨가 꼬부랑꼬부랑 엮여서 출력이 될것입니다. 한마디로 그냥 java라고만 입력했을뿐인데 자바를 실행한것입니다.
컴퓨터는 그다지 똑똑하지 못해서 알아서 찾는것 따위는 없습니다. 모두 다. System32폴더에 자바 파일이 있기때문에 바로 찾았던 것입니다.
그러면 System32폴더의 java.exe 를 java2.exe로 잠시 바꿔볼까요?
그리고 java를 써보세요.
배치 파일이 아닙니다.
라고 표기가 될겁니다.
그럼 java2라고 쳐보시죠? 여러분이 생각하는 그대로 표기될겁니다. java2.exe로 바꾸기 전의 java를 입력했을때와 똑같은 메시지가 출력됩니다.
자 이제 실험을 마쳤으면 java2.exe의 이름을 다시 java.exe로 바꿔주세요^^;; 안그러면 큰일납니다. ㅋㅋ
그리고 이것 뿐아니라 Registry에도 자바가 추가가됩니다. 레지스트리를 보시려면 [시작->실행->Regedit]을 하시면되는데요.
이곳에도 자바가 추가가됩니다.
HKEY_LOCAL_MACHINE -> SOFTWARE -> JavaSoft
이곳에 추가가되는데요. 폴더가 많이 있습니다. 그중에 여러분이 주목할 부분은요. 'Java Runtime Environment'입니다.
레지스트리가 있는 이유는, 자바가 설치 되어있느냐 없느냐를 구분하기 위해서입니다.
자바는 대부분 java명령어로 실행을합니다. 하지만, C로만든 툴이 자바의 위치를 알아내서 뭔가 조작을 해야한다거나 할때 이것이 필요하게되죠. 이부분은 나~중에 필요할 부분이지만 알아두시면 나쁠건 없습니다.
Java Runtime Environment를 클릭하시면 오른쪽 데이터란에 두가지 값이 표기됩니다.
바로 알 수 있듯이.
CurrentVersion ( 현재 버전) 1.6버전이라는 말이구요.
Java6FamilyVersion 은 세부버전을 나타내는것입니다. 1.6.0_24 버전이 세부버전인 셈이죠.
그리고 이제 최신버전인 1.6.0_24를 클릭해봅시다.
이름과 데이터가 직관적이게 알려주죠?
JavaHome 은 현재 버전이 설치 되어 있는 폴더 주소입니다.
MicroVersion 은.. 몰라요 - -;
RuntimeLib 는 Java Virtual Machine의 주소입니다. JVM이 실제적인 자바를 돌리는 가상 머신입니다.
java.exe는 JVM에 연결을 해주는 역할을 하는것이죠.
그리고 1.6.0_24 아래에 있는 MSI를 보겠습니다.
뭔가 많죠?
이부분은 그냥 쭉 훑어만 보시면됩니다.
중요한건 상위에서 모두 표기가 되어 있으니까요.
이상으로 자바가 설치되면 생성되고 변경되는 것들이였습니다. 이외에도 시스템변수가 수정이 되기는 하지만, 크~게 중요하지는 않습니다. 분명 크~게 중요하다고 하는분들도 있긴하나, 지금까지 시스템 변수를 수정하거나 해본적은 전~혀 없습니다.
다음 강의는 자바 프로그래밍의 기초가 되는 자바 개발툴 설치에 대해서 알아보겠습니다.
나는 주인장인데..
왜 홈페이지 관리를 안하지?
| 번호 | 제목 | 닉네임 | 조회 | 등록일 |
|---|---|---|---|---|
| 8 |
제2-2강. 정수? 실수?
|
667 | 2011-12-20 | |
| 7 | 제2-1강. 이제 배워야할것은 기초소양! | 583 | 2011-12-20 | |
| 6 | 제1-5장. 집고넘어가기. [필수] [1] | 515 | 2011-12-20 | |
| 5 |
제1-4장. HelloWorld! 자바 입문하기
|
666 | 2011-12-20 | |
| 4 |
제1-3장. 이클립스 설치
|
636 | 2011-12-20 | |
![]() |
제1-2장. 자바를 설치하면?
|
1897 | 2011-03-15 | |
| 2 |
제1-1장. 설치
|
2229 | 2011-02-27 | |
| 1 | Prologue [16] | 1913 | 2011-02-18 |








KetaMix
