[JAVA] 자바란?

JUNSEUNG LEE·2022년 9월 22일
0

JAVA

목록 보기
1/17
post-thumbnail

1. 자바란 무엇인가?

  • 다중 플랫폼 지원, 객체 지향, 네트워크 언어이고 가장 많이 사용되는 프로그래밍 언어 중 하나
  • 썬 마이크로시스템즈 - 제임스 고슬링 - 객체지향적 프로그래밍 언어로 개발

2. 자바는 어디에 사용되는가?

  • 과거 가전제품, 휴대용 장치 탑재 용
  • 웹 AP, 안드로이드 모바일 AP 개발
  • 빅데이터 분석에 사용 - 하둡이 자바 기반 오픈소스프레임워크, 그 외 자바 머신러닝, 딥러닝4j, 아파치 스파크 등 자바기반 도구 존재
  • 와일드플라이(JBOSS), 아파치 등 서버 기술에도 사용

3. 자바의 역사

  1. 역사
    • OAK(오크 나무) > JAVA(커피이름?)
    • 썬 > 오라클이 인수
    • 1995년 자바 출시 - 나랑 동갑 > 최신버전 18버전
  2. 버전과 버전간 차이
    • 2014년에 출시한 8버전을 가장 많이 사용 - 오라클이 자바를 인수하고 출시한 첫번째 LTS버전
      - LTS : Long Term Support 의 약자이며 출시 후 8년 이라는 긴 기간동안 보안 업데이트와 버그 수정을 지원할 것임을 선언한 버전, 8, 11, 17 버전이 있음
    • 8 - 11 차이
      - 애플릿 도구 사용 불가
      - AWTUtilities(GUI관련) 클래스 사용 불가,
      - String, 파일 관련하여 다양한 메소드 도입
      - 람다식에 var변수 사용 가능

4. 자바언어의 특징

  1. 자바의 큰 특징
    • 슬로건 : WORA - Write Once Run Anywhere (한번 작성하면 어디서든 돌아간다)
    • 플랫폼에 독립적 - 컴파일러를 통해 class파일로 만들어 놓으면 JVM이 있으면 어느 운영체제에서나 실행가능
    • 자동 메모리 관리 기능이 있는 언어 - 동적 메모리 수거를 프로그래머가 하지 않고 가비지 컬렉터를 이용하여 메모리 관리
  2. 다른 언어와 차이
    • c, c++는 필요없는 메모리 사용 해제를 프로그래머가 직접 함, 자바는 가비지 컬렉터가 해줌
    • c언어의 경우 각 운영체제에 맞게 컴파일을 해야함, 자바는 각 운영체제에 맞는 자바 가상 머신(JVM)을 이용하여 어느 환경에서 실행할 수 있음

5. JVM(Java Virual Machine)

  1. JVM이란?
    • 자바를 실행하기 위한 가상 기계
      - 자바 소스코드(.java) > 컴파일러 > 바이트 코드(.class) > 각 운영체제에 맞는 자바 가상머신(JVM)이 실행
      - 자바컴파일러 : JDK bin에 존재하는 javac.exe
    • JVM은 크게 클래스 로더, 실행엔진으로 이루어짐
      - 클래스 로더 : 말그대로 class파일을 읽어드림
      - 실행엔진 : 인터프리터가 바이트코드를 번역하고 실행
  2. SDK, JDK, JVM, JRE
    • SDK(Software Development Kit) - 소프트웨어 개발 도구, 말 그대로 소프트웨어 개발에 필요한 제작 키트, 대표적으로 JDK(Java Development Kit)가 있음
    • JDK : 자바 프로그램을 실행, 컴파일, 개발용 도구
    • JRE(Java Runtime Environment) : JVM, 자바 클래스 라이브러리(Java Class Library) 등으로 구성
    • 포함관계 SDK(JDK(JRE(JVM)))
profile
개발자 준승

0개의 댓글