1. What is Java
Java는 거의 모든 유형의 네트워크 응용 프로그램을 위한 기반으로, 내장 응용 프로그램과 모바일 응용 프로그램, 게임, 웹 기반 콘텐츠 및 엔터프라이즈 소프트웨어 개발 및 제공을 위한 전세계 표준입니다
또한 자바는 다음과 같은 특징이 있습니다.
· 한 플랫폼에서 개발한 소프트웨어를 다른 여러 플랫폼에서 실행할 수 있음
· 웹 브라우저 및 액세스 가능한 웹 서비스에서 실행할 수 있는 프로그램 개발
· 온라인 포럼, 온라인 상점, 온라인 투표, HTML 양식 처리 등에 사용할 수 있는 서버측 응용 프로그램을 개발할 수 있음
· Java 언어가 사용된 응용 프로그램이나 서비스를 결합하여 고도의 사용자 맞춤형 응용 프로그램이나 서비스를 제작할 수 있음
· 휴대 전화, 원격 프로세서, 마이크로 컨트롤러, 무선 모듈, 센서, 게이트웨이, 일반 소비자용 제품 및 기타 어떤 종류의 전자 장치에도 사용할 수 있는 강력하고 효율적인 응용 프로그램을 개발할 수 있음
- 간단하다.
자바에는 고급 언어들에 들어 있는 여러 가지 요소들 중에서 반드시 필요하지 않은 부분은 모두 빠져 있다.
- 객체 지향적이다.
자바는 숫자(int, float, long 등)나 논리 값(true, false)을 제외한 거의 모든 것이객체로 구성되어 있다.
- 분산 환경을 지원한다.
자바에는 TCP/IP 라이브러리가 기본적으로 포함되어 있다. 또한 http와 ftp 프로토콜을 기본적으로 지원한다.
- 인터프리터 언어이다.
컴파일 언어인 동시에 인터프리터 언어이다. 자바는 먼저 텍스트 소스를 컴파일하여 2진 파일(클래스 파일)로 만든 다음 자바런타임이 클래스 파일을 인터프리트 하면서 실행한다.
- 강력하다.
자바는 모든 메모리 접근을 자바 시스템이 관리하고 제한하며 또한 예외 핸들링을 하여 시스템 붕괴의 우려가 없다.
- 자바는 안전하다.
자바는 포인터 개념이 없고 유형 정의가 강력해서 실행 전에 클래스 파일을 이용한 프로그램의 검사가 가능하다. 실제로 웹 브라우저가 애플릿 실행전에 보안 검사를 한다.
- 이식성이 높다.
- 높은 수행능력을 제공한다.
- 멀티 쓰레딩을 지원한다.
- 동적이다.
자바 인터페이스를 이용하면 하나의 모듈을 갱신할 때 다른 모듈을 모두갱신할 필요가 없다.
다음은 자바의 가장 큰 특징인 자바프로그램의 실행구조입니다.
자바프로그램은 운영체제에 독립적이며 자바가상머신은 운영체제에 종속적입니다.
이러한 특징 때문에 자바로 개발된 프로그램은 CPU나 운영체제에 상관없이 자바가상머신이 설치되는 곳이면 어느 곳이든 안정적으로 작동할 수 있습니다.
2 . Compile Language & Script Language
「기계어로의 번역」의 방법에는 크게 나눠 2종류가 있습니다. 첫번째는 소스코드를 사전에 컴파일하고 먼저 기계어로 변환해두는 「컴파일러 언어」 이고 두번째는 소스코드를 차례대로 기계어로 번역하면서 실행하는 「스크립트 언어」입니다.
컴파일러 언어는 사전에 시간을 들여 효율적으로 처리하여 실행되는 기계어로 번역을 할 수 있으므로 스크립트언어와 비교해서 고속으로 구동되는 언어가 많습니다. C, C++, Java, C# 등은 컴파일러 언어입니다.(※엄밀히는 Java나 C#은 기계어가 아닌라 중간언어로 번역합니다). 컴파일할 때 컴파일러가 에러체크 등을 해주는 것도 컴파일러 언어의 장점 중 하나입니다.
스크립트언어는 컴파일처럼 전 처리를 하지 않아도 실행할 때 바로 소스코드를 번역해줍니다. 실행속도는 컴파일러 언어보다 느린 경우가 많지만 소스코드를 수정하면 바로 결과에 반영되므로 간편하게 다룰 수 있습니다. Python, Perl, PHP, Ruby, JavaScript 등은 스크립트 언어입니다.
스크립트언어는 유닉스의 쉘(Shell) 스크립트, 윈도우의 배치(Batch) 스크립트처럼 일괄 처리 작어베 사용됩니다. 또한, 빠른 성능이 필요하지 않은 웹 어플리케이션을 만드는데 사용되어 크게 Server-side-script(웹서버 필요)와 Client-side-scrip(서버를 거치지 않고 내장된 번역기 사용)로 나눌 수 있습니다.
| Compile language | Script language |
용 도 | 다양함 | 제한적 |
Compile | 소스코드를 사전에 | 소스코드를 차례대로 기계어로 |
속 도 | 빠름 | 느림 |
수 행 | 응용프로그램을 작성 | 응용프로그램내 실행 |
언 어 | C, C++, Java, C# | Python, Perl, PHP, Ruby, JavaScript |
스크립트 언어인JavaScript는 애플릿 또는 독립형 응용 프로그램을 생성하지 않습니다. 일반적으로 JavaScript는 HTML 문서 내에 위치하며, 단순 HTML에서는 불가능한 다양한 레벨의 대화식 기능을 웹 페이지에서 구현할 수 있습니다.
Java(컴파일 언어)와 JavaScript(스크립트 언어) 사이의 주요 차이점:
· Java는 OOP 프로그래밍 언어인 반면, Java Script는 OOP 스크립팅 언어입니다.
· Java는 가상 시스템 또는 브라우저에서 실행되는 응용 프로그램을 작성하는 반면, JavaScript 코드는 브라우저에서만 실행됩니다.
· Java 코드는 컴파일이 필요하지만, JavaScript 코드는 모두 텍스트입니다.
3. C Compile & Java Compile 비교분석
<C Compile 과정>
기계어로 되어 있기 때문에 빠르지만, OS에 맞춰서 종속적이라는 단점이 있다.
<Java Compile 과정>
저장하자마자 컴파일 되어 속도가 빠르다. JVM 또는 인터프리터를 거쳐 번역된 자바언어의 클래스파일은 어떤 운영체제에서도 실행이 가능하다. 클래스파일을 실행하려면 해당 운영체제의 JVM(가상머신)이 설치되어 있어야 한다.
<C Compile과 Java Compile의 차이>
C/C++는 특정 CPU의 기계어 코드를 직접 생성하면, 이 기계어 코드가 메모리에 적제되어 바로 실행된다. 따라서 C/C++은 CPU가 달라지면 컴파일러가 달라져야 한다.
자바를 다른 컴파일언어와 구분 짓는 가장 큰 특징은 컴파일된 코드가 플랫폼 독립적이라는 점이다. 자바 컴파일러는 자바 언어로 작성된 프로그램을 바이트코드라는 특수한 바이너리 형태로 변환한다. 바이트코드를 실행하기 위해서는 JVM(자바 가상 머신, Java Virtual Machine)이라는 특수한 가상 머신이 필요한데, 이 가상 머신은 자바 바이트코드를 어느 플랫폼에서나 동일한 형태로 실행시킨다. 때문에 자바로 개발된 프로그램은 CPU나 운영 체제의 종류에 관계없이 JVM을 설치할 수 있는 시스템에서는 어디서나 실행할 수 있으며, 이 점이 웹 애플리케이션의 특성과 맞아떨어져 폭발적인 인기를 끌게 되었다.
C Compile | Java Complie |
코딩내용을 컴퓨터가 알 수 있게 바꿔주는 과정 | |
EXE 파일 | Class 파일 |
컴파일 한 환경에서만 실행 | 환경에 영향받지 않음 Ex) OS 구애받지 않음 |
'빅데이터과정 > JAVA' 카테고리의 다른 글
request 파라미터 value 값 추출 (0) | 2016.05.11 |
---|---|
서버 주소 알아내기 (0) | 2016.01.14 |
#55_140902_JAVA_행번호 보이게 하기 (0) | 2014.09.02 |
#55_140829_JAVA_상속 (0) | 2014.08.29 |
#55_140829_JAVA_FOR EACH (0) | 2014.08.29 |