Java 인터뷰 지식 포인트
1. Java 파일은 JVM에 의해 바이트코드 파일, 즉 .class 파일로 컴파일됩니다. 바이트코드 파일은 기계어 코드 파일로 컴파일됩니다. 이것은 Java 크로스 플랫폼
2입니다. 먼저 Java의 GC 재활용이 완전히 자동이라는 점을 분명히 하세요. 모든 메모리 할당 및 재활용 권한에 대한 관련 API가 없습니다. 개발자의 손에 가비지 수집을 강제할 수 있는 절대적인 방법은 없지만 다음과 같이 할 수 있습니다.
1) 더 이상 참조되지 않는 객체의 경우 참조를 다음에 할당합니다. 적시에 null입니다. obj = null;
2) 메모리가 너무 부족하면 System.gc() 메서드를 호출하여 가비지 수집기가 가비지 수집을 시작하고 GC에 실행하도록 알리도록 제안하지만 Java 언어 사양은 GC가 반드시 구현된다는 보장은 없습니다.
3、Java 기본 유형의 기본값 및 값 범위
정수형 바이트(1바이트) short(2바이트) int(4바이트) long( 8바이트)
문자형 char(2바이트)
부동 소수점형 float(4바이트) double(8바이트)
#🎜🎜 #
4. 공통 문자의 ASCII 코드 값은 다음과 같습니다. 공백의 ASCII 코드 값은 0부터 9까지의 숫자입니다. 대문자 "A"부터 "Z"까지는 각각 65부터 90이고, 소문자 "a"부터 "z"까지의 ASCII 코드 값은 각각 97부터 122입니다.
5. Java 식별자에는 다음과 같은 명명 규칙이 있습니다. 1) 영문 대소문자 26자, 숫자 0~9, 기호로 구성됩니다. : _ $ PY 구성 2) 식별자는 _ 및 $ 문자로 시작해야 합니다. 3) 식별자는 키워드가 될 수 없습니다.
6、추상 클래스 및 인터페이스 1) 추상 클래스 정보 JDK 1.8 이전에는 추상 클래스의 기본 액세스 권한이 메소드는 보호됩니다 JDK 1.8부터는 추상 클래스 메소드의 기본 접근 권한이 기본값이 됩니다 2) 인터페이스에 대하여 JDK 1.8 이전에는, 인터페이스 메소드는 공개여야 합니다 JDK 1.8의 경우 인터페이스의 메소드는 공개 또는 기본값일 수 있습니다 JDK 1.9의 경우 인터페이스의 메소드는 비공개일 수 있습니다 # 🎜🎜#7, boxing and unboxing
기본 데이터 유형은 boxing을 통해 패키징 클래스로 변환됩니다(예: int --> Integer).
래퍼 클래스를 기본 데이터 유형으로 변환하는 것은 unboxing입니다(예: Integer --> int).
래퍼 클래스는 참조 유형이고 기본 데이터 유형은 값 유형입니다.
boxing 및 unboxing 작업을 통해 값 유형과 참조 유형 사이에 브리지를 구축할 수 있습니다. 즉, 값 유형과 참조 유형을 서로 쉽게 변환할 수 있고, boxing과 unboxing을 통해 시스템을 통일적으로 검사할 수 있으며, 궁극적으로 어떤 유형의 값이라도 객체로 처리할 수 있습니다.
8, 직렬화 및 역직렬화Java는 직렬화 중에 정적 변수와 임시 수정 변수를 인스턴스화하지 않습니다. 정적 변수는 멤버 클래스를 나타내고 임시는 임시를 나타내기 때문입니다. 객체의 데이터이며 이 두 가지 유형의 데이터 멤버는 직렬화할 수 없다고 선언됩니다
9. Java에는 값 전송과 참조 전송이라는 두 가지 전송 방법이 있습니다. 기본 유형과 문자열 str = "aaa";로 생성된 유형은 모두 값으로 전달됩니다. 객체 생성 및 배열은 모두 참조로 전달되므로 함수의 형식 매개변수를 판단할 때 특별한 주의가 필요합니다.10. Java 가비지 수집 메커니즘
가비지 수집은 스택 영역의 메모리가 스레드와 함께 해제되기 때문에 주로 힙 영역을 재활용하는 것을 목표로 합니다. . 힙은 Young Generation, Old Generation, Permanent Generation(메소드 영역)의 세 가지 영역으로 구분됩니다.
1) Young 세대: 객체가 생성(new)되면 일반적으로 Young에 배치되고(상대적으로 큰 메모리를 차지하는 일부 객체 제외), 일정량의 Minor GC( Young Generation을 위한 메모리 재활용) ) 아직 살아있는 객체는 Old Generation으로 이동됩니다(일부 구체적인 이동 세부 사항은 생략됨).
2) 구세대 : 위에서 언급한 젊은 세대가 이동한 것과 좀 더 큰 개체입니다. Major GC(FullGC)는 Old Generation을 수집하기 위한 것입니다.
3) 영구 생성: 최종 상수, 정적 변수, 상수 풀을 저장합니다.
11. 패키지 참조Import java.util.* ;
java/util 디렉토리의 모든 클래스에 액세스할 수 있습니다. java/util 하위 디렉터리의 모든 클래스에 액세스할 수 없습니다
12 생성자는 상속될 수 없으며 생성자는 명시적으로 또는 암시적으로만 호출할 수 있습니다. (이것은 인삼이 있든 없든 마찬가지입니다)13. 파일은 텍스트 파일과 바이너리 파일로 구분됩니다. 컴퓨터는 바이너리만 이해하므로 실제로는 바이너리를 해석하는 방식이 다릅니다. 텍스트 파일은 Ascii, Unicode 등과 같은 다양한 인코딩 형식으로 표시되는 문자입니다. 창에 표시되는 텍스트 파일의 접미사 이름에는 ".txt", ".log", 다양한 프로그래밍 언어의 소스 코드 파일 등이 포함됩니다. 바이너리 파일은 텍스트 문서를 열 때 왜곡된 문자를 읽을 수 없습니다. 텍스트로 열 수 있는 파일이라면 텍스트 파일로 간주할 수 있지만 표시되는 결과는 원하는 결과가 아닙니다. ".png", ".bmp" 등과 같은 특수 응용 프로그램으로 읽으면 컴퓨터에 있는 대부분의 파일은 여전히 바이너리 파일입니다
14 try는 런타임 예외 처리에만 적합하며 try+catch는 적합합니다. 런타임 예외 + 일반 예외 처리용. 즉, catch를 사용하지 않고 try만 사용하여 일반 예외를 처리하면 컴파일이 통과되지 않습니다. 왜냐하면 컴파일러는 일반 예외가 catch되는 경우 추가 처리를 위해 catch를 사용하여 명시적으로 선언해야 한다고 엄격하게 규정하기 때문입니다. 컴파일 타임에는 런타임 예외에 대한 조항이 없으므로 catch를 생략할 수 있습니다. 컴파일러가 catch를 추가하는 것은 이해할 수 있습니다.
15. 파이프
파이프에는 다음과 같은 유형이 있습니다.
① 일반 파이프(PIPE): 일반적으로 두 가지 제한 사항이 있습니다. 즉, 한 방향으로만 전송할 수 있습니다. 즉, 아버지와 아들 간의 과정(또는 혈연으로 연결된 과정 사이)에 자주 사용됩니다.
②스트림 파이프(s_pipe): 위에서 언급한 첫 번째 제한 사항이 제거되고 양방향 전송이 구현됩니다.
③ Named Pipe(name_pipe): 위에서 언급한 두 번째 제한 사항을 제거하고 혈연 관계가 없는 서로 다른 프로세스 간의 통신을 구현합니다.
요구 사항은 서로 다른 서버 간의 통신이 전이중 형식이어야 하며 파이프라인은 양방향일 수 있지만 동시에 한 방향으로만 전송할 수 있다는 것입니다. 이중과 반이중의 차이점은 다음과 같이 이해할 수 있습니다.
추천 튜토리얼: Java 소개 동영상
원본 주소: https://blog.csdn.net/qq_33945246 /기사/세부정보/ 90040041
위 내용은 Java 인터뷰 지식 포인트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Java의 난수 생성기 안내. 여기서는 예제를 통해 Java의 함수와 예제를 통해 두 가지 다른 생성기에 대해 설명합니다.

Java의 Weka 가이드. 여기에서는 소개, weka java 사용 방법, 플랫폼 유형 및 장점을 예제와 함께 설명합니다.

Java의 Smith Number 가이드. 여기서는 정의, Java에서 스미스 번호를 확인하는 방법에 대해 논의합니다. 코드 구현의 예.

이 기사에서는 가장 많이 묻는 Java Spring 면접 질문과 자세한 답변을 보관했습니다. 그래야 면접에 합격할 수 있습니다.

Java 8은 스트림 API를 소개하여 데이터 컬렉션을 처리하는 강력하고 표현적인 방법을 제공합니다. 그러나 스트림을 사용할 때 일반적인 질문은 다음과 같은 것입니다. 기존 루프는 조기 중단 또는 반환을 허용하지만 스트림의 Foreach 메소드는이 방법을 직접 지원하지 않습니다. 이 기사는 이유를 설명하고 스트림 처리 시스템에서 조기 종료를 구현하기위한 대체 방법을 탐색합니다. 추가 읽기 : Java Stream API 개선 스트림 foreach를 이해하십시오 Foreach 메소드는 스트림의 각 요소에서 하나의 작업을 수행하는 터미널 작동입니다. 디자인 의도입니다

Java의 TimeStamp to Date 안내. 여기서는 소개와 예제와 함께 Java에서 타임스탬프를 날짜로 변환하는 방법에 대해서도 설명합니다.

Java는 초보자와 숙련된 개발자 모두가 배울 수 있는 인기 있는 프로그래밍 언어입니다. 이 튜토리얼은 기본 개념부터 시작하여 고급 주제를 통해 진행됩니다. Java Development Kit를 설치한 후 간단한 "Hello, World!" 프로그램을 작성하여 프로그래밍을 연습할 수 있습니다. 코드를 이해한 후 명령 프롬프트를 사용하여 프로그램을 컴파일하고 실행하면 "Hello, World!"가 콘솔에 출력됩니다. Java를 배우면 프로그래밍 여정이 시작되고, 숙달이 깊어짐에 따라 더 복잡한 애플리케이션을 만들 수 있습니다.
