JDK(SDK)다운 받기

 

 

 

JDK 설치 및 환경설정

 

설치

- 도스 프롬프트 만들기 (cmd)

- J2se1.8 설치

- Javac, java, javap, java.lang.Object실행

 

환경설정(1)

- path : 실행파일 (여러 용도의 툴)

* java.exe(실행), javac.exe(컴파일러)등

- classpath: API 사용(rt.jar에 포함된 여러 클래스)

- 내 컴퓨터 -> 속성 -> 고급 -> 환경변수 -> 시스템변수 -> 새로 만들기

- JAVA_HOME -> C:\JAVA\jdk1.8.0_25

- path -> %JAVA_HOME%bin; <- path가 없으면 생성, 있으면 맨 앞에 입력

- classpath -> .;

 

환경설정(2)

- 배치파일 만들기
      set JAVA_HOME=C:\JAVA\jdk1.8.0_25

* set PATH=%JAVA_HOME%bin

* set CLASSPATH=.;C:\JAVA\jdk1.8.0_25\lib\tools.jar;

- env.bat으로 저장하여 C:\에 위치시킴

- env후 java-version실행

 

 

 

 

Binding

 

- Static Binding

* 컴파일 시에 어떤 클래스의 어떤 메소드가 호출되는지 정한다.

 

- Dynamic Binding

* 실행 중에 어떤 클래스의 어떤 메소드가 호출되는지 정한다.

 

Linking

 

- Static Linking

* 라이브러리나 다른 메소드 호출 시 실행파일에 그 부분을 합침

* 실행파일크기가 커짐 / 호출성능 향상

 

 

Dynamic Linking

 

* 호출하는 부분에 메소드를 호출한다는 표시만 한다.

실행되는 부분은 다른 파일에 저장.

* 실행파일크기가 작아짐 / 실행 중 동적으로 찾아야 함으로 시간이 걸린다.

* 실행파일 내부에 호출할 부분의 주소가 아닌 호출한 부분의 정확한 이름을 기재해야 이후에 찾을 수 있다.(주소는 무의미)

 

자바는 완벽한 Dynamic Binding / Dynamic Linking 지원

 

 

 

 

자바의 컴파일 및 로드 방식

 

 

 

 

 

 

J2ME

:Java 2 Micro Edition

 

- J2ME 기술은 스마트 카드나 모바일과 같은 소형기기 시장을 지원하기 위한 자바플랫폼이다.

이 경우 속도나 기능 문제보다는 크키와 효율성이 중요한 요소가 된다. 즉 메모리, 파워등 소형기기들이 가지는 일반 적인 환경을 고려하여 제작하였다.

 

- J2ME의 주요특징

* 어디에서나 어느 시간, 어느 디바이스에서건 조화롭게 구축될 수 있다.

* 코드의 이식성이 뛰어나다.

* 동일한 자바 프로그래밍 언어가 효력있다.

* 안전한 네트워크 전달력이 있다.

* J2ME로 작성된 어플리케이션은 J2SE와 J2EE와 호환성 있게 작동한다.

 

- 주요 패키지

* CLDC / MIDP / CDC

* Foundation Profile / Java TV / Java Embedded Server Software

* Java Card / Personal Java / J2ME Wireless Toolkit 1.0

 

- WORA(Write Once, Run anywhere)이 깨짐

 

 

 

 

 

 

 

J2SE : Java 2 Standard Edition

 

- Java2 아키텍쳐에 기반한 기능 향상 판 자바 플랫폼

- Hotspot 가상 머신 탑재

- 강화된 API

- 서버와의 연동이 유연해 짐

- 서버사이드 대폭추가

- 주요패키지

: java.lang / java.io / java.net / java.applet / java.util

: java.security / java.beans / java.rmi / java.sql

: java. text / java.math /java.awt /

: JNDI / RMI / CORBA ORB / IDL Compiler / Java Sound


 

J2EE : Java2 Enterprise Edition

 

- 서버 측 프로그래밍을 원활이 할 수 있도록 각종 API를 지원하는 자바 플랫폼

- J2EE 플랫폼은 미들웨어 서버(WAS)에서 제공하는 각종 서비스에 대한 지원 라이브러리들과 EJB 스펙을 구현한 J2EE 표준 서버를 제공함

- 엔터프라이즈 환경에서 개발할 수 있는 완벽한 환경과 라이브러리를 제공하고 있다.

- 주요 패키지

: Enterprise Java Beans / Java Servlet / Java Server Page(JSP)

: Java Message Service(JMS) / J2EE Server

: J2EE Connector / Java Mail / Java Transaction API

: JNDI / JDBC / RMI over IIOP

- J2SE는 포함되어 있지 않음

 

 

플랫폼 독립

 

* 자바는 VM을 통해서 플랫폼 독립을 제공한다.

(자바의 가장 큰 장점)

 

 

 

자바 플랫폼의 종류

 

- J2SE(Java 2 Standard Edition)

- J2SE(Java 2 Enterprise Edition)

- J2ME(Java 2 Micro Edition)

- 1.2 이후 플랫폼 종류 유지

 

 

 

자바 플랫폼

 

 

 

플랫폼이란?

 

- 플랫폼 = 프로그래밍이나 컴퓨터 실행을 위한 기본적인 기능을 제공하는것

- 플랫폼이 다르다는 것은 현실에서 기차 레일위로 버스가 달릴 수 없다는것

- 마찬가지로 컴퓨텅서도 플랫폼이 다르면 사용하고 설치하는 프로그램이 다르 수 밖에 없음

- JAVA의 VM은 이런 다양한 플랫폼 위에서 동일한 JAVA소스코드를 이용할 수 있는 환경을 제공

 

 

 

JDK(SDK)란?

 

JDK

- Java development kit

- 자바 프로그램 개발도구

- 게발을 위한 클래스, 컴파일러, 실행 및 배포도구를 포함 등 개발을 위한 전반적인 환경을 제공

- JDK(자바 플랫폼) =

* Java Virtual Machine + Java API

* Java Virtual Machine = Hotspot VM(현재 jdk 1.8.25)

* Java API(java application programming interface)=Library

 


 

자바의 태동

 

1991년 그린 프로젝트(Green Project)

* 선마이크로시스템즈의 제임스 고슬링(James Gosling)에 의해 시작

- 가전 제품에 들어갈 소프트웨어를 위해 개발

* 1995년에 자바 발표

 

- 플랫폼 호환성 문제 해결

* 기존 언어로 작성된 프로그램은 PC. 유닉스, 메인 프레임 등 플랫폼간에 호환성 없음

* 소스를 다시 컴파일하거나 프로그램을 재 작성해야 하는 단점

 

- 플랫폼 독립적인 언어 개발

* 모든 플랫폼에서 호환성을 갖는 프로그래밍 언어 필요

* 네트워크, 특히 웹에 최적화된 프로그래밍 언어의 필요성 대두

 

- 메모리 사용량이 적고 다양한 플랫폼을 가지는 가전 제품에 적용

* 가전제품: 작은 령의 메모리를 가지는 제어 장치, 내장형 시스템 요구 충족

 

- 초기이름 : 오크(OAK)

* 인터넷과 웹의 엄청난 발전에 힘입어 퍼지게 됨

* 웹 브라우저 Netscape에서 실행

 

- 2009년에 선마이크로시스템즈를 오라클에서 인수

 

 

 

 

+ Recent posts