Java: 두 판 사이의 차이

편집 요약 없음
태그: mobile edit
편집 요약 없음
태그: mobile edit
13번째 줄: 13번째 줄:
=== 다양한 라이브러리 ===
=== 다양한 라이브러리 ===
=== 다중 플랫폼 ===
=== 다중 플랫폼 ===
인터프리터로 처리되는 자바의 특성상 다중 플랫폼을 지원한다. 현재 자바 인터프리터가 있는 OS 플랫폼은 [[윈도우]], [[OS X]], [[우분투]], [[페도라]] 및 그 외 [[리눅스]] 계열<ref>[[안드로이드]]는 사정이 다른데 그 이유는 안드로이드는 달빅 바이트코드를 사용하기 때문에 지바 바이트코드를 실행할 수 없다.</ref>, 심지어 [[블랙베리]], 피처폰, 그외 임베디드 플랫폼에서도 자바를 사용할 수 있다.<ref>애초에 자바의 목적이 가전제품에서 돌아갈 수 있도록 하는 것이었다고 한다.</ref>
== 단점 ==
== 단점 ==
=== 느린 속도 ===
=== 느린 속도 ===

2015년 4월 19일 (일) 06:47 판

Java는 썬 마이크로시스템즈(현재 오라클에 합병)에서 개발한 다중 플랫폼 객체지향언어이다

특징

가상머신

기존의 인터프리터 언어와 다르게 Java는 우선 컴파일러에서 바이트 코드라는 가상머신의 기계어로 컴파일한다. 그후 자바 프로그램이 실행될 때, 가상머신에서 이를 해석하여 실행 플랫폼에 맞는 기계어로 변환한다. 이로서 다중 플랫폼을 구현하였다.

객체지향

자바의 탄생목적중 하나는 C++이 너무 많은 기능을 탑재하고 있었기 때문에 이를 모바일 환경에서 실행할 수 없어 만들어 졌다는 것이다. 따라서 Java는 객체지향 패러다임을 가지고 있다.

가비지 컬렉션(GC)

자바는 프로그래머에게 모든 메모리 관리를 맡기지 않는다. 프로그래머가 생성하고, 이를 직접 해제하는게 아니라, 가상머신에서 프로그램을 잠시 멈춘후 사용하지 않는 객체를 제거한다. 이는 프로그래머의 수고를 덜어주었지만, 반대로 중간에 프로그램이 멈춰서 사용자의 불만을 초래하기도 한다.

장점

안정성

다양한 라이브러리

다중 플랫폼

인터프리터로 처리되는 자바의 특성상 다중 플랫폼을 지원한다. 현재 자바 인터프리터가 있는 OS 플랫폼은 윈도우, OS X, 우분투, 페도라 및 그 외 리눅스 계열[1], 심지어 블랙베리, 피처폰, 그외 임베디드 플랫폼에서도 자바를 사용할 수 있다.[2]

단점

느린 속도

불편한 예외처리

주석

<references>

  1. 안드로이드는 사정이 다른데 그 이유는 안드로이드는 달빅 바이트코드를 사용하기 때문에 지바 바이트코드를 실행할 수 없다.
  2. 애초에 자바의 목적이 가전제품에서 돌아갈 수 있도록 하는 것이었다고 한다.