공부 흔적남기기

JAVA 자바 기본적인 배경지식 본문

프로그래밍 언어/Java

JAVA 자바 기본적인 배경지식

65살까지 코딩 2023. 5. 9. 21:46
728x90
반응형

자바란?

자바는 객체지향 프로그래밍 언어로 운영체제로 부터 독립적으로 실행할 수 있다. 

 

자바의 역사

자바는 1991년 오크라는 언어로부터 시작되어 썬의 엔지니어들이 가전제품에 탑재하기 위한 소프트웨어를 만들 용도로 만든 언어이다. 자바는 정적인 웹페이지에 사운드와 애니메이션 등 멀티미디어적인 요소들을 제공할 수 있는 유일한 방법이였기 때문에 많은 인기를 얻게된다. 하지만 보안상의 이유로 더이상 사용되지 않고 현재는 Servlet과 JSP, 안드로이드, 웹개발에 자주 사용된다. 

 

자바의 특징

  • 운영체제에 독립적이다. ( 자바로 개발된 Application은 하드웨어와 직접 통신하지 않고 JVM을 통해 통신하기 때문에 운영체제에 알맞은 JVM만 존재한다면 운영체제와 상관없이 동작한다. 즉 운영체제마다 알맞은 JVM을 설치해야 가능하다.)
  • 객체지향 언어이다.(상속, 캡슐, 다형성)
  • 자동 메모리 관리( C와 달리 자동으로 gc가 메모리를 관리해준다. minor gc, major gc)
  • 네트워크와 분산처리를 지원한다. (socket api)
  • 멀티쓰레드 지원
  • 동적로딩 

JVM이란

JVM은 위에서 언급했다시피 자바 Application을 운영체제로 부터 독립적으로 실행할 수 있게 만들어주는 가상머신이다.

.java파일을 javac(컴파일러)를 통해 class 파일(byte코드)로 만들어 JVM에 보내면 JVM 인터프리터를 통해 읽어 이를 운영체제에 보내고 운영체제는 하드웨어와 통신해 Applcation이 실행된다. 즉 컴파일을 하고 인터프리터를 통해 읽는 2가지 과정을 거친다. 이는 속도를 늦출 수 있는데 이에 대한 해결책으로 JIT compiler를 이용하여 자주 사용되는 코드를 cashing하여 한번에 기계어로 바꾸어 속도 문제를 해결한다.

 

 

출처: JAVA의 정석

728x90
반응형