기술면접

    [TI][JAVA] JVM 메모리 구조

    [TI][JAVA] JVM 메모리 구조

    [Tech Interview] JVM의 메모리 구조에 대해서 설명해 주세요. JVM 메모리 구조에 대해서 알아야 하는 이유? JVM을 몰라도 코드 짜고 실행시키는데 큰 문제는 없습니다. 다만 대규모 프로젝트에서는 메모리 관리에 따라 프로그램의 성능이 크게 차이가 날 수 있으므로 제대로 된 JAVA 개발자라면 JVM 메모리 구조에 대해 제대로 알아 둘 필요가 있겠죠? JVM 이란? JVM은 Java Virtual Machine의 약자로, 자바 가상 머신을 의미합니다. JVM은 자바와 운영체제 사이에서 중개자 역할을 수행합니다. 또한 자바가 운영체제에 구애 받지 않고 프로그램을 실행할 수 있도록 도와줍니다. 또한 가비지 컬렉터를 이용한 메모리 관리도 자동으로 수행하며, 다른 하드웨어와 다르게 레지스터 기반이..

    [TI][Java] Managed 언어 vs Unmanaged 언어, 차이와 장단점

    [Tech Interview] Managed - Unmanaged 언어의 차이는 무엇이고 어떤 장, 단점이 있나요? Managed 언어 vs Unmanaged 언어 분류 기준 : [메모리 관리 주체] Managed Language는 외국에서는 많이 쓰이지 않는 용어로, Managed Code라는 말이 많이 쓰인다고 합니다. Managed Code는 MS 진영에서 C#을 만들면서 사용된 용어로, 코드가 하드웨어에서 바로 구동되는 것이 아니라, 특정 런타임 환경에 의해 관리되고 의존하는 코드를 의미합니다. 여기서 특정 런타임 환경이란 자바의 JVM이나 C#의 CLR, 자바스크립트의 V8 같이 특정 언어 코드를 구동해주는 가상머신, 인터프리터, 엔진 등을 의미한다고 합니다. 즉, 가상머신 위에서 관리되고 작동..

    백엔드 개발자 기술면접 질문 정리

    오늘부터 다음 git에 정리된 기술면접 질문에 대한 답변을 하루에 한 개씩 블로그와 깃에 정리하려고 합니다. 블로그에 공공연히 선언해야 시작할 때의 열정이 사라지지 않을 것 같기에! https://github.com/Lob-dev/Junior-Back-end-Developer-Concepts/blob/main/Job%20interview.md GitHub - Lob-dev/Junior-Back-end-Developer-Concepts: Java, Spring 위주의 Back-end 신입 개발자를 위한 저장소입니 Java, Spring 위주의 Back-end 신입 개발자를 위한 저장소입니다. 지속적인 개선, 업데이트를 진행하고 있습니다. - GitHub - Lob-dev/Junior-Back-end-Dev..