Skip to main content

Command Palette

Search for a command to run...

#java

Articles tagged with #java

  1. Java 프로그램이 실행되는 흐름

    자바 프로그램은 단순히 .java 파일을 실행하는 것이 아니라, 컴파일 → 로드 → 실행 이라는 여러 단계를 거쳐 최종적으로 CPU 가 이해할 수 있는 기계어로 변환됩니다. 이 과정에서 JDK, JVM, JRE가 각각 어떤 역할을 하는지 이해하는 것이 중요합니다. 1. 소스 코드 작성과 컴파일 개발자는 자바 소스 파일(.java)을 작성 JDK 에 포함된 javac (Java Compiler)가 소스 코드를 컴파일 하여 JVM이 이해할 수...

    Aug 21, 20252 min read7
  2. Java Collection Framework

    컬렉션 프레임워크(Collection Framework)란? 자바에서 컬렉션 프레임워크란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스와 인터페이스 집합입니다. 즉, 데이터를 저장하는 자료구조과 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현한 것입니다. 모든 컬렉션 프레임워크는 자바의 인터페이스를 기반으로 구현됩니다. JFC(Java Collection Framework)의 도입 배경 JCF 이전에는 ...

    Aug 14, 20254 min read2
  3. 자료구조 Trie

    Trie란? Trie는 문자열 탐색에 특화된 트리 기반의 자료구조로, Prefix Tree(접두사 트리) 라고도 불립니다. 문자열의 접두사(prefix)를 기준으로 구조화되어 있기 때문에, 자동완성, 사전 검색, 검색 최적화 등에서 널리 활용됩니다. 아래의 Trie에 들어있는 문자열 apple, april, bus, busy, beer, best 주요 특징 각 노드는 문자열의 한 글자를 저장 루트 노드는 빈 문자열을 나타냄 같은 접두사를...

    Aug 7, 20253 min read1
  4. Java에서 Object를 String 으로 변환할 때 주의할 점

    Java에서 Object 타입의 value를 String으로 변환할 때는 보통 두 가지 방식이 사용됩니다. 명시적 타입 캐스팅 String.valueOf(value) 메서드 각 방식은 동작 방식과 안정성 면에서 중요한 차이가 있습니다. 1. 명시적 타입 캐스팅 전제 조건: value가 반드시 String 타입이어야 함. 그렇지 않으면 ClassCastException이 발생함. 예시 Object value = "hello"; ...

    Aug 7, 20252 min read2
  5. Java에서 String이 불변(Immutable)인 이유

    Java에서 String은 **불변 객체(Immutable Object)**입니다. 즉, 한 번 생성된 String 객체는 내부 상태를 변경할 수 없습니다. Java의 창시자 제임스 고슬링(James Gosling)은 다음과 같이 말했습니다. “가능하면 언제나 불변 객체를 사용하라.” 그 이유로는 캐싱, 보안, 재사용성, 동기화, 성능 향상 등을 언급했죠. 이번 포스팅에서는 왜 String이 불변으로 설계되었는지, 그리고 리터럴과 생성자의 ...

    Aug 6, 20253 min read6
  6. try-with-resources란?

    Java에서는 파일, 소켓, DB커넥션 등 외부 자원을 사용할 경우 반드시 사용 후 자원을 닫아줘야 합니다. 그렇지 않으면 메모리 누수, 파일 잠금, 성능 저하 등의 문제가 발생할 수 있습니다. 이를 안전하고 간결하게 처리할 수 있도록 Java 7부터 도입된 문법이 바로 try-with-resources 입니다. 기존 방식의 한계 그동안은 아래처럼 try-catch-finally 구문을 사용해 닫는 방식이 일반적이었습니다. BufferedRe...

    Aug 6, 20252 min read1