본문 바로가기

Java47

[Java 2편] stream 내에서 CheckedException, RuntimeException 처리 source 는 Github 에 있습니다. 목차는 Java series 에 있습니다. [Java 2편] stream 내에서 CheckedException, RuntimeException 처리 source code stream 내에서 CheckedException 과 RuntimeException 처리 관련 코드 예시에 대해서 정리했습니다. public class StreamWithExceptionTest { @Test public void stream_내에서_RuntimeException_테스트() { String[] strings = new String[] {"hello", "world", "hi"}; List list = Arrays.asList(new String[]{"abcde", "test", .. 2022. 6. 28.
Java State Pattern 0. 디자인 패턴은 무엇이고 왜 사용하는가? 이러한 상황에서는 이런 패턴을 사용하라. 이러한 상황에서 왜 이 패턴을 쓰는지 명확하게 알아야 한다. 프로그램 구조 파악 용이, 의사소통 좋아질 수 있음. 1. State 패턴 개념 객체 내부의 상태에 따라 객체의 동작 방식이 달라지는 패턴 하나의 인터페이스를 두고 각 객체들은 이를 구현하여 상태에 따라 다른 행위를 하는 패턴 public interface NumState { void test(); } public class OneState implements NumState ( void test() { xxx } ) public class TwoState implements NumState { void test() { } } public class Main .. 2021. 4. 4.
java Generic, WildCard 정리 Generic, WildCard 정리 Generic 개념 입력한 객체 타입을 보장하기 위해 사용 매개변수 E: Element, 컬렉션의 요소를 표시할 때 사용 K: Key, V: Value, T: Class Type Example 아래 예시를 보면 Key, Value 형태로 매개변수가 설정된 Generic 이다. String 으로 Key, Value 를 초기화했으며, key, value 는 String 만 올 수 있다. 만약, 다른 타입을 입력하면 컴파일 단계에서 에러가 발생한다. 이렇게 하는 목적은 다른 값이 들어오는 것을 컴파일 단계에서부터 체크하겠다는 것. public interface Map { V put(K key, V value); } Map map = new HashMap(); WildCar.. 2021. 3. 22.
java ThreadPoolExecutor 설명 java ThreadPoolExecutor 설명 개념 ThreadPoolExecutor 는 ThreadPool 을 관리해주는 역할 ThreadPoolExecutor 환경 설정 corePoolSize : 초기에 corePoolSize 만큼 스레드가 생성되며, 이를 유지함. maximumPoolSize : ThreadPool 에서 최대로 유지할 수 있는 Thread 갯수 workQueue : corePoolSize 초과하는 요청에 대해 큐에 담는다. 예를 들면, corePoolSize : 1 이고, workQueue : 10 이며, 요청 스레드는 10이라 가정하면 corePoolSize 에서 1개 스레드로 처리하고 큐에는 9개 요청이 대기하고 있음. Case 별 ThreadPoolExecutor 동작 cas.. 2021. 2. 26.