728x90

Java7 3

SimpleDateFormat Thread-Safe 문제

SimpleDateFormat은 내부적으로 공유 상태(Shared State)를 가지기 때문에 멀티스레드 환경에서 동시 접근 시 데이터 충돌이 발생할 수 있음.🔥 문제 상황 예제 (멀티스레드 환경에서 발생하는 오류)다음은 여러 스레드에서 동시에 SimpleDateFormat을 공유할 경우 발생할 수 있는 문제를 보여줍니다.import java.text.SimpleDateFormat;import java.util.Date;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class SimpleDateFormatExample { private static final SimpleDateForma..

개발/자바 2025.02.19

Java 7 이하에서 날짜 및 시간 관련 클래스

✅ Java 7 이하에서 날짜 및 시간 관련 클래스 사용법Java 8부터 java.time 패키지가 도입되었지만, Java 7 이하에서는 기존의 java.util.Date, java.util.Calendar, java.text.SimpleDateFormat 등을 사용해야 합니다.📌 1. java.util.Date 사용법 (기본적인 날짜/시간)Date 클래스는 날짜와 시간을 표현할 수 있지만, 시간대(ZoneId) 정보가 없고, 불변(Immutable)하지 않아 Thread-Safe하지 않음.import java.util.Date;public class Main { public static void main(String[] args) { Date now = new Date(); ..

개발/자바 2025.02.19

try-with-resources란?

try-with-resources란?try-with-resources는 Java 7에서 도입된 기능으로, 자동 리소스 해제(AutoCloseable) 기능을 제공하는 try 문이다.사용 목적파일, 소켓, 데이터베이스 연결 등의 외부 리소스를 사용하는 경우 반드시 닫아줘야 함.기존에는 finally 블록에서 close()를 호출해야 했지만, try-with-resources를 사용하면 자동으로 리소스를 닫아줌.사용 방법리소스를 try 괄호 안에서 선언하면, try 블록이 끝날 때 자동으로 close()가 호출된다.기본 문법try (리소스 선언) { // 리소스를 사용하는 코드} catch (예외) { // 예외 처리 코드}예제 1: 파일 읽기 (FileInputStream)import java...

개발/자바 2025.02.17
728x90