>  기사  >  Java  >  Java 최신 기초 지식 인터뷰 질문

Java 최신 기초 지식 인터뷰 질문

angryTom
angryTom앞으로
2019-11-13 17:51:061842검색

Java 최신 기초 지식 인터뷰 질문

최신 Java 기본 지식 면접 질문

1. 정적 키워드는 무엇을 의미하나요? Java에서 개인 또는 정적 메소드를 대체할 수 있습니까?

"정적"은 멤버 변수나 멤버 메서드가 속한 클래스의 인스턴스 변수 없이 액세스할 수 있음을 나타냅니다.

Java의 정적 메서드는 메서드 재정의가 런타임 시 동적 바인딩을 기반으로 하는 반면 정적 메서드는 컴파일 시 정적으로 바인딩되므로 재정의할 수 없습니다. 정적 메서드는 클래스의 인스턴스와 연결되지 않습니다.

Java에서는 개인 메소드를 재정의할 수 없습니다. Private 변수와 메소드는 현재 클래스에서만 사용할 수 있기 때문에 다른 클래스가 현재 클래스를 상속받는 경우 상속받은 클래스에서는 Private 변수와 메소드에 접근할 수 없습니다.

2. 정적 환경에서 non-static 변수에 접근할 수 있나요? ?

안 돼요. 정적 변수는 클래스에 속합니다. 가상 머신이 클래스를 로드하면 정적 변수가 초기화됩니다. 비정적 변수는 인스턴스에 속합니다. 이때 인스턴스가 생성되지 않았으며 컴파일러에서 오류를 보고합니다. 3. Java 기본 유형, 자동 언박싱이란 무엇입니까?

기본 유형: byte, short, int, float, long, double, boolean, char

Autoboxing: Java 컴파일러는 기본 유형과 해당 객체 패키징 유형 간의 변환을 수행합니다. 예를 들어 int를 Integer 등으로 변환합니다. 반대로 자동 언박싱입니다

4. 자바 메소드 오버라이딩과 메소드 오버로딩이 무슨 뜻인가요?

Java에서 메서드 오버로드는 동일한 클래스에 이름은 같지만 매개변수가 다른 두 개 이상의 메서드가 있을 때 발생합니다. 메소드 오버라이딩(Method Overriding)은 하위 클래스가 상위 클래스를 재정의하는 방법입니다. 메소드 재정의는 메소드 이름, 매개변수 목록 및 반환 유형이 동일해야 합니다.

5. Java에서 생성자 메소드란 무엇입니까? 생성자 오버로딩이란 무엇입니까? 복사 생성자란 무엇입니까?

새 객체가 생성되면 생성자가 호출됩니다. 각 클래스에는 생성자가 있습니다. 클래스에 생성자가 제공되지 않으면 컴파일러는 자동으로 기본 생성자를 생성합니다. Java의 생성자 오버로딩과 메서드 오버로딩은 매우 유사합니다. 클래스에 대해 여러 생성자를 만들 수 있으며 각 생성자는 고유한 매개 변수 목록을 가져야 합니다

6. Java는 다중 상속을 지원합니까?

지원되지 않습니다. 단일 상속만 지원됩니다. 즉, 클래스에는 상위 클래스가 하나만 있습니다. 구현을 사용하여 여러 인터페이스 확장을 구현할 수 있습니다

7. 인터페이스와 추상 클래스의 차이점

1. 인터페이스의 모든 메서드는 암시적으로 추상입니다. 추상 클래스에는 추상 메소드와 비추상 메소드가 모두 포함될 수 있습니다

2. 인터페이스에 선언된 변수는 기본적으로 최종 변수이지만 추상 클래스에는 최종이 아닌 변수가 포함될 수 있습니다

3. 기본적으로. 추상 클래스의 멤버 함수는 private, protected 또는 public

4일 수 있습니다. 클래스는 추상 클래스 및 인터페이스 선언의 모든 메서드를 구현할 필요가 없습니다. 이 경우 클래스도 abstract

으로 선언해야 합니다. jdk와 jre의 차이점은 무엇입니까?

자바 런타임 환경(jre)은 실행되는 자바 프로그램의 자바 가상 머신으로, 애플릿 실행에 필요한 브라우저 플러그인도 포함되어 있습니다. Java 개발 키트(jdk)는 개발자가 Java 애플리케이션을 개발, 컴파일 및 실행할 수 있도록 하는 jre, 컴파일러 및 기타 도구(예: javadoc, Java 디버거)를 포함하는 완전한 Java 소프트웨어 개발 패키지입니다

9, 가치란 무엇입니까? 전송 및 참조 전송?

값 전송은 기본 유형 변수에 대한 것이며 전송은 변수의 복사본이므로 복사본을 변경해도 원래 변수에는 영향을 미치지 않습니다.

참조 전송은 일반적으로 객체 유형 변수에 대한 것이며 전송은 변수의 복사본입니다. 객체 주소를 변경하면 원래 변수에 영향을 미칩니다

10. 프로세스와 스레드의 차이점은 무엇인가요?

프로세스는 실행 중인 애플리케이션이고 스레드는 프로세스 내의 실행 시퀀스입니다. 프로세스는 여러 스레드를 가질 수 있습니다.

차이점:

1. 주소 공간 및 기타 리소스: 프로세스는 서로 독립적입니다. 동일한 프로세스의 스레드 간에 공유됩니다. 프로세스의 스레드는 다른 프로세스에서 볼 수 없습니다

2. 통신: 프로세스 간 IPC 통신, 스레드는 통신을 위해 프로세스 데이터 세그먼트(예: 전역 변수)를 직접 읽고 쓸 수 있습니다. 데이터 일관성을 보장하려면 프로세스 동기화 및 상호 배제의 지원이 필요합니다

3 스케줄링 및 전환: 컨텍스트 간 전환. 스레드는 프로세스 컨텍스트 전환보다 훨씬 빠릅니다

4. 멀티 스레드 OS에서는 프로세스가 실행 가능한 개체가 아닙니다

11. 동기화 방법과 동기화 코드 블록의 차이점

기본 동기화 방법은 다음을 사용하거나 현재 클래스 객체를 잠금으로

동기화 코드 블록은 무엇을 잠글지 선택할 수 있으며 이는 동기화 방법보다 더 세밀합니다. 전체 방법이 아닌 동기화 문제를 일으키는 코드 부분만 동기화하도록 선택할 수 있습니다

12. 교착 상태

교착 상태는 외부 힘이 없으면 여러 스레드로 인해 발생하는 교착 상태입니다. 앞으로 나아갈 수 있습니다. 교착 상태에 필요한 4가지 조건

1. 상호 배제 조건

2. 박탈 조건 없음

3. 요청 및 보류 조건

4.

13. 교착 상태를 일으키지 않고 N 스레드가 N 리소스에 액세스할 수 있도록 하는 방법은 무엇입니까?

교착 상태를 방지하는 매우 간단한 방법: 잠금을 획득하는 순서를 지정하고 스레드가 지정된 순서대로 잠금을 획득하도록 합니다. 따라서 모든 스레드가 동일한 순서로 잠금 및 잠금을 해제하면 교착 상태가 발생하지 않습니다

14. Java 컬렉션 클래스 프레임워크의 기본 인터페이스는 무엇입니까?

Collection, Set, List, Map

15. HashMap 작동 방식

hashMap은 키-값 쌍의 형태로 저장됩니다. Hashmap에는 hashCode 및 equals 메서드를 사용하여 컬렉션에 요소를 추가하고 검색하는 해시 함수가 필요합니다. put이 호출되면 HashMap은 키의 해시 값을 계산하고 키-값 쌍을 컬렉션의 적절한 인덱스에 저장합니다. 키가 이미 존재하는 경우 값이 새 값으로 업데이트됩니다. hashMap의 몇 가지 중요한 기능은 용량, 로드 비율 및 확장 제한입니다.

16. 해시코드와 같음의 중요성은 어디에 있습니까?

hashmap은 해시코드와 같음을 통해 키-값 쌍 인덱스를 결정합니다.

17. 해시테이블의 차이점은 무엇인가요?

hashmap은 키와 값이 null이 되는 것을 허용하고, hashtable은 키와 값이 null이 되는 것을 허용하지 않습니다.

hashtable은 동기화되지만 hashmap은

php가 아닙니다. 중국 웹사이트, 다수의 무료 Java 입문 tutorials, 온라인 학습에 오신 것을 환영합니다!

위 내용은 Java 최신 기초 지식 인터뷰 질문의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jianshu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제