1. 자바 예외 메커니즘의 원리와 적용
답변: 프로그램에서 예외가 발생할 때마다 프로그램이 이를 적절하게 처리하지 않으면 프로그램이 중단됩니다.
실제로 예외가 발생한 후 JVM은 예외 클래스의 인스턴스화 객체를 발생시킵니다. 이때 try 문을 사용하여 이를 캡처하면 예외가 처리될 수 있습니다. JVM 처리에 맡겨주세요. try 문이 예외를 포착한 후 catch 문의 예외 유형과 일치합니다. 일치에 성공하면 catch 문의 문이 실행됩니다. 간단한 적용: 모든 throws 문에 try-catch를 추가합니다. 표준 애플리케이션: try-catch-finally-throw-throws와 함께 사용됩니다.
2. 가비지 컬렉션 메커니즘의 장점
답변: 쓸모없는 객체가 차지하는 공간을 해제하세요. 방법: 자동 재활용, 수동 재활용. System.gc()를 사용하여 실제로 Runtime.getRuntime().gc()를 호출합니다.
3. 오류와 예외의 차이점
답변: 오류는 jvm에 의해 처리되며, jvm 오류입니다.
예외는 프로그램에서 처리할 수 있으며 try-catch로 캡처할 수 있습니다.
4. final, finally, finalize
답변: 최종 정의 변수 값을 변경할 수 없고 정의된 메서드를 덮어쓸 수 없으며 정의된 클래스를 상속할 수 없습니다.
finally는 예외에 대한 통합 종료이고 finalize는 가비지 수집 전 마무리 작업이며 다음으로 정의됩니다. 객체 클래스
5. 익명 내부 클래스는 인터페이스를 확장하고 구현할 수 있습니다
답변: 익명 내부 클래스는 추상 클래스 및 인터페이스를 기반으로 개발되므로 상속 및 구현이 허용됩니다
p>
6. Static 중첩 클래스와 내부 클래스의 차이점
답변: Static을 사용하여 정의한 클래스는 외부 클래스이며 내부 클래스를 통해 직접 액세스할 수 있습니다.
그리고 내부 클래스는 외부에서 접근이 불가능할 경우 외부 클래스의 인스턴스를 통해서만 내부 클래스 인스턴스를 찾을 수 있습니다.
7. 해시맵과 해시테이블?
답변: HashMap: 1) jdk 1.2에서 출시됨, 새로운 클래스 2) 비동기 처리, 고성능, 스레드로부터 안전하지 않음 3) null 허용
HashTable:
p>
1) jdk 1.0에서 릴리스, 이전 클래스
2) 동기 처리 사용, 낮은 성능, 스레드로부터 안전함
3) Null은 허용되지 않습니다.
8. 주장은 무엇을 의미하나요?
답변: Asserts는 jdk 1.4 이후에 출시된 새로운 키워드로, Assertion을 의미합니다. 즉, 프로그램이 특정 위치에 실행될 때 예상되는 값이어야 하며 일반적인 개발에서는 거의 사용되지 않습니다. . Assert를 사용하려면 -ea 매개변수를 추가해야 합니다.
9.gc란?
답변: gc는 가비지 수집입니다. gc를 사용하여 가비지 공간을 해제하세요.
10. String s = new String("xyz")에 의해 생성되는 객체는 몇 개입니까?
답변: 스택 공간에 있는 익명 개체 xyz입니다. 힙 공간에 새로 인스턴스화된 개체입니다.
11. sleep() 및 wait()?
답변: sleep()은 스레드의 절전 모드를 나타내며 자동으로 깨어날 수 있는 스레드 클래스 정의 메서드입니다.
p>
wait() 메서드는 Object 클래스에 의해 정의된 메서드입니다. 이 메서드에는 수동으로 inform()이 필요하며 informAll()//sleep()은 리소스를 해제하지 않으며 wait()는 리소스를 해제합니다.
12. 오버로드와 오버라이드의 차이점 p>
답변: 오버로드: 오버로드
|- 클래스에 정의된 여러 메서드
|- 모든 메서드 이름은 동일하지만 매개변수 유형이나 숫자가 다릅니다.
|- 반환 유형이 아닌 매개변수만 관련됩니다.
재정의: 재정의
|- 상속 관계
| - 하위 클래스는 상위 클래스와 동일한 이름을 가진 메소드를 정의하며 매개변수 유형이나 숫자는 정확히 동일해야 합니다.
|- 액세스 권한은 더 제한적일 수 없습니다.
13. 추상 클래스와 인터페이스의 차이점은 무엇입니까?
답변: 추상 클래스:
|-추상 메소드와 상수, 변수, 전역 상수, 생성자 및 일반 메소드로 구성됨
|-추상 선언 사용
|-하위 클래스는 확장을 통해 추상 클래스를 상속해야 합니다. 하위 클래스가 추상 클래스가 아닌 경우 추상 클래스의 모든 추상 메서드를 재정의해야 합니다.
|-제한 사항이 있습니다. 단일 상속
|-추상 클래스는 여러 인터페이스를 구현할 수 있습니다.
인터페이스:
|-추상 메소드와 전역 상수로 구성
|-사용된 인터페이스 키워드
|-하위 클래스는 구현을 통해 인터페이스를 구현해야 합니다. 하위 클래스가 추상 클래스가 아닌 경우 추상 클래스의 모든 추상 메서드를 재정의해야 합니다.
| -하위 클래스는 여러 인터페이스를 구현할 수 있습니다.
|-인터페이스는 추상 클래스를 상속할 수 없지만 여러 인터페이스를 상속하는 것은 허용됩니다.