본문 바로가기

java/basic5

스택 트레이스와 예외 포함의 중요성 Stack Trace란?● 프로그램이 예외를 던질 때 예외가 어디서 발생했고, 어떤 경로를 거쳐 호출되었는지 알려주는 로그 정보 ● 어떤 메서드에서 예외가 발생했고 그 메서드를 누가 호출 했는지 계속 따라가는 호출 경로 ● 최근 → 과거 호출 순서대로 쌓인다. [Test worker] ERROR c.f.d.j.exception.basic.CheckedTest -- Internal Server Errorjava.sql.SQLException: db error at com.futuregoing.dbaccessv1.jdbc.exception.basic.CheckedTest$Repository.call(CheckedTest.java:31) at com.futuregoing.dba.. 2025. 6. 10.
자바 예외 이해하기 (체크 예외, 런타임 예외) 예외 클래스 계층도Object● 자바에서 모든 객체의 최상위 부모는 Object이다. ● 예외도 객체이므로 예외의 최상위 부모도 Object이다. Throwable ● throw, throws 키워드로 던질 수 있는 객체는 반드시 Throwable을 상속받아야 한다. ● 하위에 Exception과 Error가 있다. Error● 메모리 부족이나 심각한 시스템 오류와 같이 애플리케이션에서 복구 불가능한 시스템 예외 ● 애플리케이션 개발자는 이 예외를 잡으면 안된다. 예외 처리 시 주의 할 점 ● 상위 예외를 catch로 잡으면 그 하위 예외까지 함께 잡는다. ● Throwable을 예외로 잡으면, 처리하면 안되는 Error 예외도 함께 잡힌다. ● 따라서 애플리케이션 로직에서는 Except.. 2025. 6. 9.
자바 메모리 구조 (스택, 힙, 메서드 ...) Java의 가비지 컬렉션(GC) 메커니즘은 자동으로 메모리를 관리하긴 하지만, 그 과정에서 발생할 수 있는 성능 저하를 최소화하고 고급 기능을 최적화 하기 위해서는 메모리 구조에 대한 지식이 필요하다.1. 메모리 누수나 다른 메모리 관련 문제들은 애플리케이션의 안정성과 성능에 큰 영향을 미칠 수 있다. 2. 메모리 구조에 대한 이해는 이러한 문제들을 효과적으로 진단하고 해결하는 데 도움을 준다. 3. 예를 들어, 특정 객체가 왜 가비지 컬렉션의 대상이 되지 않는지, 혹은 왜 특정 시점에 메모리 사용량이 급증하는지 분석할 수 있다. 4. 고급 Java 기능들, 예를 들어 멀티스레딩, 동시성 컨트롤 등을 사용할 때, 각 기능이 메모리에 어떤 영향을 미치는지 이해하는 것이 중요하다. JVM 메모리 구조 5가지.. 2024. 5. 5.
생성자 객체를 생성하는 시점에 필드 초기화 등 어떤 작업을 하고 싶다면 생성자를 사용한다. 기본 생성자 1. 매개변수가 없는 생성자를 기본생성자라고 한다. 2. 클래스에 생성자가 하나도 없으면 자바 컴파일러는 기본 생성자를 자동으로 만들어 준다. 3. 생성자가 하나라도 있으면 기본 생성자를 만들지 않는다. public class Animal { String name; int age; } Animal animal = new Animal(); 생성자를 정의하지 않았지만 자동으로 만들어주어 사용 가능하다 생성자로 필드 초기화 public class Animal { String name; int age; public Animal(String name, int age) { this.name = name; this.age.. 2024. 4. 13.
자바 클래스, 객체, 인스턴스 클래스 ( Class )1. 객체를 생성하기 위한 템플릿 또는 설계도이다. 2. 특정 유형의 객체들이 공통적으로 가지게 될 속성과 메서드를 정의한다. 3. 즉 데이터와 데이터를 조작하는 방법을 함께 묶는 수단을 제공한다. public class Animal { String name; int age; void introduce() { System.out.println("Animal{" + "name='" + this.name + '\'' + ", age=" + this.age + '}'); }} - Animal 클래스는 이름, 나이 속성을 가진다. - 자바에서는 이를 멤버 변수 또는 필드라 한.. 2024. 3. 31.