[STUDY] 231102 | Java | 자바의 정석

Nimgnos·2023년 11월 23일
0

👾 STUDY

목록 보기
5/40

💻 chapter 1. 자바를 시작하기 전에(1~4강)

📌 java란?

  • 다양한 분야에서 활발히 사용되며 실무에서 가장 많이 사용되는 프로그래밍 언어
  • 20년동안 프로그래밍 언어 1, 2위
  • 모던 프로그래밍 언어(객체지향+함수형)

📌 java의 역사

📌 java의 특징

  1. 배우기 쉬운 객체지향 언어(프로그래밍 언어+객체지향 개념)
  2. 자동 메모리 관리 ➡️ 가비지 컬렉터(GC) 알아서 정리해 줌, 프로그램 작성이 편리
  3. 멀티쓰레드 지원
  4. 풍부한 라이브러리로 쉽게 개발 가능 (라이브러리: 프로그램 개발에 자주 쓰이는 주요기능을 미리 만들어서 제공하는 것)
  5. 운영체제에 독립적 ➡️ 자바로 작성된 프로그램은 수정하지 않고도 여러 운영체제에서 실행 가능 ➡️ JVM

📌 java 가상머신(JVM)

  • Java virture machin : 자바를 실행하기 위한 가상 컴퓨터
  • 자바 프로그램이 실행되는 가상 컴퓨터(VM)
  • 한 번 작성하면 어디서든 실행(write once, run anywhere)
  • 일반 애플리케이션 코드는 OS만 거치고 하드웨어로 전달되는데 java 애플리케이션은 JVM을 한 번 더 거치기 때문에, 하드웨어에 맞게 완전히 컴파일 된 상태가 아니고 실행 시에 해석(interpret)되기 때문에 속도가 느리다는 단점이 있음. 요즘엔 바이트코드를 하드웨어의 기계어로 바로 변환해주는 JIT컴파일러와 향상된 최적화 기술이 적용되어서 속도의 격차가 많이 줄었음.
  • 일반 애플리케이션은 OS와 바로 맞붙어 있기 때문에 OS종속적임. 그래서 다른 OS에서 실행시키기 위해서는 애플리케이션을 그 OS에 맞게 변경해야함.
  • 반면에 Java 애플리케이션은 JVM과만 상호작용 하기 때문에 OS와 하드웨어에 독립적이라 다른 OS에서도 프로그램의 변경없이 실행이 가능함. 단 JVM은 OS에 종속적이기 때문에 해당 OS에서 실행가능한 JVM이 필요함.

🍀 회고

  • 객체지향언어는 '재사용성', '유지보수의 용이성' 등의 큰 장점을 가졌음에도 배우기가 어려운데, java는 객체지향언어 중 비교적 배우기 쉬운 편이며 간결, 명료하다고 한다. java 언어를 먼저 잘 배워두면 파이썬 등을 배울 때 더 이해가 쉬울 것 같아 프로그래밍 언어 중 java에 가장 먼저 도전해보려 한다. 바로 프로그램을 깔아 실습하려 했는데, 맥북에서 오류가 나서 한동안 해결을 하지 못했다... 얼른 세팅해서 패스트캠퍼스 강좌도 열심히 들어야겠다.
profile
먹고 기도하고 코딩하라

0개의 댓글