자바 면접 지식 정리
1.==연산 자 는 기본 데이터 유형 에 대해 그 값 을 비교 하 는 것 이 고 대상 에 대해 서 는 비교 대상 의 첫 번 째 주소 이다.
2.대상 내용 을 비교 할 때 equals 방법 을 사용 해 야 합 니 다.이 방법 을 다시 쓴 클래스,예 를 들 어 String 등 기본 적 인 유형 에 대해 서 는 다시 쓸 필요 가 없습니다.Object 를 계승 하 는 클래스 를 사용자 정의 할 경우 equals 방법 을 다시 써 야 합 니 다.equals 방법 을 다시 불 러 오 는 이 유 는?-Object 의 equals 방법 은 기본적으로 두 대상 의 인용 비교 이기 때 문 입 니 다.같은 메모리,주소 가 같 음 을 가리 키 는 것 입 니 다.대상 안의 값 을 이용 하여 같은 지 여 부 를 판단 하려 면 equals 방법 을 다시 불 러 와 야 합 니 다.
3.hashCode 는 대상 이나 변수 가 해시 알고리즘 을 통 해 계 산 된 해시 값 입 니 다.hashCode 방법 이 있 는 이 유 는 대량의 이미지 비교 에서 hashCode 는 equals 보다 빠 르 고 많은 집합 이 equals 보다 빠 르 기 때 문 입 니 다.많은 집합 은 hashCode 를 사 용 했 습 니 다.예 를 들 어 HashTable 입 니 다.
내부 클래스 가 무엇 인지,내부 클래스 의 역할 이 무엇 인지,하 나 를 다른 클래스 나 하나의 방법 에 정의 하 는 것 을 내부 클래스 라 고 한다.구성원 내부 클래스 부분 내부 클래스 정적 내부 클래스 익명 내부 클래스
4.567917.내부 류 는 여러 개의 인 스 턴 스 를 사용 할 수 있 고 모든 인 스 턴 스 는 자신의 상태 정 보 를 가지 고 다른 외곽 대상 의 정보 와 서로 독립 할 수 있다
4.567917.하나의 외곽 류 에서 여러 내부 류 가 서로 다른 방식 으로 같은 인 터 페 이 스 를 실현 하거나 같은 종 류 를 계승 할 수 있다
4.567917.내부 클래스 대상 을 만 드 는 시간 은 외곽 클래스 대상 의 생 성 에 의존 하지 않 습 니 다
4.567917.내부 유형 은 사람 을 현혹 시 키 는'is-a'관계 가 없고 그 는 독립 된 실체 이다
4.567917.내부 류 는 더 좋 은 포장 을 제 공 했 고 이 외곽 류 를 제외 하고 다른 류 는 방문 할 수 없다final-finally-finalize 구별
Final 은 구성원,방법,클래스 finally 이상 처리 키 워드 를 수식 할 수 있 습 니 다.finally 의 주 체 는 항상 클래스 의 Finalize 방법 을 실행 합 니 다.쓰레기 회수 기 가 실행 하 는 동작 을 알려 주 고 대상 을 삭제 하기 전에 쓰레기 회수 기 가 이 대상 의 Finalize 방법 을 호출 할 수 있 습 니 다.
스 레 드 를 여 는 세 가지 방식
/**
* Thread
*/
private static void threadTemp() {
for (int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName() + " : " + i);
if (i == 20) {
/* Thread */
new FirstThreadTest("FirstThreadTest1").start();
new FirstThreadTest("FirstThreadTest2").start();
}
}
}
/**
* Runnable
*/
private static void runnableTemp() {
for (int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName() + " : " + i);
if (i == 20) {
/* Runnable */
RunnableThreadTest rts = new RunnableThreadTest();
new Thread(rts, " 1").start();
new Thread(rts, " 2").start();
}
}
}
/**
* Callable Future
* 1: Callable , call , call
* 2: Callable , FutureTask Callable ,
* FutureTask Callable call
* 3: FutureTask Thread target
* 4: FutureTask get
*/
private static void callTemp() {
CallableThreadTest ctt = new CallableThreadTest();
FutureTask ft = new FutureTask<>(ctt);
for (int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName() + " i " + i);
if (i == 20) {
new Thread(ft, " ").start();
}
}
try {
System.out.println(" : " + ft.get());
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
/*================ Callable Future ================*/
static class CallableThreadTest implements Callable {
@Override public Integer call() throws Exception {
int i = 0;
for (; i < 100; i++) {
System.out.println(Thread.currentThread().getName() + " " + i);
}
return i;
}
}
자바 범 형 알 아 요?운영 체제 알 아 요?쉽게 말 하면 범 형 은 매개 변수 화 유형 1.범 형 은 매개 변수 화 능력 을 제공 하여 데이터 의 유형 이 매개 변수 처럼 들 어 갈 수 있 도록 한다.2.그 당시 데이터 형식 이 확정 되 었 을 때 유형 검사 체 제 를 제공 하고 똑 같은 데이터 형식 으로 만 전송 할 수 있 으 며 그렇지 않 으 면 컴 파일 할 때 오류 가 발생 할 수 있 습 니 다.3.코드 의 가 독성 을 향상 시 키 고 코드 가 실 행 될 때 형식 변환 을 하지 않 아 도 됩 니 다.코드 를 작성 할 때 프로그래머 가 데이터 형식 을 정확하게 전달 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.