![[Java] 다이나믹 프록시](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/ejOBIu/btszZJqCOsi/nIJzyx2XGANLaUtLAW8Cu0/img.jpg)
[Java] 다이나믹 프록시
궁금증 : JpaRepository 인터페이스는 어떻게 구현이 되는 걸까? JPA를 사용할 때 @Repository 인터페이스에 JpaRepository만 상속받으면 우리는 findById, findAll , save, delete 등 같은 엔티티를 변경하는 메서드들을 사용할 수 있다. 애플리케이션 안에 코드상에는 구현 코드가 없는데 어떻게 생성되고 사용할 수 있게 되는 걸까? @Entity public class EntityA { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; } public interface InterfaceA { EntityA getEntityById(Long i..
- Current Study/더 자바, 코드를 조작하는 다양한 방법
- · 2023. 11. 9.
![[Java] Reflection](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/reqPF/btszuHkPd3S/TuIh7o3BTUkUanmflHpQlk/img.jpg)
[Java] Reflection
Reflection이란 클래스 로더가 클래스 정보를 메서드 영역이 생성하는데 런타임 환경에서 메서드 영역에 접근해서 해당 클래스의 정보(필드, 메서드, 클래스 등) 조작하는 방법 구체적인 클래스 타입을 알지 못해도 그 클래스의 정보(메서드, 타입, 변수 등등)에 접근할 수 있게 해주는 자바 API다. Reflection API Class 객체에 접근해서 해당 클래스의 정보를 참조 및 수정, 실행을 할 수 있다. public class Coffee { private String name; private int price; public String getName() { return name; } public void setName(String name) { this.name = name; } public i..
- Current Study/더 자바, 코드를 조작하는 다양한 방법
- · 2023. 10. 30.
![[Java] JVM이란](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/vwvnb/btsyVZy5yDD/5gb3oCoStiXBXriah2wT21/img.jpg)
[Java] JVM이란
JVM (Java Virtual Machine)자바 가상머신으로 자바 바이트 코드를 OS에 맞게 특화된 코드로 변환하여 실행해 준다. JVM의 구성 요소클래스 로더메모리 영역실행 엔진JNI(Java Native method Interface) + JNL (Java Native method Library) 클래스 로더로딩 : 클래스 파일에서 바이트 코드를 읽어오는 과정링크 : 레퍼런스 연결 과정초기화 : 클래스에 있는 static 값들 초기화 클래스 로더의 종류부트스트랩 클래스로더 : JAVA_HOME/lib에 있는 코어 자바 API를 제공, 최상위 클래스 로더 플랫폼 클래스로더 : JAVA_HOME/lib/ext 폴더 또는 java.ext.dirs 시스템 변수에 해당하는 위치에 있는 클래스를 읽는다.애플..
- Current Study/더 자바, 코드를 조작하는 다양한 방법
- · 2023. 10. 21.