본문 바로가기 메뉴 바로가기

나의 구름낀 조각들

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

나의 구름낀 조각들

검색하기 폼
  • 분류 전체보기 (15) N
    • Java (12)
    • Git (1)
    • Spring (2) N
    • 일상생활 정보 (0)
  • 방명록

java (3)
스프링 부트 AOP(Aspect-Oriented Programming) 완벽 가이드: 개념, 프록시 동작 원리 및 실무 예제

1. AOP(관점 지향 프로그래밍)의 등장 배경과 필요성자바(Java) 웹 백엔드 개발을 위해 스프링(Spring) 프레임워크를 학습하다 보면 DI(의존성 주입)와 함께 가장 중요하게 다루어지는 개념이 바로 AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)입니다.객체 지향 프로그래밍(OOP)은 애플리케이션을 여러 개의 독립적인 객체로 나누고, 이들의 상호작용으로 로직을 구성합니다. 덕분에 비즈니스 로직의 모듈화와 재사용성이 크게 향상되었습니다. 하지만 애플리케이션의 규모가 커지면서 OOP만으로는 해결하기 어려운 문제에 직면하게 됩니다.바로 흩어진 관심사(Cross-cutting Concerns)의 문제입니다. 게시판 서비스를 예로 들어보겠습니다. '게시글 작성', '게시글..

Spring 2026. 7. 3. 10:15
JVM 구조

위 사진은 JVM의 전체적인 구조입니다. 클래스 로더(Class Loader) 자바 바이트 코드를 읽어서 JVM의 실행 엔진이 사용할 수 있도록 메모리의 메소드 영역에 적재하는 역할을 합니다. 로딩 -> 링크 -> 초기화 순으로 진행됩니다. 1. 로딩 클래스 로더가 .class 파일을 읽고 그 내용에 따라 적절한 바이너리 데이터를 만들고, 메소드 영역에 저장됩니다. 이때 메소드 영역에 저장하는 데이터는 다음과 같습니다. FQCN(Fully-Quailified Class Name) : 클래스 로더, 클래스 패키지 경로, 패키지 이름, 클래스 이름을 모두 포함한 값 Class, Interface, Enum 메소드와 변수 로딩이 끝나면 해당 클래스 타입의 Class 객체를 생성하여 힙 영역에 저장하게 됩니다...

Java 2022. 3. 28. 09:00
자바, JVM, JDK, JRE이란?

JVM (Java Virtual Machine) 자바 가상 머신으로 자바 바이트 코드(.class)를 운영체제(OS)가 실행할 수 있는 네이티브 코드로 변환(Interpreter, JIT Compiler) 하여 실행 합니다. 해당 운영체제에 맞는 네이티브 코드로 바꿔서 실행해야 하므로, JVM은 특정 플랫폼에 종속적이며, JVM은 자바(JAVA)와 운영체제 사이에서 중개하는 역할을 수행하기 때문에 자바가 운영체제에 신경 쓸 필요 없이 재사용이 가능하도록 해줍니다. JVM은 바이트 코드를 실행하는 표준 스펙(JVM)이자 구현체(특정 밴더가 구현한 JVM)입니다. JVM 벤더로는 Oracle, Amazon, Adoptium, Azul 등 여러 벤더들이 있습니다. JVM의 자세한 스펙은 https://docs..

Java 2022. 3. 27. 17:38
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • Annotation Processor
  • 자바
  • 자바 프록시 패턴
  • Reflection
  • dromos
  • java11 optional
  • Java Reflection
  • 바이트 코드
  • bytebuddy
  • 자바 리플렉션
  • 애노테이션 프로세서
  • 클래스로더
  • java proxy pattern
  • JRE와 JDK의 차이점
  • 리플렉션
  • javassist
  • java
  • 람다표현식
  • jvm
  • javaagent
  • java optional
  • 애노테이션
  • classloder
  • 깃 기초
  • JVM 구조
  • java abstractprocessor
  • optional api
  • 코드 커버리지
  • 실행 엔진
  • Functional Interface
more
«   2026/07   »
일 월 화 수 목 금 토
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바