본문 바로가기

빅데이터과정/JAVA

#55_140902_JAVA_자바 개념정리

728x90





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

소스코드를 사전에 
complie 
수행 후 실행

소스코드를 차례대로 기계어로 
번역하며 바로 실행가능

속 도

빠름

느림

수 행

응용프로그램을 작성

응용프로그램내 실행

언 어

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