이번 월요일부터 목요일까지 자바 언어를 이용한 알고리즘 문제 풀기를 했다. 자바 언어가 생각보다 매우 낯설어서 알고리즘을 생각하는 것보다 문법을 익히는데 더 많은 시간을 소요했다. 버스, 택시 클래스를 모델링하는 게 이번 주차 과제였고 진행하면서 전보다는 자바가 친숙해진 것 같다.
- JVM
자바의 특징 중 하나는 Anywhere이다. 한번 쓰면 어디서든 읽을 수 있다. 즉, 한번 컴파일한 것은, 어떤 기계에서든지 동작한다는 것. 이걸 도와주는 게 바로 JVM이다.
Java Virtual Machine의 약자로, 자바를 실행하기 위한 가상 컴퓨터다. OS에 종속 받지 않는 java를 실행하기 위해서 이 JVM이 필요하다.
직접 코드를 작성하면서 JVM의 고마움을 실제로 느꼈는데, 전에 잠시 배웠던 C와 다른 점이 있었다. 바로 인스턴스를 생성할 때 내가 직접 메모리를 수거할 필요가 없다는 것이다. c에서는 malloc 함수를 통해 메모리를 할당받으면 메모리 누수를 방지하기 위해 free 함수를 꼭 써줬어야 했는데, java에서는 이 작업이 필요 없었다.
금요일부터는 드디어 주특기인 스프링을 공부하게 되었다. 생각했던 것보다 더욱더 어려웠다. 처음 배우는 거니까 당연하다. 그래서 이번 목표는 하나하나 구체적으로 이해하는 것보다 전체적인 흐름을 이해하는 것이다.