본문 바로가기

Java55

java primitive vs wrapper 설명 java primitive vs wrapper 설명 primitive 타입은 int, boolean, char 등을 의미함. 자바 기본형 타입들임. wrapper 타입은 위 기본 타입들을 참조형 형태로 만든 것임. 그럼 각각 언제 사용하는가? 기본형 타입들을 사용할 때도 있지만, 이런 기본형 타입들을 객체형태로 받을 떄도 있다. 또한, 아규먼트로 받거나. 객체 간의 비교가 필요할 때도 있음. 오토박싱, 언박싱 오토박싱은 기본형을 참조형으로 변환. 참조형을 기본형으로 변환은 언박싱 Integer I = 10; // 오토박싱 (autoboxing) Integer i = 10; int a = i; // 언박싱 주로 List, Map 과 같은 Collection 에서 박싱이 많이 일어나겠지. 단, 오토 박싱, .. 2020. 11. 12.
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.