Optional은 Java8에서 도입된 null 처리의 대안 클래스로, 값이 있을 수도 있고 없을 수도 있음을 명시적으로 표현하기 위해 사용된다. null을 직접 다루는 것보다 안전하고 명확한 코드 작성을 도와준다.기존 자바에서는 null 체크하는 로직을 포함하는 코드

각 스레드마다 독립적인 변수 값을 유지할 수 있도록 해주는 Java의 기능스레드마다 자기만의 값을 저장하고 읽기 떄문에 다른 스레드와 값을 공유하지 않는다.로그 추적(traceID)인증/인가(로그인 사용자 정보) 임시 저장트랙잭션/커넥션 관리이전에 만들었던 로그 추적기

JAVA JDK / JRE / JVM의 개념 / 차이

equals 메서드는 특정 객체와 다른 객체가 같은 객체인지 판별해주는 메서드이다.위 코드를 보면 알다시피, ==과 equlas()는 문자열이 아닌 클래스 자료형의 객체 데이터일경우 객체의 주소를 비교한다.즉, 컴퓨터 입장에서는 같은 홍길동 값을 가지고 있어도, 객체의

자바에서는 대표적으로 문자열을 다루는 자료형 클래스로 String, StringBuffer, StringBuilder가 있다. 세가지 클래스 모두 문자열을 다루는데 사용되지만 사용 목적에 따라 쓰임새가 다르다. 그렇다면 왜 이렇게 굳이 여러 클래스를 만들어 놓은건지,
변수, 메서드, 클래스에 사용될 수 있는 제어자변수에 사용 : 변수의 값이 변경될 수 없음을 의미(값을 한번만 할당 가능)메서드에 사용 : 오버라이딩 할 수 없음을 나타냄클래스에 사용 : 상속을 금지하는 역할try-catch 블록과 함께 사용됨예외 발생 여부와 상관없이

자바에는 4가지 접근 제어자가 있다. public : 어느 곳에서나 접근 가능 -> 접근 제약이 없다protected : 동일 패키지 내에 존재하거나, 해당 클래스를 상속받은 외부 패키지의 클래스에서 접근이 가능default : 기본 접근 제한자, 동일한 패키지 내에서

프로그램은 어떤 원인에 의해 오작동 또는 비정상적 종료가 일어나는 경우가 있다.이러한 결과를 초래하는 원인을 오류 또는 에러라고하며 발생 시점에 따라 3가지로 나뉜다.컴파일 에러 : 컴파일 시에 발생하는 오류런타임 에러 : 실행 시 발생하는 오류논리적 에러 : 실행은

불변 객체란 한 번 생성되면 그 상태가 변하지 않는 객체를 의미한다. 즉, 한 번 만들어진 객체는 외부에서 값을 변경할 수 없고, 변경이 필요하다면 새로운 객체를 생성해서 반환한다.자바에서 불변 객체의 예로는 String, Integer와 같은 래퍼클래스와 LocalD

자바는 3년정도의 텀으로 LTS(Long Term Support) 릴리스가 제공된다.LTS란 Long Term Support의 약자로 장기 지원 버전을 의미한다. 자바의 LTS 버전은 특정 기간 동안 안정적인 지원과 업데이트를 제공받을 수 있다. 일반적으로 3년마다 출

이전에 JVM, JRE, JDK의 개념에 대해서 알아보는 시간을 가졌다.이번엔 좀 더 자세히 JVM의 구조에 대해서 알아보도록 하자. JDK, JRE, JVM의 개념 🧐JVM이 뭐였지? JVM은 자바 가상 머신으로, 자바 바이트 코드를 각 운영체제에 맞는 기계로

가비지 컬렉션은 자바의 메모리 관리 방법 중 하나로, JVM의 Heap 영역에서 동적으로 할당했던 메모리 중 필요 없게 된(사용하지 않는) 메모리 객체를 모아 주기적으로 제거하는 프로세스를 뜻한다.C/C++은 이러한 가비지 컬렉션이 없어 프로그래머가 수동으로 메모리 할

Stream API란 Java 8에서 도입되어 데이터 컬렉션을 함수형 스타일로 처리할 수 있게 하는 기능이다. 이는 데이터를 추상화하고 처리하는 다양한 연산을 수행할 수 있게 해준다. 특히, 데이터 소스에 대한 계산 로직을 고수준에서 간결하게 표현할 수 있어, 코드의