면접문제 정리노트(一)
3986 단어 면접 문제
Array List와 Linked List는 어떤 차이가 있습니까?ArrayList는 동적 배열 기반의 데이터 구조를 실현하고LinkedList는 체인 테이블의 데이터 구조를 바탕으로 한다.2. get과 set에 무작위로 접근하는 것에 대해 Array List는 링크드 List보다 낫다고 생각한다. 왜냐하면 링크드 List는 바늘을 움직여야 하기 때문이다.3. 새로운 작업과 삭제 작업add와remove에 대해 LinedList가 비교적 우세하다. 왜냐하면 ArrayList가 데이터를 이동해야 하기 때문이다.이 점은 실제 상황을 보아야 한다.단일 데이터만 삽입하거나 삭제하면 ArrayList의 속도는 오히려 LinkedList보다 빠릅니다.그러나 대량의 무작위 삽입 삭제 데이터를 대량으로 삽입하면LinkedList의 속도는 ArrayList보다 훨씬 빠르다.
클래스의 실례화 순서, 예를 들어 부류 정적 데이터, 구조 함수, 필드, 부류 정적 데이터, 구조 함수, 필드, 그들의 실행 순서 클래스의 마운트->링크(검증->준비->해석)->초기화->대상 실례화.
1부류의 정적 초기화역, (주의해야 할 것은 클래스가 초기화되기 전에 클래스가 실례화되었다) 2부류의 정적 초기화역, (구성원 변수 초기화를 먼저 한 다음에 자신의 초기화를 한 다음static 코드 블록의 내용을 실행한다) 3부류의 비정적 초기화역,(은식 구조 코드를 먼저 실행하고 구조 방법의 코드를 실행한다. 여기 은식 구조 코드는 {} 코드 블록의 코드와 실례 구성원 변수 성명의 초기화 코드, 그리고 부류에 대응하는 코드를 포함한다.) 4부류의 구조 함수, 5부류의 비정상적 초기화역, 6부류의 구조 함수
public class TestList { public static void main(String[] args){ T t = new T(“init”); } }
class T implements Cloneable {public static int k = 0; {System.out.println ("첫 줄부터 지금까지 실행");public final static T t1 = new T(“t1”);
public static T t2 = new T("t2");
public static int i = print("i");
public static int n = 99;
public int j = print("j");
{
print(" ");
}
static {
print(" ");
}
; public T(String str) { System.out.println((++k) + “:” + str + ” i=” + i + ” n=” + n); ++n;++ i; }
public static int print(String str){
System.out.println((++k) +":" + str + " i=" + i + " n=" + n);
++n;
return ++ i;
}
첫 줄부터 지금까지 1:j i=0 n=0 2:구조가 빠르다 i=1 n=1 3:t1 i=2 n=2 첫 줄부터 지금까지 4:j i=3 n=3 5: 구조가 빠르다 i=4 n=4 6:t2 i=5 n=5 7:i i=6 8: 정적 블록 i=7 n=99 첫 줄부터 현재 9:j i=8 n=100 101 n=10 init i=102
어떤 맵을 사용했는지, 어떤 차이가 있는지, HashMap은 라인이 안전한지, 그리고 사용한 맵이 무엇인지, 그들의 내부 원리는 각각 무엇인지, 예를 들어hashcode,확장 등HashMap(스레드가 안전하지 않음)Hashtable(스레드가 안전하고 효율이 낮음,concurrentHashMap을 사용하는 것을 권장함)TreeMap(질서정연함)WeakHashMap(캐시 구축, 약한 인용용)ConcurrentHashMap(스레드가 안전하구나,hashtablel,volatile와 writeLock을 결합하여 사용하는 모범,그리고 자물쇠를 입도 분할의 충분한 크기로 분리함)
추상 클래스와 인터페이스의 차이, 클래스는 여러 개의 클래스를 계승할 수 있습니까? 인터페이스는 여러 개의 인터페이스를 계승할 수 있습니까? 클래스는 여러 개의 인터페이스를 실현할 수 있습니까? 추상 클래스 방법은 실현할 수 있습니다. 인터페이스 중의 방법은 성명만 할 수 있고 인터페이스는 여러 개의 인터페이스를 계승할 수 있으며 클래스는 여러 개의 인터페이스를 실현할 수 있습니다.어떤 상황에서 창고 메모리 넘침 스레드 창고에 귀속 호출이 존재하고 사순환 또는 대량의 순환이 존재하며 전역 변수, 호출된 클래스 그룹,list,map이 너무 크다.nio가 무엇인지, 원리 new io,buffer,channel,selector
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 프로그래머 면접에서의 다중 스레드 문제 요약wait ()/notify ()/notify All () 의 모든 방법을 호출할 때, 현재 라인이 이 대상의 자물쇠를 얻지 못하면, Illegal MonitorState Exception의 이상을 던집니다. Thre...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.