• (Key, Value)로 데이터를 저장하는 자료구조 중 하나로 빠르게 데이터를 검색할 수 있는 자료구조• 내부적으로 배열(버킷)을 사용하여 데이터를 저장• 해시 테이블은 각각의 Key값에 해시함수를 적용해 배열의 고유한 index를 생성하고, 이 index를 활용해

\-> JVM 이 class 파일을 읽고 스레드가 생성되며 어플리케이션이 실행되며 내부적으로 추가적인 컴파일 과정(JIT 컴파일)을 수행한다 . JVM 이 바이트 코드를 읽으려면 클래스 로더 가 있어야 한다🔍그럼 클래스 로더란 뭘까??:JVM의 일부분으로 동작하는

앞에 포스팅에선 JVM 에 대해 설명하는 글이 있었다. jvm 은 java 가 어디서든 실행될 수 있게 해주는 가상머신이다 . Java 코드는 특정 플랫폼에 맞게 컴파일되는 것이 아니라, JVM이라는 중간 계층을 통해 실행되기 때문에 플랫폼 독립적으로 동작할 수 있는
정적(static)"이라는 키워드가 붙은 변수, 메서드, 초기화 블록은 클래스에 속하는 개념이다 . 하나의 클래스당 하나만 존재 할 수 있으며 클래스 외부에서 호출하여 사용할때 생성자 호출을 하지 않아도 사용할 수 있다는 점이 다르다.JVM 이 클래스를 로드할 때 메모
: 사용하지 않는 객체들을 메모리 공간 (heap) 에서 정리해주는 시스템이며 메모리 누수를 방지해준다 . Generational Collection (세대별 수집) - 힙을 세대 별로 나누어 관리한다. (Minor GC / Major GC)가비지 컬렉션은 "Mark
하나의 값을 저장할 수 있는 매모리 번지에 붙혀진 이름 변수를 통해 우리가 만든 프로그램은 메모리 번지에 값을 저장하고 읽을 수 있다.int age; 라는 변수에 10을 대입하면 메모리에 할당되고 해당 메모리에 값이 저장된다 . 이 처럼 변수에 최조로 값을 대입하는 것
각 메모리에 저장 될때 할당되는 크기가 다르다 . 개발자가 직접 변수에 값을 입력하면 이를 리터럴(literal)이라고 부르며 정수형 변수에 값을 대입한 걸 정수 리터럴 이라고 부른다 1 byte , 8 bit (0과 1 이 저장되는 단위 : 8개의 0과 1이 저장 될

자동 타입 변환 자바의 기본 타입들은 자동으로 타입을 변환할 수 있다 . 주로 값의 허용 범위가 작은타입이 허용 범위가 큰 타입으로 대입될 때 발생한다
‼️ 김치찌개로 이해하는 객체와 클래스 지금부터 당신은 제 2의 백종원이다 . 김치찌개를 만들려면 김치도 필요하고 밥도 필요하고,, 무엇보다 레시피가 있어야 김치찌개를 만들 수 있다. Class : 김치찌개를 만들기 위해 필요한 재료과 과정이 담긴 레시피이다 . 여기
키보드로 부터 입력된 데이터를 읽고 변수에 저장하는 기능을 제공하는 클래스(java.util 패키지에 있는 클래스) 이다 . Scanner 객체를 생성하여 사용하므로 참조형 타입 에 해당된다 이 예제 코드에서 scanner는 Scanner 클래스의 인스턴스이며 , 스택
부호 연산자는 변수의 부호를 유지하거나 변경한다 부호를 변경하는 것도 연산이므로 컴파일 에러에 유의해야한다 . : 피연산자의 부호 변경: 피연산자의 부호 유지이 경우 Java에서 단항 연산자(-)를 사용할 때 타입 승격(type promotion)이 발생하기 때문에컴파

연산 작업을 수행했을때 타입이 허용되는 범위 , 즉 최대값을 벗어나는 것을 말한다 컴파일링 에러가 아닌 해당 정수 타입의 최소값 으로 되돌아 간다 byte 타입의 경우 범위가 -128 ~ 127인데 1을 증가 시키면 128이 되어 오버플로우가 발생한다.그래서 최대값에서
부동소수점 연산 과정에서 특별한 상황이 발생했을 때 나타나는 특수 값NaN은 "숫자가 아님"을 의미하며 다음과 같은 경우에 발생한다:0을 0으로 나눌 때ex) 0.0 / 0.0음수의 제곱근을 구할 때NaN인 상태로 연산자를 수행할때 NaN + 2 NaN은 어떤 값과 비
동등 비교 == , != 크기 비교 < ,<=,>,>=비교한 후 결과를 true/false로 반환한다 보통 비교연산자는 조건문(if) , 반복문(while , for) 문에서 실행 흐름을 제어할때 많이 쓰인다 다음은 비교연산자의 예시다 문자열의 값을 비교 :

오늘은 Java 의 스레드(Thread)에 대해서 알아보는 시간을 가져보자!
‼️Java 에서 발생한 동시성 이슈를 해결할 방법 중 하나인 동기화 방식에 대해 알아보자! 저번 포스트에서 라면주방에 알바생이 동시에 들어가는 바람에 재고체크가 정확하지 않았고, 결국 주문이 꼬여버려(동시성이슈) 알바생 한명(Thread) 을 짜르고, 새로 알바생