본문 바로가기

반응형

프로그래밍/Java

(54)
LRU 캐시 해당 포스트작성 목적 LRU캐시란 무엇일까?? 저번 Weak/Soft Reference를 공부하며, WeakReference가 LRU캐시를 구현하기 적합하다는 것을 보았다. LRU캐시는 무엇일까?? 또 어떤점에 Weak Reference가 적합하다는 것일까?? LRU 캐시란?? Least Recently Used Cache의 약자로, 캐시메모리를 다루는 알고리즘중에 가장 많이 사용되는 알고리즘이다. Cache메모리가 차면, 가장 오랫동안 사용되지 않았던 Cache를 메모리에서 삭제하는 알고리즘이다. LRU 캐시의 구현 LRU캐시는 Doubly Linked List(Queue)를 통해서 구현된다. head에 가까울수록 최근에 사용된 데이터이고, tail에 가까울수록 사용되지 않은 데이터이다. 만약 데이터가..
Proxy-@Transactional 포스트 작성 목적 Proxy란 무엇인가?? 스프링에서 Transcational 어노테이션이 동작하기 위해서는 Proxy의 역할이 중요하다고 한다. Proxy에 대해 알아보며, 이 Proxy가 어떻게 스프링에게 Transactional 동작을 도와주는지 알아보자. Proxy란?.. 프록시란 클라이언트가 자신(Proxy)를 통해서 다른 네트워크서비스에 간접적으로 접속할 수있게 해주는 컴퓨터시스테이나. 응용프로그램이다. 즉, 클라이언트와 서버사이에 존재하며, 서버와 클라이어튼의 대리자 역할로 통신을 수행한다. 스프링에서의 Proxy란? Proxy는 대리업무를 수행하는 시스템이나 응용프로그램이라는 것을 알게되었다. 그렇다면 스프링에서의 Proxy는 무엇을 뜻하며 어떤 역할을 수행할까?? 먼저 스프링에서의 Pro..
Lombok 파해쳐보기 - 1(미완) 포스트 작성 목적 자바 어노테이션을 공부하면서 어떻게 선언해야하는지 알게되었다. 그러나, 그뿐 실제로 어노테이션을 선언하고 사용하지는 못했다. 기껏해야 리플렉션을 이용해, 어노테이션이 붙은 메소드들에 들어간 값을 확인하는 수준에서 그쳤다. 어노테이션을 직접 선언하고 사용할 일이 많지 않겠지만, 실제 어떻게 동작하는지 원리를 파악하고, 이를 기반으로 Transactional 어노테이션을 만들어보고자 한다. 그러기 위해 어노테이션을 쓰기위해 많이쓰이는 Lombok라이브러리는 어떻게 어노테이션을 선언하고 구현했는지 파해쳐보겠다. Lombok 어노테이션 디컴파일 Lombok 어노테이션이 붙은 소스파일은 클래스파일로 컴파일 됬을때 어떻게 변하고, 또 어노테이션 선언은 어떻게 될까??? @Embeddable @Ge..
ArrayList VS LinkedList List란?? Array VS List List의 기능 ArrayList와 LinkedList의 차이점 ArrayList 데이터의 추가 데이터의 삭제 데이터 조회 ArrayList의 사용법 생성 추가 삭제 조회 반복 LinkedList ArrayList와 LinkedList의 메모리 할당 연결 LinkedList의 구체적인 구조 Head LinkedList의 데이터 추가 시작 부분에 추가 중간에 추가 데이터 삭제 Doubly Linked List (이중연결리스트) 장점 인덱스의 데이터 조회 노드 탐색하기 단점 노드의 추가 포스트를 작성하며 알게된 점 Reference 해당 포스트의 작성목적 LinkedList lnkList = new LinkedList(); ArrayListt arrList = new ..
java.lang -2 System클래스와 로깅 해당 포스트를 작성하는 목적 각종 정보를 확인하기 위한 System클래스 시스템 속성(Property) 관리 Property란?... 시스템 환경(Enviroment) 값 조회 GC수행 JVM종료 현재 시간 조회 System.out을 살펴보자 System.out.println() 은 왜 로그로 쓰면 안되는가? 로깅이란? LogBack라이브러리의 로깅 레벨과 쓰임새 로그를 쓸때는 SL4FJ를 이용하자! SLF4J의 구성과 작동방식 로깅 작성시의 주의사항 그외 주의사항 로그를 활용하고 싶다면! 포스트 작성을 통해 알게된점 Reference 해당 포스트를 작성하는 목적 자바의신vol2 의 20장 공부와 더불어, 시스템클래스에 대해서 알아보기 위해 작성한다. 20장에서는 java.lang패키지와 함께 wrapp..
상속과 컴포지션 포스트를 작성하는 목적 상속과 컴포지션(조합) 이란? 상속 Composition(조합) 포스트를 작성하며 알게 된점 Reference 포스트를 작성하는 목적 상속과 컴포지션(조합)의 차이점에 대해서 알아본다. 개념상으로 이러이러한 차이점이 있고, 어떻게 표현되는지, 실제 코드로는 어떻게 표현할 수 있는지 알아본다. 그리고 왜 둘의 차이점을 알아야 하는지?.. 에 대해서 알아보자. 멘토링 피드백에 따라 엄청상세하게 공부하기 보다는, 추후 프로젝트 모델링 진행 시 상속과 컴포지션을 활용해 모델링 할 수 있는 정도가 되어보자. 상속과 컴포지션(조합) 이란? 상속 IS-A관계로 정의될 수 있으며, 부모클래스를 '확장'하는 개념이다. 상속을 받은 자식클래스는, 부모클래스의 변수와 메소드에 접근이 가능하고, 메소드..
java.lang -1 WrapperClass 해당 포스트를 작성하는 목적 java.lang 패키지는 특.별.하.다 몇가지 알고있어야할 가끔나타나는 에러들 OutOfMemoryError(OOME) StackOverflowError 숫자를 처리하는 클래스들 -Wrapper클래스 Wrapper클래스를 굳이?.. 왜 써야할까? parse()와 valueOf() Wrapper클래스의 비교연산 포스트 작성을 통해 알게된점 Reference 해당 포스트를 작성하는 목적 자바의신vol2 의 20장 공부와 더불어, 시스템클래스에 대해서 알아보기 위해 작성한다. 20장에서는 java.lang패키지와 함께 wrapper클래스, System클래스를 다루고있다. 이번 포스트에서는 java.lang패키지에 대한 개략적인 이해와 Wrapper클래스에 대해서 알아보고자 한다...
JAVA의 역사와 JVM-2 해당 포스트를 작성하는 목적JIT컴파일러는 무엇일까?HotSpot이란 무엇인가?Java를 배우면 꼭 알아야 하는 용어해당 포스트를 작성하며 알게된 점Reference해당 포스트를 작성하는 목적드디어 자바의신Vol2 에 진입했다. 자바의 역사와 JVM에 대해서 알아보는 단원인데, JVM에 관해서는 이미 앞서 진행했으므로, 크게 더 내용이 추가 될지는 모르겠다. 천천히 읽어보며, 미처 빠트린 내용이 있다면 이 포스트를 작성하며 다시 복습하고 가도록 하자.JIT컴파일러는 무엇일까?JIT 컴파일러는 바이트코드를 컴퓨터가 이해할 수 있는 기계어로 변환해주는 인터프리터 이다.JIT을 사용하는 언어는 Java와 .Net등이 있다. 즉 자바에서만 사용개념이 아니다.JIT을 좀더 쉽게 말하자면 동적변환이라고 할수 있으며..

반응형