Language4 @Retension (SOURCE,CLASS,RUNTIME) @Retension의 RetentionPolicy를 3가지는 어떤 차이가 있고 언제 어떤걸 사용하는게 좋을지 고민을 하게 되었습니다. 그래서 실제 어노테이션 정책이 내부적으로 어떻게 작동하는지 테스트 코드를 작성하면서 확인해 봤습니다. 1.RetentionPolicy.SOURCE//어노테이션 정의@Retention(RetentionPolicy.SOURCE)public @interface SourceAnnotation {}//어노테이션을 적용한 클래스@SourceAnnotationpublic class SourceObject {}//컴파일된 .class파일public class SourceObject { public SourceObject() { }}컴파일된 .class파일에 @SourceAnn.. 2025. 3. 14. Comparable과 Comparator비교 Comparable과 Comparator 은 둘 다 인터페이스(interface)이므로, 내부에 선언된 메소드를 구현해야 사용할 수 있다. [Comparable]Comparable를 살펴보면 내부에 compareTo(T o)만 Override 해주면 된다.https://docs.oracle.com/javase/8/docs/api/ Java Platform SE 8 docs.oracle.com [Comparator]Comparator를 살펴보면 내부에 많은 메서드들이 있지만 compare(T o1, T o2)만 Override된다.나머지 메서드들은 전부 기본구현(default 메서드)이 제공된다.equals(Object obj)는 default 메서드는 아니지만 Object에서 상속받으므로 구현 하지 않아.. 2025. 3. 12. [API] WININET 정리 출처: https://phiru.tistory.com/50 신규 런칭을 하면서 API를 통한 로그인(웹, 런처), 빌링 서버 연동, OTP체크 등 기능을 추가해야 했다. WININET을 사용해서 API연동 체크를 했는대 이와 관련해서 잘 정리된 글이 있어 퍼 옴. ---------------------------------------------- 순서 ---------------------------------------------- 1. InternetOpen 2. InternetConnect 3. HttpOpenRequest 4. HttpSendRequest 5. HttpSendRequestEx 6. InternetQueryDataAvailable 7. InternetReadFile 8. Intern.. 2021. 1. 14. [운영체제] 멀티 쓰레드와 멀티 프로세스 [멀티 스레드] (Multi Thread) 멀티스레드란? 하나의 프로세스 내에서 둘 이상의 스레드가 자원을 공유하며 동시에 작업을 수행하는 것을 뜻 한다. 장점: 1. 하나의 프로세스에서 다수의 작업을 각각 스레드를 이용하여 동시에 작동시킬 수 있다. 2. Code, Data, Heap영역은 공유하고 Stack영역만 따로 보유하기 때문에 Cash Memory 초기화 작업이 필요 없고 Context Switching 비용이 저렴하다. 3. 스레드 간의 데이터 교환은 Data, Heap영역을 통해 가능하다. 단점: 1. 여러 개의 스레드가 동시에 같은 메모리에 접근할 때 원치 않은 값을 읽어오거나 수정될 수 있다. 2. 위 1번 문제를 해결하기 위해 대표적으로 Critical Section, Mutex 등 .. 2020. 5. 19. 이전 1 다음