JAVA 란 무엇인가? - accidentlywoo/legacyVue GitHub Wiki
JAVA 란 무엇인가?
출신 배경
Java는 Sun Microsystems가 1995년에 처음 출시한 프로그래밍 언어이다. 제임스 고슬링과 다른 연구원들이 개발한 객체 지향적 프로그래밍 언어이다.기존의 WWW(World Wide Web)가 가지고 있던 한계 극복의 필요성으로 탄생하게 되었다.
특징
자바 컴파일러는 자바 언어로 작성된 프로그램을 바이트 코드라는 특수한 바이너리 형태로 변환한다.변환된 바이트 코드를 실행하기 위해서는 JVM(자바 가상 머신)이라는 특수한 가상머신이 필요하다.이 가상 머신은 자바 바이트코드를 어느 플랫폼에서나 동일한 형태로 실행시킨다. 때문에 자바로 개발된 프로그램은 CPU나 운영체제의 종류에 관계없이 JVM을 설치할 수 있는 시스템 어디서나 실행할 수 있다.
분산환경을 지원한다
자바에는 TCP / IP 라이브러리가 기본적으로 포함되어 있다. 또한 http와 htp 프로토콜을 기본적으로 지원한다.
인터프리터언어이다
컴파일 언어인 동시에 인터프리터 언어이다. 텍스트 소스를 컴파일 하여 2진 파일(Binary File)(클래스 파일)로 만든 다음 자바런타임이 클래스 파일을 인터프리트 하면서 실행한다. 시스템에 무관한 2진 파일을 만듬으로써 자바는 컴파일 언어에 가까운 속도와 시스템 독립성을 동시에 얻을 수 있다.
멀티 쓰레딩을 지원한다.
프로그램 단위가 동일한 쓰레드를 동시에 수행할 수 있다. 사용자 인터페이스 쓰레드와 장시간 계산이 필요한 쓰레드가 동시에 필요할 때 효과적이다.
자동 메모리 관리(Garbage Collection)
사용하지 않는 메모리를 체크하고 반환해주는 Garbage Collector가 존재한다.
동적로딩을 지원한다.
실행 시에 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩하여 사용할 수 있다는 장점이 있다. 애플리케이션의 변경사항이 발생하여도 비교적 적은 작업만으로도 처리할 수 있는 유연한 애플리케이션을 작성할 수 있다.
Java 프로그램
Java 애플릿(applet)
Web브라우저 상에서 동작하는 프로그램 HTML 안에서 애플릿을 지정하면 Web 서버로 부터 자동적으로 다운로드 되어 클라이언트의 Web 브라우저 상에서 동작한다.
Java 서블릿(servlet)
Web 브라우저 상에서 동작하는 프로그램으로, 서버에서 실행되고 실행 결과를 Web 페이지로 클라이언트에게 보내준다. Java를 기반으로 만든 웹 어플리케이션 프로그래밍 기술. CGI성능을 개선한 방법을 Servlet CGI(Common Gateway Interface)로 웹 서버와 프로그램을 연결 시켜주는 일종의 프로토콜 웹 서버의 일부분으로 서버측에서 수행되는 다른 응용프로그램과 통신할 수 있는 기능을 제공 클라이언트의 요청이 생길 경우 프로세스를 생성하는 것이 아니라 쓰레드를 생성한다.
###JSP(Java Server Page) HTML 문서와 Java 프로그램을 조합하여 동적인 Web페이지를 간단하게 만들 수 있다. 서버에서 실행되고 그 결과를 클라이언트에게 보내준다. HTML 문서 속에 Java 코드를 삽입하는 형태호 작성한다. Servlet의 단점(HTML 소스코드 속에 자바 소스 코드가 들어가는 구조)을 보완하면서 탄생 Servlet과는 반대로 HTML 소스 코드 속에 자바 소스 코드가 들어가는 구조의 웹 어플리케이션 프로그래밍 기술. 자바 소스 코드로 작성된 코드는 웹 서버 쪽에서 실행되는 부분.
두가지를 혼용하여 사용. 복잡한 기능은 Servlet으로 작성하고 그 결과를 JSP로 작성한 웹 페이지를 통해 출력.
Java Beans
Java로 작성된 프로그램을 부품으로써 다루는 것. 디자이너가 작업하는 View부분 프로그래머가 작업하는 로직(Model)부분 두 부분으로 나눈다.
- JSP 페이지의 로직 부분을 분리해서 코드를 재사용함으로 프로그램의 효율을 높인다.
- 프로그램의 모듈화(컴포넌트)라고 할 수 있다.