1. JVM은 어떤 상황에서 GC 전략을 수행하나요? 애플리케이션이 새 객체를 할당할 때 GC 세대의 예산 크기가 임계값에 도달했습니다. 예를 들어 0세대 GC가 가득 찼을 때 코드는 System.GC.Collect()를 적극적이고 명시적으로 호출합니다. 시스템에서 메모리 부족, CLR 언로드 AppDomain, CLR 종료를 보고하고 일부 극단적인 경우 시스템 매개변수 설정 변경으로 인해 GC 재활용이 발생할 수도 있습니다
2, OutOfMemoryError 및 StackOverflow란 무엇입니까? 스택을 확장할 때 가상 머신이 충분한 메모리 공간을 적용할 수 없는 경우 OutOfMemoryError 예외가 발생합니다. 이는 일반적으로 배열, ArrayList, HashMap 등과 같이 적용되는 데이터의 양이 너무 커서 발생합니다.
스레드에서 요청한 스택 깊이가 가상 머신에서 허용하는 최대 깊이보다 크면 StackOverflowError 예외가 발생합니다. 이는 일반적으로 많은 수의 재귀 작업으로 인해 스택 메모리가 부족하기 때문입니다.
일반적으로 단일 스레드 프로그램에서는 OutOfMemoryError 예외가 발생할 수 없습니다. 스택이 스레드 전용이므로 OutOfMemoryError는 다중 스레딩 메서드를 사용할 때도 발생하며 스레드가 많으면 메서드 영역이 오버플로됩니다
3. JVM스택 공간을 너무 많이 할당하면 어떤 문제가 발생합니까?
4. JVM에서 무한 루프 및 교착 상태를 감지하는 방법 교착상태:
무한 루프:
5. 설명BIO, NIO, NIO2, AIO
6. NIO 패키지에서 Poll과 Select의 차이점은 무엇인가요?
7, HTTP/1.1 기본
8. TCP 프로토콜의 3번의 악수와 4번의 파동
위 내용은 자바 면접 질문과 답변 (4)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!