본문 바로가기

분류 전체보기363

apache http utils 예제 apache http utils 예제 json 문자를 http post 방식으로 보내는 예제 라이브러리 https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient/4.5.12 source CloseableHttpClient client = HttpClients.createDefault(); HttpPost httpPost = new HttpPost("http://localhost:8080/test"); String json = "{"test:test"}"; HttpEntity stringEntity = new StringEntity(json, ContentType.APPLICATION_JSON); httpPost.setEntity(st.. 2020. 11. 8.
java Optional 설명 java Optional 설명 Optional.empty() null을 담고 있는, 한 마디로 비어있는 Optional 객체를 가져옴. 비어있는 객체는 Optional 내부적으로 미리 생성해놓은 싱글턴 인스턴스. isPresent 하면 false 로 찍힘. Optional.of(value) value 를 받아 Optional 객체를 생성. value 가 null 일 경우, NPE를 던짐. 그러니 반드시 null 이 아닌 객체일 때만 이것을 쓰자. Optional.ofNullable(value) value 가 null 인지 아닌지 모를 때 사용. null 이면 Optional 비어있는 객체를 만들고, value 가 있으면 해당 객체를 가지고 만듬. 2020. 11. 7.
하나의 JVM 은 멀티 core 를 사용할 수 있는가? 하나의 JVM 은 멀티 core 를 사용할 수 있는가? JVM 은 하나의 프로세스에서 동작하는 것이 맞다. 해당 JVM 에서 스레드를 생성해 사용할 때는 OS 의 스레드를 사용함. OS 는 OS 스레드를 스케줄링하는 책임이 있다. 이 OS 의 스레드는 다른 multi core 에 있으며, 결국 하나의 JVM 에서 멀티 코어를 사용할 수 있다. 1개 프로세스 멀티 쓰레드 vs 멀티 프로세스 정리 1개의 프로세스 멀티 쓰레드가 이론적으로 더 속도가 나올 것이라 생각되지만 막상 벤치마킹 하면 속도차이가 얼마 안난다. 스레드 간 문맥교환이 프로세스 간 문맥교환 보다 적은 비용이지만 실제 성능은 비슷하다. 멀티 쓰레드는 사용하기 어렵다. 스레드 간 자원 공유를 고려하며, 프로그래밍 해야하기 때문 배치 같은 프로그.. 2020. 11. 6.
하노이탑 문제 풀기 하노이탑 문제 풀기 import lombok.extern.slf4j.Slf4j; @Slf4j public class Hanoi { public static void main(String[] args) { int count = hanoi(3, 1, 2, 3, 0); log.info("{}", count); count = hanoi(4, 1, 2, 3, 0); log.info("{}", count); } /** * 하노이탑 원리를 이해해야 함. * 1. n-1 를 두번째 기둥으로 옮기고. * 2. 첫번째 기둥에서 마지막 원판을 세번째 기둥으로 옮긴다. * 3. 두번째 기둥에 있는 n-1 원판을 세번째 기둥으로 옮긴다. * * 위 내용을 보면 n 번쨰 기둥을 옮기는건 n-1 번째 기둥을 옮기는 것을 풀어야 풀.. 2020. 11. 5.