2021. 7. 22. 16:32ㆍWeb
잘 몰라도 적당히 쓸 수 있다.
근데 당장은 몰라도 메모리 단위의 이야기가 나왔다 하면 발목을 잡는 이야기 중 하나가 Runtime과 Compiletime이다.
물론 잠깐 멈칫했다가 적당히 이해하지만 어디까지나 적당히다.
음..! 사실 이번주는 평일에 너무 바빠서 주제들과 참고 사이트만 비공개로 나열해놨더니 하나하나 왜 이 주제를 선정했는지 기억이 안난다.
게다가 당황했던 기억은 있는데 이번주를 지내면서 완전히 익숙해져서 딱히 모르는 이야기가 내가 원하는 레벨에서는 안보이는걸.
아마... 에러에 대해 이야기하고 싶었던 것 같다.
일단 순서는 compile -> runtime이다.
Compile time
2021.07.18 - [Web] - [JAVA] 컴파일러와 인터프리터, 그리고 hotspot <- 여기서 이미 자바의 컴파일이 무엇인지는 다뤘다.
간단하게 말하면 개발자가 쓴 코드를 기계가 읽을 수 있는 기계어로 바꾼다.
.c는 .out이 되고 .java 는 .javac가 되는게 컴파일이다.
여기서는 Syntax error, Type check error등 문법적 에러가 터진다.
Run time
프로그램을 run시킨다고 한다. 말 그대로 사용자가 컴파일된 프로그램을 실행시키는 시간이다.
컴파일하다 터진 에러는 똑똑이 컴파일러들이 다 알려주지만 실행중 에러는 개발자가 찾아야한다.
실행이 아에 안되면 몰라도 잘 되는 줄 알았는데 배포하고 서비스하다 나오는 에러들이 여기 포함된다.
작은 에러는 문명의 Be폭력 간디가 있겠고, 큰 에러는 실행 중에 생긴 심각한 에러가 발생해 강제 종료 당하는 정도...?
주로 logical error, nullExceptionError, 메모리 부족 등이 있다.
참고 자료
'Web' 카테고리의 다른 글
[Spring] BeanCreationException 해결 (0) | 2022.01.24 |
---|---|
[JAVA] System.error.println()이란 (0) | 2021.07.28 |
[객체지향] object와 instance (0) | 2021.07.21 |
[JAVA] System.out.printf()에서 %n (0) | 2021.07.20 |
[JAVA] 컴파일러와 인터프리터, 그리고 hotspot (0) | 2021.07.18 |