Back End/Java
java study 1 - 자바 프로그램의 이해와 실행의 원리, 가상머신,println
YJ_SW
2020. 1. 27. 14:44
728x90
자바 실행구조와 가상머신
- 하드웨어 위에 운영체제 그 위에 프로그램으로 서로 통신하며 실행됨 (프로그램은 운영체제에 요청, 응답으로 실행)
- 운영체제에 의존적: win 버전 프로그램을 linux에서 실행 불가 (소스코드의 상호 호환성이 없음) - 사운드, 그래픽 운영체제 도움없이 못함( 서로 방법이 다름 )
- 운영체제가 실행 주체
- 자바 프로그램은 운영체제 상관없이 실행가능, 의존성 없음 어디서든 실행 가능
- 자바프로그램은 자바 가상머신 위에서 동작함 이 사이의 통신방법은 일정함 가상머신은 그래픽, 사운드 기능 없음
- JVM은 대리자의 역할, 이 요청을 운영체제에 전달 , 운영체제와 통신는 자바 가상머신이 함
- 운영체제가 달라지면 가상머신이 달라짐, 통신방법이 다르기 때문에! 하지만 자바프로그램과 자바 가상머신과의 통신방법은 규격화 되어 있으므로 java 프로그램은 어느 운영체제에서든 작동함
자바 프로그램은 운영체제에 독립적
자바 가상머신은 운영체제에 의존적
- .java 파일은 사람이 이해할 수 있는 언어
- 이를 기계가 이해할 수 있는 언어로 바꾸어 주는게 javac.exe = javac.exe가 컴파일
- 컴파일 완료가 되면 .class파일이 됨
- 가상머신이 .class파일 동작할 수 있게 하는 java.exe (런처) 프로그램 실행 주도
- 자바 컴파일러는(javac.exe) 자바 가상머신이 인식할 수 있는 자바 바이트 코드 생성
- 동작을 유도해주는게 java.exe
자바 가상머신 때문에 속도의 저하가 되지만, 문제가 되지 않음 ( 안전성 )
System.out.println 으로 화면에 출력
출처 : 난 정말 java를 공부한 적이 없다구요(윤성우)
728x90