책걸이/이것이 자바다

01. 이것이 자바다

개발..너... 2023. 1. 10. 00:22

자바의 특징

 

1. 이식성이 높은 언어이다. 

   서로 다른 실행환경(리눅스, 윈도우, 유닉스 등)에서도 자바 실행 환경(JRE)가 설치되어있는 곳에선 별다른 컴파일 없이 실

   행 가능하다.

2. 객체지향언어이다. 

   부품에 해당하는 객체를 먼저 만들고 이를 하나씩 조립 연결하여 전체 프로그램을 완성하는 기법을 객체지향프로그래밍이 

   라고 하며 자바는 100% 객체 지향 언어이다.

3. 함수적 스타일 코딩을 지원한다.

   함수적 스타일 코딩은 대용량 데이터의 병렬처리, 이벤트 지향 프로그래밍에 적합하며 java8부터 함수적 프로그래밍을 위

   한 람다식을 지원한다.

4. 메모리를 자동으로 관리한다.

    객체 생성시 개발자가 아닌 자바가 자동적으로 메모리 영역을 찾아 할당한다. 이에 개발자는 메모리 관리의 수고스러움을

    덜고, 핵심 기능 코드 작성에 집중할 수 있다.

5. 다양한 어플리케이션을 개발할 수 있다.

    윈도우, 리눅스, 유닉스, 맥 등 다양한 운영체제에서 실행되는 프로그램을 개발할 수 있다.

6. 멀티쓰레드를 쉽게 구현할 수 있다. 

    하나의 프로그램이 동시에 여러가지 작업을 해야할 경우 대용량 작업을 빨리 처리하기 위해 서브 작업으로 분리해서 병렬

    처리하기 위한 방법이 멀티쓰레드로서 자바는 관련 API를 제공하여 쉽게 구현가능하다.

7. 동적로딩을 지원한다.

    어플리케이션이 실행될 때 모든 객체가 생성되지 않고, 객체가 필요한 시점에 클래스를 동적로딩하여 객체를 생성한다.

8. 막강한 오픈소스 라이브러리가 풍부하다.

 

JAVA SE란?

자바 프로그램들이 공통적으로 사용하는 자바 가상 기계(JVM)을 포함하여 자바 프로그램 개발에 필수적인 필수도구와 라이브러리 API를 정의한다.

 

JAVA JVM이란?

자바프로그램은 완전한 기계어가 아닌 중간 단계의 바이트 코드이다. 이를 해석하고 실행할 수 있는 가상의 운영체제가 필요한데 이것이 "자바 가상 기계(JVM) : 자바를 실행시키는 가상의 기계"이다. 

 

운영체제(윈도우,리눅스)   ------   JVM ----- JAVA

 

JVM은 운영체제와 JAVA의 중간에 끼여 서로를 이어주는 역할을 하는데 JVM은 운영체제별로 프로그램을 실행하고 관리한다. 즉, 맥용 JVM, 리눅스용 JVM, 윈도우용 JVM이 따로 있다는 것이다.

JAVA가 아닌 중간연결다리의 JVM을 운영체제에 맞추어 개발자는 운영체제 상관없이 JAVA를 개발할 수 있게하였다.

JVM은 JDK와 JRE를 설치하면 자동으로 설치된다.

 

JAVA JRE 와 JDK

JRE는 프로그램 실행에 필요한 라이브러리들

JDK는 프로그램 개발에 필요한 라이브러리들