[Java] 01. 자바(Java Programming Language)

2024. 1. 19. 23:47·Java/Basic

자바(Java Programming Language)


자바란?

  • 썬 마이크로시스템즈에서 개발하여 1996년 발표한 객체지향 프로그래밍 언어

자바의 특징

  • 운영체제(플랫폼)에 독립적이다

    • 자봐로 작성된 프로그램은 운영체제의 종류에 관계없이 실행이 가능함
  • 가비지 컬렉터(garbage collector)가 자동적으로 메모리를 관리해줌

    • 프로그래머가 메모리를 따로 관리하지 않아도 된다.
  • 네트워크와 분산처리, 멀티쓰레드, 동적 로딩(Dynamic Loading)을 지원

JVM(Java Virtual Machine)

  • 일반적인 application의 코드는 OS를 거쳐 하드웨어로 전달

    • 일반 application은 OS와 바로 맞붙어 있기 때문에 OS 종속적

    • 다른 OS에서 실행시키기 위해서는 application을 해당 OS에 맞게 변경해야 함

  • Java application은 JVM을 한 번 더 거쳐 OS, 하드웨어로 전달

    • Java application은 JVM하고만 상호작용 하기 때문에, OS와 하드웨어에 독립적이다

    • 다른 OS에서도 프로그램의 변경없이 실행 가능(단, JVM은 OS에 종속적이기 때문에 해당 OS에서 실행가능한 JVM이 필요함)

  • 한 번 작성하면 어디서든 실행된다

참조) Java의 정석 3rd edition(남궁성, 도우출판)

'Java > Basic' 카테고리의 다른 글

[Java] 05. 배열  (0) 2024.03.12
[Java] 04. 변수  (0) 2024.03.12
[Java] 03. 화면에서 입력받기  (0) 2024.03.12
[Java] 02. 자바로 프로그램 작성하기  (0) 2024.01.20
'Java/Basic' 카테고리의 다른 글
  • [Java] 05. 배열
  • [Java] 04. 변수
  • [Java] 03. 화면에서 입력받기
  • [Java] 02. 자바로 프로그램 작성하기
lumana
lumana
배움을 나누는 공간 https://github.com/bebeis
  • lumana
    Brute force Study
    lumana
  • 전체
    오늘
    어제
    • 분류 전체보기 (452)
      • Software Development (27)
        • Performance (0)
        • TroubleShooting (1)
        • Refactoring (0)
        • Test (8)
        • Code Style, Convetion (0)
        • DDD (0)
        • Software Engineering (18)
      • Java (71)
        • Basic (5)
        • Core (21)
        • Collection (7)
        • 멀티스레드&동시성 (13)
        • IO, Network (8)
        • Reflection, Annotation (3)
        • Modern Java(8~) (12)
        • JVM (2)
      • Spring (53)
        • Framework (12)
        • MVC (23)
        • Transaction (3)
        • AOP (11)
        • Boot (0)
        • AI (0)
      • DB Access (1)
        • Jdbc (1)
        • JdbcTemplate (0)
        • JPA (14)
        • Spring Data JPA (0)
        • QueryDSL (0)
      • Computer Science (125)
        • Data Structure (27)
        • OS (14)
        • Database (10)
        • Network (21)
        • 컴퓨터구조 (1)
        • 시스템 프로그래밍 (23)
        • Algorithm (29)
      • HTTP (8)
      • Infra (1)
        • Docker (1)
      • 프로그래밍언어론 (15)
      • Programming Language(Sub) (77)
        • Kotlin (1)
        • Python (25)
        • C++ (51)
        • JavaScript (0)
      • FE (11)
        • HTML (1)
        • CSS (9)
        • React (0)
        • Application (1)
      • Unix_Linux (0)
        • Common (0)
      • PS (13)
        • BOJ (7)
        • Tip (3)
        • 프로그래머스 (0)
        • CodeForce (0)
      • Book Review (4)
        • Clean Code (4)
      • Math (3)
        • Linear Algebra (3)
      • AI (7)
        • DL (0)
        • ML (0)
        • DA (0)
        • Concepts (7)
      • 프리코스 (4)
      • Project Review (6)
      • LegacyPosts (11)
      • 모니터 (0)
      • Diary (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
lumana
[Java] 01. 자바(Java Programming Language)
상단으로

티스토리툴바