[JAVA]자바란?

2020. 12. 14. 05:49코딩 학습/JAVA

자바란?

특징

운영체제에 독립적

  • JVM(Java Virtual Machine) : 자바 프로그램을 실행하는 가상머신
  • 자바 프로그램은 각 운영체제에 따라 제공된 JVM을 통해 동작

JVM

객체지향 언어

메모리 자동 관리

  • Garbage Collector : 사용하지 않는 메모리를 자동으로 정리
  • Garbage Collector가 없다면 : 개발자가 일일이 체크, 해제 (수동)

장점

TIOBE 프로그래밍 언어 순위

JVM : 편의성 -> 다양한 분야에서 많이 사용

  • 인터넷상에 정보가 많다.
  • 활용 가능한 라이브러리, API가 많다.
  • 학습하기에 많은 정보들이 있다.

쪼랭이로서 입문하기에 좋다는 추천을 받음

단점

JVM : 한번 더 거치는 과정

  • Java 코드 -> 바이트 코드(bytecode) -> 운영체제(OS)
  • 속도가 느리다.
  • 개선 : JIT 컴파일러 등 향상된 기술

학습 후 사념

  • 모르는 개념, 용어들이 너무 많다. => 열심히 공부해야지
  • 진입장벽이 낮다 = 누구나 배울 수 있다 ≠ 배우기 쉽다
  • 비전공자인 나로서는 개념, 사고방식이 너무 낮설다.
  • 굉장히 이과적일 것 같지만 생각보다 철학적인 개념, 이해가 많다.
    • 이건 신기하면서도 어렵고 그러면서도 재밌다.