언어 자료구조 알고리즘/디딤돌 Java 언어 Part1

1. Java 소개, Java 플랫폼

언제나휴일 2016. 4. 4. 08:06
반응형

1. Java 소개


출간일 2016년 11월 28일

판매가 2000원

형태 ebook


이 책의 모든 내용은 http://ehpub.co.kr에 공개하고 있습니다.

학습에 도움이 되시면 ebook을 구입하여 소장하시면 감사하겠습니다.

언제나 휴일 출판사의 수익금의 대부분은 아프리카에 기부하고 있습니다.



 

 Java는 하드웨어에 독립적인 이식성 높은 언어입니다. 1990년대에 들어서 인터넷 보급이 활성화되면서 인터넷 분산 환경에서 사용하도록 설계하였기 때문에 서로 다른 플랫폼에도 호환성과 이식성이 뛰어나게 만들어졌습니다.

 

 java 프로그램이 플랫폼 독립적일 수 있는 이유는 Java로 만든 프로그램은 Unix Windows O/S의 시스템 호출을 직접 사용하지 않기 때문입니다. Java로 만든 프로그램은 Java 가상 머신을 설치해야 동작합니다. Java 가상 머신은 실제 플랫폼에서 실행할 수 있는 코드로 번역하여 동작하게 해 주어 Java 프로그램이 플랫폼 독립적인 성질을 갖게 하는 것입니다.

 

 Java는 수많은 벤더들의 협력으로 커뮤니티를 운영하고 있습니다. 특히 java 기술 표준화를 진행하는 JCP(java Community Process)[1]에서는 Java 스펙 요구서를 배포 및 관리하는데 이를 JSP(java Specipication Request)라고 합니다. 이러한 과정을 통해 나온 대표적인 기술에는 JDBC, EJB 등이 있습니다.

 


[그림 1.1] Java 플랫폼의 구조



[1] JSP 홈페이지: http://www.jcp.org



1. 1 Java 플랫폼

 

 Java 플랫폼은 Java 프로그램이 동작하는 환경으로 플렛폼 독립적일 수 있게 하는 가장 중요한 구성 요소라 할 수 있습니다. Java 플랫폼은 Java 프로그램이 동작하는 환경을 지원하는 Java 가상 머신 규격과 API 집합을 말합니다.

 

 JCP에서는 Java 플랫폼을 Java EE, Java SE, Java ME로 분류하여 스펙 요구서를 제공합니다. Java EE Java Platform, Enterprise Edition으로 서버측 개발을 위한 플랫폼입니다. 그리고 Java SE Java Platform, Standard Edition으로 데스크톱 및 서버, 임베디디 시스템을 위한 표준 Java 플랫폼입니다. Java ME Java Platform, Micro Edition으로 데스크 톱에 비해 제한된 자원을 가진 휴대 전화, PDA 등을 위해 만들어진 플랫폼입니다.

 

 Java 플랫폼은 이름을 보면 알 수 있듯이 Java SE는 표준적인 환경의 Java 가상 머신 규격과 API집합을 포함합니다. 실제 Java SE에 포함하는 것은 Java EE에는 그대로 포함이 되므로 Java EE Java 플랫폼 중에 가장 규모가 큰 플랫폼입니다. Java ME에는 Java SE에 포함하는 요소 중에 일부만 포함하고 있어 가장 규모가 작은 플랫폼입니다.

 

 Java 가상 머신은 Java 바이트 코드[1]를 플랫폼에 상관없이 동작하게 하는 실행 주체입니다.

 

 Java 가상 머신의 특징은 스택 기반으로 동작하며 개체 지향 프로그래밍을 지원한다는 것입니다. 그리고 가비지 컬렉션[2]을 사용하여 개체 사용이 안전합니다.



[1] Java 바이트 코드는 Java 컴파일러에 의해 만들어진 코드로 Java 가상 머신이 실행하는 명령어 코드입니다.

[2] 가비지 컬렉션은 메모리 관리 기법 중의 하나로 필요없는 영역을 조사하여 해제하는 기능을 말합니다.


반응형