면접 실습 의 총화.
4935 단어 면접시험
단일 디자인 모델
1. 배 부 른 남자 모드
public class Singleton {
public static Singleton instance=new Singleton();
private Singleton(){}; // ,
public static Singleton getInstance(){
if(instance==null){
instance = new Singleton();
}
return instance;
}
}
배 부 른 모드 는 다 중 스 레 드 에 적용 되 지 않 습 니 다. 예 를 들 어 스 레 드 A 가 인 스 턴 스 를 얻 으 려 면 인 스 턴 스 가 비어 있 고 스 레 드 B 도 인 스 턴 스 를 예화 해 야 합 니 다. 이때 두 개의 인 스 턴 스 대상 이 있 습 니 다.
2. 배 고 픔 모드
public class Singleton {
public static Singleton instance=null;
private Singleton(){};
public static synchronized Singleton getInstance(){
if(instance==null){
instance = new Singleton();
}
return instance;
}
}
배 고 픔 모드 와 배 부 른 땀 모드 의 유일한 차 이 는 synchronized 를 추가 하 는 것 입 니 다. synchronized 를 더 한 후에 스 레 드 의 상호 배척 방문 getInstance () 방법 을 실현 하여 스 레 드 안전 을 확보 하 는 것 입 니 다.
synchronized 는 스 레 드 가 synchronized 수식 을 호출 하 는 방법 을 말 합 니 다. synchronized 는 현재 대상 을 잠 그 고 싶 은 다른 대상 은 현재 대상 synchronized 가 수 정 된 코드 를 기다 리 고 있 습 니 다.
-------------------------
질문
스 레 드 1, 스 레 드 2 에 AB 자물쇠 가 두 개 있 습 니 다.스 레 드 1 라인 A 잠 금 후 B 잠 금, 스 레 드 2 먼저 B 잠 금 후 A 잠 금 을 잠 그 고 동시에 진행 합 니 다.
wait 가 대응 하지 않 으 면 notify 도 잠 금 이 생 길 수 있 습 니 다.
3. 다 중 스 레 드 wait sleep 차이
sleep Thread 류 의 정적 방법 입 니 다. sleep (xxx) 는 스 레 드 를 휴면 시 키 는 xx millis 밀리초 에 사용 되 지만 대상 자 물 쇠 는 여전히 존재 합 니 다 (자 도 자 물 쇠 를 안 고 있 습 니 다)
wait 는 object 류 의 방법 입 니 다. wait 호출 후 잠 겨 있 는 스 레 드 는 잠 금 을 잠시 포기 하고 다른 스 레 드 가 notify 방법 을 호출 할 때 까지 잠 금 을 계속 빼 앗 습 니 다.
wait 자신 이 호출 할 때 다른 스 레 드 를 깨 우 는 데 사용 할 notify / notifyall 을 설정 해 야 합 니 다.
동기 화 구현 용 synchronized 혹은 wait 결합 notify
4. 자바 시 뮬 레이 션 스 택 의 실현
public class ArrayStack { Object [] array; int top; int size; int count; public ArrayStack(int size){ this.size = size; this.top=-1; // ++ 0 this.count=0; array = new Object[size]; } /** * */ public void push(Object obj){ if(isFull()){ System.out.println(" , "); return ; }else{ top++; count++; this.array[top]=obj; } } /** * */ public Object pop(){ if(isEmpty()){ System.out.println(" , "); } count--; return this.array[--top]; } /** * */ public boolean isEmpty(){ return this.count==0; } /** * */ public boolean isFull(){ return this.count==size; } }
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
면접 에서 자바 SE 와 관련 된 몇 가지 큰 문제인터페이스 라 는 것 은 바로 시스템 류 (구조) 디자인 에 대한 고려 를 바탕 으로 하 는 것 이다.시스템 은 보통 여러 모듈 을 설계 해 야 한다. 여러 모듈 간 의 결합 관 계 는 보통 인터페이스 로 연결 되 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.