[Java] 자바 언어를 사용하는 이유
ref-inflearn 김영한, 실전 자바 - 기본편
📌Java자바
✅자바 언어 특징
- 운영체제에 독립적이다.
- 객체지향 언어이다.
- 자동 메모리 관리(Garbage collection)
- 네트워크와 분산처리 지원
- 멀티쓰레드 지원
- 동적 로딩
- 자바의 많은 특징중에서 자바를 많이 사용하는 대표적인 이유는 자바는 운영체제에 독립적 이기 떄문에 어떤 운영체제(OS)에서 실행이 가능하기 떄문이다. 이말은 즉C 언어같은 프로그래밍 언어는 한 운영체제에 맞게 개발되어 다른 환경에서는 실행이 되지 않아 개발자가 운영체제에 맞게 개발을 해야하는 번거로움이 있지만, 자바는 JVM을 통해 해당 운영체제가 이해할수 있도록 변환시켜주기때문에, 어떠한 운영체제에서도 실행이 가능하다.
나머지 객체지향 자동메모리 등등 후에 계속 공부하면서 포스팅 할계획이다.
✅JVM(Java virtual Machine)
- Jvm은 자바를 실행하기 위한 가상 컴퓨터 이다.(자바로 작성된 애플리케이션은 모두 이 가상 Jvm 에서 실행)
✅JDK(Java Development kit)자바 개발도구
- JDK를 설치하면 JVM,JAVA API외에 자바를 개발하는데 필요한 프로그램들이 설치된다.
- Javac.exe 자바 컴파일러. 자바소스코드를 바이트코드로 컴파일
- java.exe 자바 인터프리터. 컴파일러가 생성한 바이트코드를 해석하고 실행한다.
✅컴파일과 실행
✅컴파일 과정
- .java 자바 소스코드 작성(.java는 사람이 이해할수있는언어,즉 본인이 작성한 소스코드)
- 자바 컴파일러 javac를 통해 .class 파일 생성(.class파일은 컴퓨터가 이해할수있는 바이트코드로 바꿔준다) 이 바이트 코드는 완벽한 실행파일이 아니다. 운영체제에 맞는 완벽기계어가 아니라 중간 기계여이다. 이 바이트코드를 실행하려면 운영체제에 맞는 자바 가상머신이필요하다.
✅실행 과정
- 운영 체제에서 직접 실행하는게 아니라 가성머신이 먼저 실행되고,이 가상머신이 운영체제에 맞는 실행 파일 바꿔 주면 여러 운영체제에 제한받지 않고 프로그래밍이 돌아간다.
✅자바의 단점
1.수행 속도가 느리고 부족하다.
자바는 C와 C++와 같은 네이티브 언어에 비해 많은 메모리를 소비한다. 또한, 코드를 기계어로 변환하기 위한 인터프리터의 추가 작업때문에 속도도 느리다. JVM은 프로그램의 속도를 감소시키는 기능을 수행한다.
- 많은 메모리 차지.
Garbage Collection을 지원하는것도 지속적으로 성능이 저하됨을 알 수 있다.
3.정확하고 복잡한 코드.
자바의 컴파일 과정에서 오타,세미콜론, 하나라도 오타가 있을시 프로그래밍 작동이 안되기떄문이다.
Leave a comment