profile
구준희 하자

[JAVA] HashMap 은 어떻게 동작할까

본 포스트는 NAVER D2 - Java HashMap은 어떻게 동작하는가?를 참고해 HashMap가 어떻게 충돌 가능성을 줄이는지에 대해 구체적으로 다룰 것이다.HashMap과 HashTable은 둘 다 '키에 대한 해시 값을 사용해 값을 저장하고 조회하며 키-값 쌍

2022년 7월 27일
·
0개의 댓글
·

[JAVA] Integer Caching

바야흐로, 11번가 1차 면접에서 받았던 질문 중 가장 기억에 남는 질문이었던 Integer의 caching 기능에 대해서 알아보고자 한다.다음과 같이 127 값을 갖고 있는 두 개의 Integer 객체를 비교했을 때, 결과는 어떻게 될까? 처음 이 질문을 접했을 때,

2022년 7월 13일
·
0개의 댓글
·

[JAVA] ExecutorService

ExecutorService 를 알아보기 전에 Executors를 알아볼 필요가 있다.Executors 는 Executor, ExecutorService, ScheduledExecutorService, ThreadFactory, Callable 등 멀티 쓰레드를 기반으

2022년 5월 10일
·
0개의 댓글
·

[JAVA] 검사예외와 비검사예외

JAVA의 예외 처리는 모두 Throwable을 상속하고 있고 크게 Exception과 Error로 나뉜다. Exception은 검사 예외이고, Error는 비검사 예외이다.개발자가 명시해야 하는 부분은 검사 예외인 Exception으로 어플리케이션 수행 중 일어날 법

2022년 4월 5일
·
0개의 댓글
·

[JAVA] ThreadLocal

JVM의 Thread들은 Heap에 있는 객체들을 공유한다. Stakc에는 지역변수들이 저장되고, 이 변수들은 메서드가 호출될 때 생성되고 나갈 때 소멸되는 특징이 있다.그렇기 때문에 Stack에 있는 변수들은 Thread-Safe 하다는 장점이 있다. 하지만 다른 메

2022년 3월 24일
·
0개의 댓글
·

[JAVA] Stream

JAVA 8 부터 지원하며 컬렉션이나 배열 등에 저장되어 데이터들을 하나씩 참조하여 반복적인 처리를 가능하게 하는 기능이다. Stream을 사용하면 반복문이나 반복자를 사용해 매번 귀찮은 작업을 하지 않아도 된다.외부 반복을 통해 작업하는 컬렉션들과는 달리 내부 반복을

2022년 3월 12일
·
0개의 댓글
·

[JAVA] String, StringBuilder, StringBuffer

JAVA 에는 문자열을 다루는 대표적인 클래스로 String, StringBuilder, StringBuffer 가 있다. 위 클래스의 차이점에 대해서 짚고 넘어가고자 한다.String 객체와 StringBuilder/StringBuffer의 가장 큰 차이점은 Stri

2022년 3월 12일
·
0개의 댓글
·

[JAVA] Static, Stack, Heap

static 키워드가 붙은 데이터를 저장하는 메모리 영역이다. 정적 메서드와 정적 변수를 합쳐서 정적 멤버라고 하는데, 정적 멤버는 객체에 소속된 멤버가 아니라 클래스에 고정된 멤버이다.메서드 내 정의하는 기본 자료형(int, double, byte, long, ...

2022년 3월 4일
·
0개의 댓글
·

[JAVA] JVM

자바 바이트 코드는 JRE 위에서 동작하는데, 이 JRE(JAVA API + JVM) 에서 바이트 코드를 해석하고 실행해주는 것이 바로 JVM이다.JAVA 와 OS 사이에서 중개자 역할을 수행하며 JAVA가 OS에 구애받지 않고 재사용될 수 있도록 해주는 스택기반의 가

2022년 2월 25일
·
0개의 댓글
·

[JAVA] wrapper & primitive

Primitive Data Type 과 Wrapper ClassWrapper class 와 Primitive Data Type 의 차이점에 대한 궁금증은 int 와 Integer 에서 부터 출발한다. int 를 두고 굳이 Integer 를 사용하는 이유가 무엇인지 의문

2022년 2월 25일
·
0개의 댓글
·

[JAVA] equals & hashCode

==는 동등성을 비교한다. 즉, 객체의 참조값(주소값)이 서로 같은지를 검사한다. 두 객체가 서로 같은 객체인지를 판별하는 것이다.Object 클래스의 equals() 는 두 객체가 서로 동일한지를 검사하기 위해 사용된다.두 객체의 참조값이 서로 같은지를 확인한다2개의

2022년 2월 25일
·
0개의 댓글
·