[Java- Thread] 스레드 풀 포화 정책 이란?
·
면접 준비/Java
스레드란?Cpu Core 하나당 하나의 Thread를 실행시킬 수 있다. 하나의 프로세스 안에서 여러개의 쓰레드를 작업하여 업무를 분산시킬 수 있음 단순한 Thread 사용 과정 및 발생 가능한 문제점1 1. Java는 1:1 Threading-Model로 Thread를 생성한다.2. User Thread(Process Thread) 생성시 OS Thread(OS Thread)와 연결해야 한다.3. 즉 Thread를 새로 생성할때마다 OS Kernal과 통신이 필요하다.4. Thread는 생성비용이 많이 발생하는 작업이며 작업 요청이 들어올 때 마다 생성하게되면 최종 요청 처리 시간이 증가한다.단순한 Thread 사용 과정 및 발생 가능한 문제점 21. Process의 처리 속도보다 빠르게 요청이 쏟아지..
NullObjectPattern이란?
·
면접 준비/Java
널오브젝트 패턴이란?객체가 존재하지 않을 때, 널을 전달하는 것이 아닌 아무것도 전달하지 않는 객체를 전달하는 기법이다.예시 코드public void doSomething(SomeObject object){ if(object == null){ throw new Exception(); }}obj.process();널 오브젝트의 장점과 단점여러 곳에서 계속해서 널 체크를 한다면 코드가 증가하고 복잡성이 증가한다. 널 오브젝트 패턴은 널 값을 아무런 행위를 하지 않는 객체로 만들어 체크 코드의 중복을 제거하고 간소화시킬 수 있다. 또한 스택 자료구조를 만들때 용량이 0이라면 ZerocapacityStack을 만들수도 있다.단점으로는 예외를 탐지하기 어려운 상황을 만들수 있다. 어떤 부분..
[CS 면접 지식 -Java] 동일성과 동등성, equals()와 ==의 차이
·
면접 준비/Java
동일성과 동등성은 객체를 비교할 때 중요한 방식이다.자바에서는 두 개의 객체 또는 값을 비교할때 equals()또는==를 통해 구분할 수 있다. 1. equals와 ==의 차이equals()는 객체의 내용을 비교하는 반면, ==는 객체의 참조주소를 비교한다. 따라서 두 객체의 내용이 같더라도 서로 다른 객체라면 equals()는 true를 반환할 수 있지만 ==는 false를 반환한다. 2. 동등성(Equality) 동등성은 논리적으로 객체의 내용이 같은지 비교한다. 이때 사용하는 equals()메서드는 클래스에서 오버라이드하여 어떤 값을 비교할 것인지 설정할 수 있다.이때 중요한건 객체의 equals뿐만 아니라 hashCode도 오버라이드를 해줘야 한다는 점이다.그 이유는 해시값을 사용하는 자료 구조는..