티스토리 뷰


Java


자바 언어의 탄생 배경

1990년, James Gosling에 의해 Sun Microsystems사의 Green Project 팀에서 개발되었습니다. 가정에서 사용되는 대화형 제어기를 c++로 개발하고 있었지만, c++언어의 단점으로 인하여 개발 목적에 맞지 않다는 결론을 통해 좀 더 간편한 오크(Oak) 언어를 개발하게 되었습니다.


c++의 단점

플랫폼에 제한이 많았다.

메모리 할당 문제가 최적화되지 않았다.


해당 시기에는 월드와이드웹이 활발하게 사용되었을 시기였습니다. 이때 Sun Microsystems사의 창업자 Bill Joy가 월드와이드웹의 가능성을 발견 하여 James Gosling과 Patrick Naughton이 오크를 완벽한 인터넷 개발환경으로 만들어 1995년 중반, 저작권 문제로 자바라는 이름으로 공식적으로 발표되었습니다.



Java 언어의 특징

 1-플랫폼에 독립적이다.

플랫폼에 독립적이라는 것은 프로그램이 운영체제에 구애받지 않고도 사용이 자유롭다는 것입니다. 그렇다면 java는 어떻게 플랫폼에 독립성을 가지게 되었는지 알아보겠습니다.


인터프리터 언어

인터프리터 언어란 컴파일을 하지 않고 코드를 한줄씩 읽으며 프로그램을 동작시키는 방식입니다. 컴파일이 문서 전체(코드)를 다른 언어(기계어)로 바꾸는 '번역'이라면 인터프리터 언어는 바로바로 다른언어로 바꾸어 주는 '통역' 이라고 볼 수 있습니다.

java는 이런 인터프리터 방식과 컴파일 방식을 같이 사용하는 JIT(Just In Time)컴파일 방식을 사용합니다.


JIT 컴파일

jit 컴파일 방식은 프로그램을 실제 실행하는 시점에 기계어로 통역하는 컴파일 기법입니다. jit컴파일은 프로그램의 실행 속도를 빠르게 하기 위해 사용되어 java와 c#등 에서 사용되고 있습니다. java언어의 jit컴파일 방식은 컴파일러가 자바 프로그램의 코드를 바이트코드로 변환한 다음, 실제 프로그램을 실행하는 시점에서 가상 머신이 바이트코드를 기계어로 통역 합니다.


c언어


java언어


Java에서는 컴파일과 인터프리터를 같이 사용하는 JIT컴파일을 기법을 사용하고, 결과적으로 바이트코드를 실행시점에 인터프리트 하게 되어 운영체제에 맞는 JVM만 있다면 코드를 변경할 필요없이 실행이 가능합니다.



 2-객체지향 언어이다.

java의 가장 강력한 무기는 객체지향 언어입니다. java는 interface, 상속, 캡슐화, 다형성 등 다양한 방법을 사용한 객체지향을 구현할 수 있습니다. 객체지향에 대해서는 차후에 다루게 될 것입니다.


 3-동적로딩을 지원한다.

java언어는 동적로딩을 지원함으로 작업중에 일부 클래스가 변경되어도 전체를 컴파일 하지 않아도 되고, 프로그램이 실행될때 한번에 모든 클래스를 로딩하지 않아도 되는 장점을 가지고 있습니다.


 4-자동 메모리 관리

java언어는 가비지 컬렉터를 이용해 프로그래머가 일일이 메모리를 관리하지 않아도 됩니다. 가비지 컬렉터가 일정 주기마다 사용하지 않는 메모리 공간을 삭제해 주고, 확보해 줍니다.



java 언어

 java언어는 현재 프로그래밍 언어중 1위를 차지하고 있는 인기있는 언어입니다. c++과 java의 장점만을 섞은 c#이라는 새로운 언어가 등장했지만, c#이 아직까지는 java를 위협할 수준이 되지 못합니다.

2015 프로그래밍 언어 순위






댓글
최근에 올라온 글
최근에 달린 댓글
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
글 보관함