프로그래밍[Univ]/기타

[JAVA] 자바란?

Cloud Travel 2011. 9. 12. 10:54

1. Java

  "독립적인 플랫폼을 가지고 있으며, 메모리 사용량이 적은 언어"이다. 독립적 플랫폼을 통해서 자바 언어로 만들어진 프로그램은 "JVM이 설치된 어떠한 곳에서 실행이 가능"하다. 이것을 “WORA”라고하며, Write Once Run Anywhere의 약자 이다. 이러한 자바에서는 사용자의 개발을 편리하게 하기위해 미리 작성된 라이브러리를 제공해주는데 이 종류는 3가지가 있다. 자바 표준 배포판으로 독립적 프로그램 개발시 이용하는 “JavaSE(Standard Edition)”와 제한된 리소스를 가진 하드웨어환경(핸드폰, PDA)에서의 응용프로그램 개발을 위한 “JavaME(Micro Edition)”, 그리고 기업용 배포판으로 대규모 기업, 다중 사용자 응용프로그램 개발시 이용되는 “JavaEE(Enterprise Edition)”이 있다.

 

 

1.1 JDK(Java Development Kit)

  JDK자바 개발 툴로 자바 응용 프로그램 개발에 필요한(클래스 라이브러리 소스, JRE, 컴파일러, ) 것들을 담고 있다. “SDK(Software Development Kit)”이라고도 불리며 Java Standard Edition(JSE)JDK라고 부른다. JDK설치시 디렉토리 구조와 각각 폴더가 가지고 있는 개발 킷에 대한 설명이 그림에 나와 있다.

JRE(Java Run-time Environment) : 자바 실행환경 및 라이브러리


1.2 J2SE(Java 2 Standard Edition)

  Java2가 출시 된 후 JSE(Java Standard Edition)와 구별하기 위해 사용된 이름이다. 현재는 Java1 플랫폼이 거의 사라지고, Java2 플랫폼만을 사용하므로 JDK와 동일하게 생각해도 무관하다. 일반적으로 독립적 프로그램, 로컬프로그램이나 클라이언트 프로그램 개발시많이 사용된다. JSE에서 J2SE로 넘어오면서 제공되는 클래스의 양도 4배 이상 증가하였으며, 네이티브 고유코드와 거의 같은 속도로 실행될 정도의 속도를 가지고 있다.

네이티브 코드란 CPUOS가 직접적으로 수행할 수 있는 코드를 말한다.


1.3 J2EE(Java 2 Enterprise Edition)

  J2EE는 자바를 이용한 서버 개발을 위한 것으로 대규모 기업이나 다중사용자를 위한 응용 프로그램 개발시 이용된다. 표준 플랫폼이라고 할 수 있는 JSE에 웹 애플리케이션에서 필요로하는 기능을 추가한 플랫폼이다. J2SE를 통해서 로컬프로그램을 만들었다면, J2EE서버 위치에서 사용되는 프로그램을 만든다고 생각하면 된다. 현재는 Java EE로 통칭되어 사용되고 있다.


1.4 J2ME(Java 2 Micro Edition)

  제한된 리소스를 가진 환경에서의 프로그램 개발을 지원해주기 위해 만들어진 플랫폼이다. 컴퓨터 이외의 제품, 휴대폰, PDA 등의 임베디드 환경에서 자바프로그램을 탑재 할 수 있게 해주기 위해서 제공된다. 한정된 자원을 어떻게 활용 하는가에 대한 설계가 중요하다.


1.5 JVM(Java Virtual Machine)

  자바 프로그램을 실행하기 위해서 반드시 필요한 도구이다. 일반적으로 자바 프로그램은 컴파일시 바이트 코드로 바뀌게 된다. 바이트 코드란 자바 컴파일러가 자바 프로그램을 컴파일시 생성되는 기계어로 CPU에 의해 직접 실행되지 않고, JVM을 통해 재해석 되서 해당 플랫폼에 전달되는 일종의 바이너리 코드를 말한다. 독립적 플랫폼을 가진 자바 프로그램을 실행하면 어느 플랫폼 환경에서든 바이트 코드를 실행하게 되며, 이는 JVM에 전달되게 된다. JVM에서 "인터프리터 방식을 이용하여 바이트 코드를 해석"하여 해당 플랫폼에 전달하므로 JVM이 있는 어떠한 플랫폼에서도 사용이 가능하게 된다. , JVM 통역사역할을 하는 것이다. 자바 프로그램이 JVM에 걸쳐서 재해석 되는 것에 의해 느린편이여서 사용이 적었지만, 컴퓨터의 발달, 특히 하드웨어의 발달과 Java개발자들의 노력으로 인해 네이티브 고유 코드와 거의 같은 속도로 실행될 정도의 속도를 가지게 되었다. 또한, CPU나 운영체제에 구해 받지 않고 JVM에 의해 어디서든지 실행되는 이점으로 큰 인기를 가지게 되었다.

 


 

  썬 마이크로시스템즈에서 제공하는 JVM 이외에 각 운영체제 개발사가 제공하는 자바 가상머신이 있으며, 이를 통해서 어떠한 플랫폼 환경에서도 자바프로그램 실행을 가능하게 한다.