java(2)
-
Java Reflection
모든 내용은 공부 후 정리해서 적어둔 내용입니다. 틀린 내용이 있다면 댓글로 말씀해 주세요. Reflection이란?Reflection은 런타임 시점에 클래스의 구조(필드, 메서드, 생성자, 상속 구조 등)를 조회하고 조작할 수 있게 해주는 기능입니다. 자바는 보통 컴파일 시점에 모든 타입이 결정되기 때문에 클래스 이름, 메서드, 필드 등을 다 미리 알아야 코드를 짤 수 있습니다.하지만 Reflection을 사용하면 문자열로 클래스 이름을 받아서 런타임에 그 클래스의 메서드를 호출하고 객체를 만들고 필드에 값을 넣는 것이 가능합니다.즉, Reflection은 정적인 언어에 동적인 능력을 부여해 주는 기능이라고 생각하면 될 것 같습니다. Reflection은 왜 필요한가여러 상황에서 Reflection이..
2024.10.25 -
[JVM] JVM 이란
JVM이란 JVM은 Java Vertual Machine의 약자로 ‘자바를 실행하기 위한 가상 기계’를 말합니다. JVM이 필요한 이유 JVM은 자바 애플리케이션을 운영체제와 상관없이 실행시킬 수 있도록 해주고 프로그램 메모리를 관리하고 최적화를 해줍니다. (정확하게는 Java라는 언어가 JVM으로 인해서 OS에 독립적이라는 것으로, JVM자체로는 OS마다 정의된 실행방법을 따르기 때문에 JVM 자체는 OS에 종속적입니다.) 추가로, 자바로 작성된 애플리케이션은 JVM을 통해 실행되기 때문에 반드시 JVM이 필요한데 위의 사진처럼 OS로 전달되기 전에 JVM을 거쳐 해석되고 실행되기 때문에 속도가 느리다는 단점이 있습니다. 하지만 최근에는 JIT 컴파일러의 성능 향상과 최적화 기술의 발달로 속도 저하가 ..
2024.04.18