반응형
■ 맥 JAVA 환경변수 변경 방법 1. 자바 설치 오라클 홈페이지에서 mac os 에 맞는 자바를 다운받아 설치한다. https://www.oracle.com/java/technologies/downloads/#jdk20-mac Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts. www.oracle.com M2 맥북에 기존에 11 버전이 설치되있어서 17 버전으로 변경하기 위해 아래의 17버전을 다운받아 설치했다. 2. 설치된 자바 확인 $ java -version 3. 설치된 모든 jdk..
1. static 이란? static 이란 '정적인', '고정적인' 이라는 사전적 의미를 가진다. 이를 java 관점으로 해석하면 '클래스의' 또는 '공통적인' 이라는 의미를 가진다. static 을 이해하기 위해서는 먼저 JVM (자바 가상 머신) 을 이해할 필요가 있다. ◼︎ JVM ( Java Virtual Machine, 자바 가상 머신 ) 쉽게 말하면 '자바를 실행하기 위한 가상의 컴퓨터' 라고 할 수 있다. java 애플리케이션을 실행하면 JVM 은 OS 로부터 메모리를 할당한다. 자바 컴파일러 (javac) 가 자바 소스코드 (Xxx.java) 를 바이트코드 (Xxx.class) 로 컴파일 한다. 클래스 로더 (Class Loader) 를 통해 JVM 메모리 (Runtime Data Area..
■ 맥 JAVA 환경변수 설정 방법 1. 자바 설치 오라클 홈페이지에서 mac os 에 맞는 자바를 다운받아 설치한다. https://www.oracle.com/java/technologies/downloads/#jdk20-mac Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts. www.oracle.com 2. 터미널(Terminal) 실행 cd /Library/Java/JavaVirtualMachines 입력하여 이동한다. ls 명령어를 입력하면 폴더 및 파일명이 출력되므로 설치한 jdk..
들어가기전에 핵심 기능과 부가 기능 어플리케이션 로직은 크게 핵심기능과 부가기능으로 나눌 수 있다. 핵심기능 객체가 제공하는 고유의 기능 예) 회원 등록 로직, 주문 로직 등 부가기능 핵심기능을 보조하는 기능 예) 로그 로직, 트랜젝션 로직, 보안 로직 보통 부가기능은 여러 곳에서 공통으로 사용되는 경우가 많다. 예를들어 모든 호출에서 로그를 남기는 경우, 보안을 강화하는 로직을 이용하는 경우 등이 있다. 이러한 부가 기능은 횡단 관심사 (cross-cutting concerns) 라고 한다. 이렇게 부가기능을 여러 클래스에 적용하려면 어떻게 해야할까? 클래스의 수 대로 모든 클래스에 동일한 코드를 추가하면 될까? 이는 매우 번거롭고 바람직하지 못하다. 만약, 로그 로직에 변경이 발생한다면 그 클래스 수..
0. 들어가기전에, 프록시 팩토리 (Proxy Factory) 정리 JDK 동적 프록시 (링크) 인터페이스와 구현 클래스가 있는 경우 InvocationHandler 사용 CGLIB (링크) 구체 클래스만 존재하는 경우 MethodInterceptor 사용 스프링은 동적 프록시를 통합해서 편리하게 만들어주는 프록시 팩토리 (ProxyFactory) 기능을 제공한다. 프록시 팩토리 하나로 인터페이스가 있으면 JDK 동적 프록시를 사용하고, 인터페이스 없이 구체클래스만 존재하면 CGLIB 를 사용할수 있다. 이때, InvocationHandler 와 MethodInterceptor 를 따로 만들어야 했던 문제를 해결하기위해 스프링은 Advice 라는 개념을 도입했다. 각 핸들러와 인터셉터를 신경쓰지 않고, ..