자바 기반의 면접 질문 수 (rpm)

여기에 수집 된 일부 자바입니다 얼굴 질문 링크는;

http://blog.csdn.net/jackfrued/article/details/44921941

원본 : http://www.cnblogs.com/xdp-gacl/p/3641769.html

도 1에서, "이 된 .java '소스 파일이 다수 포함 여부 클래스 (클래스가 아니라 내부)? 한계는 무엇인가? 

  이 여러 클래스,하지만 단 하나 개의 공용 클래스가 될 수 있고, 공용 클래스 이름은 파일 이름과 일치해야합니다.

2, 자바는 더 고토가 없다? 

   자바는 자바 아무 소용이없는, 말을 소유.

3 차이 & & &에 대한 이야기. 

  양쪽의 발현 연산자의 결과에 해당하는 경우 및 &&과 논리적 AND 연산자로 사용하고, 논리를 나타내고 (그리고) 될 수 있으며, 그 결과는, 그 중 하나가 거짓으로 전체 동작만큼, 그렇지 사실이었다 결과는 false입니다.

  &&도, 즉 제 발현이 거짓 인 경우 제 표현이 더 이상 단락 회로의 기능을 갖는 경우에 대한 예를 들면, STR (! = NULL &&! Str.equals ( "")) 식 STR가 null의 경우에는 NullPointerException이 경우 && 변화 및이 NullPointerException이 던져하지 않게, 후자의 표현은 발생하지 않습니다. 경우를 (X (33) 및 Y ++ == > 0) Y 성장하는 경우 (X == 33 && ++ Y> 0)이 성장하지 않을

  식 양쪽되지 부울 연산자 및 인, 비트 단위 AND 연산을 나타내는 경우 및 비트 연산자는 또한 사용될 수있다 , 우리는 일반적으로 정수 (4)의 최하위 비트를 얻기 위해, 하나 0x0F의로 및 산술 정수 통신에 사용 및 0x31로 회신하는 0x01, 0x0F의 결과로서, 예를 들어 비트. 

4, 스위치 문은 문자열에 작용 여부, 장기에 작용 여부, 바이트에 따라 행동 할 수 있습니까? 

  스위치 (expr1을)에서 expr1을 전용 장비의 기본 유형의 지능이나 정수형 될 수 식 정수, 정수 또는 열거 일정한 표현 될 수 있으므로, 바이트, 짧은 문자 암시 INT로 변환 될 수 있기 때문에, 이러한 유형 및 포장 유형의 이러한 유형도 가능하다. 물론, 긴 문자열 유형 스위치의 구문의 규정에 부합되지 않으며이 스위치 없음 문에 역할을 할 수 있도록 암시 적 int 유형으로 변환 할 수 없습니다. 

(문자열)를 시작 Java7의 expr이 문자열이 될 수에서

5 단 S1 = 1, S1 = S1 + 1, S1 = 1 단;? = S1 + 1 아무것도 문제가, 문제가 아무것도? 

  짧은 S1 들어 = 1, S1 = S1 + 1, 결과는 다음 단락 타입에 할당 INT, S1하므로 S1 + 1 형 동작의 자동 상승 식, 컴파일러 에러 유형을보고 할 것이기 때문에 캐스트 필요 .

  S1 + = 1; 짧은 S1 = 1의 A는 = + 소정의 자바 연산자 때문에, 그것은 정확한 번역 가능한 자바 컴파일러 특별한 치료한다. 

6, 문자 유형 변수는 중국 문자를 저장할 수 있습니까? 왜? 

  숯 형 변수는 유니 코드 문자를 저장하는 데 사용되는, 유니 코드 문자 세트는 이렇게 물론 문자 입력 변수 문자가 저장 될 수있는 문자를 포함한다. 특수 유니 코드 문자가 코드화 된 문자 세트에 포함되지 않은 경우, 다음 문자 유형 변수는 특수 문자를 저장할 수 없습니다 . 부록 : 유니 코드 인코딩 때문에, 숯 형 변수는 2 바이트를 차지하고 점유하는 2 바이트이다.

최종 키워드 변수를 수정하는 경우 (7)는, 기준이 변경된 객체 또는 기준이 변경 될 수없는 될 수 있는가? 

  최종 키워드 변수를 변경할 때, 변경 될 수없는 참조 변수 참조에 콘텐츠 객체 참조 변수 포인트는 여전히 변경 될 수있다 .

  예를 들어, 문 다음의 :

     최종 StringBuffer를 A는 ( "새로운 StringBuffer를을 = 불변");
  다음 문 보고서는 컴파일시 에러를 실행합니다

    A = StringBuffer를 새로운 ( "") ;
  그러나, 다음 내용은 컴파일러에 의해 수행 될 수있다 :

    a.append ( "깨진!"); 

  사람 파라미터 정의 처리는, 내부에있어서 않도록 변형의 형태를 취할 수도 때 파라미터 객체 전달 :

    공공 무효 방법 (최종 된 StringBuffer PARAM) {

    } 

  사실, 그것은 여전히 ​​파라미터 객체를 수정하려면 다음 코드를 추가 할 수있는 방법의 내부에, 불가능하다 :

    param.append ( "A");

8, "=="과 동일 방법의 차이점은 무엇입니까?

  "=="는 연산자 두 값의 데이터가 두 개의 기본 유형을 비교하거나, 동일한 상기 메모리에 저장된 값에 대응하는 변수를 비교하기 위해, 즉 동일한을 비교하기위한 2 개 개의 참조 변수인지 단지 == 연산자와 동일.

  데이터 오브젝트 타입 가변 지점 경우,이 시간은 두 메모리 오브젝트 자체 메모리 (힙 메모리), 메모리 점유 변수가 차지하는 수반 (스택 메모리), 예컨대 오브제 OBJ = 새로운 객체 (); 변수 (OBJ)는, 메모리, 새로운 객체 ()가이 때, 제 2 메모리 인 객체가 메모리의 선두 어드레스를 차지 OBJ 변수에 대응하는 메모리에 기억되어있는 값이다. 두 변수를 비교할 경우 가변형 포인팅 대상의 경우, 동일한 오브젝트를 참조하고, 즉, 그 값이 메모리에 대응하는 2 개 개의 변수에 따라이 동일하며,이 때 필요는 == 연산자와 비교한다 .

  두 사람의 모습과 비교하기 위해 동일한 비율처럼 동일있어서, 동일한 두 개의 객체의 내용을 비교하기 위해 사용 되어질 때 두 물체가 독립적 비교한다 . 예를 들어, 코드를 다음 :

  문자열 a는 새로운 String ( "foo는") =;

  문자열 b를 새로운 String ( "foo는") =;

  두 문장 두 새로운 객체 후, B는 두 개의 변수, 그들은 저장 a와 b의 값, 즉, 첫 번째 주소는 다른 두 개의 서로 다른 객체를 하나 개 객체를 가리이다를 만들 동일하지 않다, 따라서 B == false를 반환 발현이 두 객체의 내용이 동일하므로, 식 a.equals (b)에 true를 반환한다.

  input.equals는 ( "종료"), 많은 사람들이 사용 == 비교하기에 조금 관심이가, 실제 개발에서, 우리는 종종, 문자열 입력 = ... 예를 들어, 내용 여부 등 전달 될 문자열을 비교하려면 잘못된 기억 해당 문자열 비교는 기본적으로이 방법을 동일 사용하고 있습니다.

  클래스가 equals 메소드의 소유가 아닌 정의를 않는 경우,이 방법은 Object 클래스를 상속 동일 클래스의 코드를 다음과 같이 구성되어 개체의 방법과 같다 :

  메소드의 개요 boolean equals (Object o) {

    이 == O 리턴;

  }

  이 쇼 그 클래스는이 시간을 등호의 사용을 기본적으로 또한 두 변수가 객체가 같은 객체인지를 가리 비교 == 연산자를 사용하는 것입니다 (Object 클래스에서 상속) 방법과 동일 방법을 동일 아닌 자신의 정의를 수행하고있는 경우 두 개의 분리 된 객체의 비교는 항상 false를 반환하는 경우, 동일한 결과를 얻을 것이다 == 사용합니다. 해당 클래스에서 만든 개체의 두 인스턴스를 비교 할 수있는 콘텐츠의 종류를 작성하려는 경우, 당신은 두 객체의 내용을 고려 동일 할 수있다 쓰기 코드에 무엇을 결정하는 당신에게 equals 메소드를 오버라이드 (override) 할 필요가 동일합니다.

(9), 정적 변수 및 인스턴스 변수의 차이?

  구문 정의의 차이 : 이전의 정적 변수는 정적 추가하는 키워드를하지만 인스턴스 변수를 추가하기 전에 .

  프로그램 실행 시간의 차이 : 인스턴스 변수는 객체의 속성에 속하는, 당신은 인스턴스 변수는 인스턴스 변수를 사용하기 위해 공간을 할당하는 오브젝트의 인스턴스를 작성해야합니다 . 정적 변수는 개체의 인스턴스에 속하지 않는,하지만 클래스에 속해, 또한, 정적 변수 공간을 할당 할만큼 프로그램이로드 된 바이트 코드 클래스이기 때문에, 객체의 인스턴스를 생성하지 않는, 클래스 변수로 알려져있다, 정적 변수가 될 수 있습니다 사용 . 즉, 인스턴스 변수는 객체가이 객체를 사용하기 전에, 당신이 직접 클래스 이름을 참조하는 정적 변수를 사용하여 작성해야합니다.

  각 개체의 인스턴스를 생성, 그러나 instanceVar 할당됩니다 예를 들어, 다음과 같은 프로그램 객체의 인스턴스가 생성 아무리 만 항상 변수 staticVar을 할당하고, 각 개체의 인스턴스를 생성하고,이 staticVar 1을 추가합니다 즉, 복수의 instanceVar를 부여하고, 각 instanceVar 플러스 1 배의 값으로 할 수있다.

공용 클래스 VariantTest {

  공용 정적 INT의 staticVar = 0; 

  공개 INT instanceVar = 0; 

  공공 VariantTest () {

    staticVar ++;

    instanceVar ++;

    에서 System.out.println ( "staticVar ="+ staticVar + "instanceVar ="+ instanceVar);

  }

}

10, 정적 메소드 내에서 비 ​​정적 메서드를 호출 할 수 있다면?

  하지 않습니다. 때문에 비 정적 방법을 함께 할 개체와 연결되어, 객체를 생성해야합니다 후에는 객체의 메소드를 호출 할 수 있으며, 개체가 직접 호출 할 수있는 정적 메서드 호출을 만들 필요가 없습니다 . 정적 방법, 개체와 연관된되는 비 정적 메서드의 비 정적 메서드 호출을 발행하는 경우 즉, 정적 메소드가 호출 될 때, 객체의 인스턴스를 만들 수 없습니다? 이 논리되도록, 설정할 수없는 내부 정적 메소드가 아닌 정적 발행 할 수 있어서 통화 .

11, 정수 및 INT 차이점

  INT는 Java 의해 제공된 원시 데이터의 8 종류 중 하나이다. 각 원시적 형 패키지 자바 클래스를 제공, 정수 INT는 패키지 자바 클래스를 제공하는 것입니다. INT 기본값은 0이며, 정수 기본값은 INT는 할당없이 표현할 수, 정수 할당하고 0이 아닌 값 사이의 차이를 구별 할 수는 null입니다 하지 표현 시험과 시험에 응시하기 위해, 예를 들어, 차이에 대한 0 결과 만 정수를 사용할 수 있습니다. JSP로 개발에서 기본 정수가 엘 표현 텍스트 상자를 표시하는 빈 문자열, INT 기본 및 기본 값이 0 인 경우에 사용되는, null의 경우, 표현 엘 시간 텍스트 상자에 표시, 결과는 INT 형 웹 폼 데이터 층으로서 적합하지 않은, 그것이 0이다.

  그것이 OID는 세트 HBM 매핑 파일 unsaved-에게 필요 INT 유형에 대해 정의 된 경우, 오브젝트는 일시적인지 여부에 따라 판단되면 절전 모드에서, OID 정의 형 정수 경우 Hibernate는 NULL 값을 가질 수있다 속성 값은 0이다.

  또한, 정수는 복수의 동작 방법이 제공 예를 들어, 정수로 문자열, 정수는 정수의 최대 값과 최소값을 나타내는 정수 정의 정수 관련.

(12)는, public, private, protected 및 차이가 작성되지 않은 경우의 범위를 명시하시기 바랍니다

다음 표에 도시 된 범위의 네 개의 가시 범위.

참고 : 당신이 수정 된 요소의 모든 액세스 한정자를 작성하지 않는 경우, 친절한 나타납니다.

13 과부하 차이를 무시하고. 오버로드 방법은 반환 값의 유형을 변경할 수 있습니까? 

  과부하 과부하 의미를 오버라이드 덮고 의미, 재기록된다 .

  과부하 과부하 동일한 클래스의 복수의 동일한 메소드의 이름을 나타내고 있지만, 이러한 방법의 파라미터리스트 (즉, 서로 다른 개수의 또는 파라미터의 종류)를 변화한다.

  무시 다시 쓰기 표현 서브 클래스 방법 및 파라미터를 상위 클래스의 이름을 정확히 동일하다있어서 정의 된 서브 클래스를 호출이 메소드를 호출 할 때, 서브 클래스에 의해 생성 된 객체의 동일한 인스턴스 일 수있다 상위 클래스 정의 다형성의 표현 인 객체 지향 프로그래밍을 포함하는 것을 정확히 동일한 방식. 부모 클래스의 서브 클래스 취재 때 서브 클래스가 부모 클래스의 몇 가지 문제를 해결할 수 있기 때문에, 단지 부모보다 적은 예외를 던질 수있는, 또는 부모 클래스가 비정상적인 아이에 의해 throw 예외를 throw되는 클래스는 작은 아버지 초과 할 수 없습니다 더 많은 문제가있다. 액세스 서브 클래스 메소드는 상위 클래스의 더 큰 것보다 작을 수 없습니다. 부모 클래스는 개인 유형 인 경우, 범위가 존재하는 다음 서브 클래스가 제한되지 않으며, 서브 클래스에 해당하는 새로운 접근 방식을 추가합니다.

  오버로드 방법이 문제의 반환 유형을 변경할 수 있는지 여부에 관해서는 당신은 그들이 어떻게 할 건데 물어보고 싶은에 따라 달라집니다? 질문은 매우 모호했다. 몇 가지 오버로드 된 메서드의 매개 변수 목록이 동일하지 않은 경우, 그들은 귀환 물론 동일한 유형하지 않을 수 있습니다. 그러나 나는 당신이 질문을 물어보고 싶은 생각 : 만약 두 가지 방법 중 인수 목록 정확히 같은, 서로 다른 오버로드를 달성하기 위해 반환 값을 만들 수 있는지 여부를 과부하를? 이것은 우리가 사용할 수있는, 충분하지 않습니다 reductio 광고 absurdum 문제를 설명하기 위해, 우리는 때때로 변수가 반환 결과에 대한 상관 없어 결과를 반환 정의 할 수있는 방법을 호출하기 때문에 , 예를 들어, 우리가 map.remove (키) 메소드를 호출, remove 메소드가 값을 반환하지만 우리는 종종 반환 된 결과에 정의 된 변수를받지 않지만, 이번에는 클래스가 두 개의 이름과 매개 변수의 목록 정확히 같은 방식으로, 다른 유형의 반환이 있다고 가정, 자바 프로그래머 확인할 수 없습니다 이 반환 결과의 유형에 따라 판단 할 수 없기 때문에 어떤 그들은, 메소드를 호출 할 것입니다. 

  우선 당신이 알고 리터럴에서, 그것은 방법을 설명하고 다른 효과를 달성하기 위해 그들을 다시 커버로 번역 할 수 있습니다. 우리에게 가장 친숙한 인터페이스 방법의 적용 범위를 달성하는 것입니다, 일반적으로 인터페이스는 방법의 단지 문이지만, 우리가 깨달았을 때, 우리는 인터페이스에 선언 된 모든 메소드를 구현해야합니다 . 이 일반적인 사용에 더하여, 우리는 또한 연속 서브 클래스에서 상위 클래스의 방법을 커버 할 수있다, 다음 사항에주의를 기울여야한다 커버 :

  1 마크를 덮는 방법해야 할 일치 검색 및 표시 방법에 따르면의 효과를 달성하기 위해 적용된다

  2 메소드의 리턴 값을 포함 일관된 커버리지 및 방법을 리턴한다;

  3 일관성 이상 이상, 슬로우 및 해당 방법을 발생 또는 서브 클래스 덮는 방법이어야;

  도 4에서,이 방법은 개인에 의해 커버 될 수없고, 또는 그 서브 클래스는 오직 새로운 방법을 정의하고 재정의 할 수 없다.

  과부하 우리는 잘 알고 있습니다 과부하로 번역 될 수 는, 이러한 방법을 구별하기 위해 다른 입력 매개 변수에 의해 정의 할 때 우리는 방법의 같은 이름의 일부를 정의 할 수 있음을 의미하고 전화, VM는 다른 매개 변수를 기반으로합니다 스타일, 적절한 방법을 선택하기 위해 실행. 무거운 - 의무 사용에서 다음과 같은 사항에주의해야한다 :

  1. 경우에만 다른 매개 변수 스타일의 오버로드를 사용. 예를 들어, 파라미터의 종류, 다른 매개 변수의 수는 물론 다른 시퀀스 파라미터 (동일한 방법 내에서 파라미터 여러 종류의 예를 들어 재미있는 (INT, 플로우트) 일 수 있지만 재미 등 (INT, INT 수 달라야 ));
  2. 하지 액세스, 반환 형식은 예외에 과부하가 발생합니다 수있다;
  3. 방법의 예외의 종류와 수는 과부하에 영향을주지 않습니다;
  4. 액세스가 priavte 인 부모 클래스의 메소드 인 경우 상속를 들어, 다음은 오버로드 도달하는 않고, 정의 된 경우에만, 새로운 방법을 정의하는 하위 클래스에서 오버로드 할 수 없습니다 효과.

(14), 및 인 차이를 가지고

  그것은 인 표현-A 관계가 속하는 . 예컨대, 토끼 등의 동물 (유전)에 속한다.

  보유-A가 나타내는 관계를 포함하는 조합, 그 . 이러한 토끼 다리, 일류의 구성 요소를 포함한다.

15, 클래스 로더는 어떻게 클래스를로드하기 위해?

  JVM 클래스의 복수를로드, 클래스를로드하기 위해 각 클래스 로더가 특정 위치에 대한 책임을 질 수 있습니다 , 예를 들면, 부트 스트랩 클래스 로더에하는 로딩 JRE에 대한 책임 / lib 디렉토리 / rt.jar이 클래스는, 우리는 일반적으로에있는 JDK 클래스를 사용 에서의 rt.jar. extclassloader 항아리 / lib 디렉토리 / 내선 / *.로드에 대한 책임 항아리 클래스의를 appclassloader 책임을 클래스 패스는 클래스 디렉토리 또는 단지를 지정 . 부트 스트랩 추가에, 다른 클래스 로더는 자체가 자신의 부모 클래스 로더이다, 자바 클래스입니다.

계층화 된 디자인의 16, 혜택

  모듈화의 이점을 제공하는 모듈 호출 흐름에서 수행되는 각각의 기능은, 자유롭게 예컨대 결합 될 수있다 : 사용자는 디스플레이 인터페이스에 대한 인터페이스를 통해 흐름을 등록하고자하는 사용자 입력을 수신하면, 서비스 로직 처리 다음에 비즈니스 로직 및 액세스 데이터베이스는 우리가하는 방식으로 방법의 계정을 실행하여 모든 단계를 작성하는 경우,이 또한 가능하지만, 인터페이스를 수정할 때 단점은, 여기서이 전부입니다 때문에 메소드 내 코드 코드의 나머지 부분을 손상시킬 수, 비즈니스 로직 또는 코드 데이터베이스 액세스를 수정할 때, 유사, 비즈니스 로직과 데이터베이스 액세스 코드가 손상 될 수 있습니다. 계층 인터페이스는 그렇게 문제가 실제로 영향을 미치는 것을 몸이 나타나지 않는 부분, 비즈니스 로직, 서면으로 별도의 방법 또는 클래스의 코드 데이터베이스 액세스 부분을하는 것입니다. 이 레이어 후에는 쉽게 원래의 인터페이스로 레이어를 전환 할 수 있습니다 스윙, 이제 원래는 계층 적 디자인의 경우 비즈니스 및 데이터 액세스 코드를 포함하지 않고,이 시간을 인터페이스 BS 변경을 원, 단순히 쓰기입니다 그것에 웹 인터페이스를 제공합니다.

  층화 혜택 :

  1. 소프트웨어 간의 디커플링을 달성하는 단계;

  분할을 촉진 2.

  유지 관리가 용이 ​​3

  재사용 가능한 소프트웨어 구성 요소 4. 증가

  제품의 교환의 용이성 , Hibernate 영속 층 등의 필요성이 다른 서비스는 구성 변경을 직접 코드 않을 것이다 TopLink를 제품으로 교환한다.

  6. 제품 기능의 확장을 용이하게합니다.

  쉬운 7. 사용자 요구 변화에 적용

17 hashCode 메소드의 역할?

  해시이 방법은 두 개체가 같은지 여부를 식별하는데 사용된다.

  동일와 hashCode 방법은 두 가지 방법은 두 개의 오브젝트가 동일한, 그러나 상이한 여부를 결정하기 위해 사용된다.

  두 객체가 동일한 지 판단 할 경우 일반적으로이 같 방법은, 사용자에 의해 호출, 당신은이 방법을 동일 대체 할 수 있습니다, 다음 코드에서 호출, 당신은 그들이 동일한 최대 여부를 확인할 수 있습니다. 간략하게는, 방법은, 주로 표면을 결정하기 위해 사용되는 뷰의 컨텐츠 관점에서, 두 개의 오브젝트가 동일하지 같다. 예를 들어, 학생 클래스, 속성, 단지 이름과 성별, 우리는 두 개의 오브젝트가 동일한 말, 한 이름과 성이 같은 것으로 생각할 수 있습니다.

  해시 방법은 일반적으로 사용자를 호출하지 않을 키 반복되지 않기 때문에, 해시 맵에서 예를 들어, 그는이 해시이 방법뿐만 아니라,이 방법과 동일 사용 결정될 때 결정 중복 키 아니다. 여기에 긴 등호 및 해시 코드 등으로 반복 될 수없는 그것에 범위를 가지고 있다고! 그래서 간단한 용어, 해시 코드의 파일과 같은 개체를 인코딩 해당 MD5, 자신의 동등한 다른 그가 비 직관적에 비해 int를 반환합니다. 우리는 일반적으로 자신의 논리가 일치 그래서, 범위 해시 코드의 등호를 오버라이드 (override) 할 필요가 있지만 . 이름과 성별 두 개의 오브젝트가 동일한 경우에도, 그 해시 방법은, 해시 값을 더한 값의 해시 코드 섹스의 이름을 반환해야하므로 논리적으로, 그들이 계약에 동일 예를 들어, 그것은 단지 예입니다.

  두 개의 물리적 개체 (메모리) 주소가 동일한 경우는 두 개체가 그것에 ==와 같은지 여부를 판단 물리에서 다음 두 객체는 ​​객체와 동일해야.

18. AOP는 무엇입니까?

1.AOP 개념

  즉 가로 orientied 프로그램 소위 AOP는의 애스펙트 지향 프로그래밍 (부)이다.

  화면비 - Orlented - 프로그래밍, 생각, 즉 AOP 보완 객체 지향 방법을 프로그래밍 지향.

  AOP의 장점은 동적으로 추가하고 원래의 코드 실행에 영향을주지 않고 섹션에 논리적를 삭제할 수 있습니다

설명 2. 어떤 측면 (섹션)

  소위 측면 (단면)은 , 시스템의 다양한 모듈을 통하여 시스템을 지칭하는 함수의 일 양태이다 (섹션 ) 소프트웨어 시스템은 로깅 통합 예외 처리, 트랜잭션 처리, 이러한 기능 권한 체크 한 바와 같이, 얼굴, 오히려 그들이 각 모듈에 표시해야보다.

3. 화면 지향 프로그래밍 무엇입니까

  폼의 객체 지향면에 패키지 시스템의 기능적 측면을 가공 (절삭) 프로그래밍

관점 지향 프로그래밍 4. 방법

  원래의 객체에 대응하는 기능 모듈은 코드 부 (객체)의 기능에 참여하는 동안 에이전트가, 타겟을 호출 에이전트 기술을 이용하여, 모듈 시스템의 각 부로서 매립된다. 길이로 프록시 객체를 구성 할 때 따라서, 스프링은 각각 두 개의 특성을 갖추고, 상기 대상체는 컷 (관리자)는되어야한다.

 MVC의의 이해에 대한 19 토크

  MVC는 짧은 모델 - 뷰 - CONTROLER입니다. 그 모델 - 뷰 - 컨트롤러. MVC는 애플리케이션의 입력, 처리 및 출력을 분리하는 의무, 디자인 패턴이다.

  MVC의 모델, 뷰, 그들은 서로 다른 작업을 담당하는 컨트롤러.

  • 보기 :보기 사용자가보고 인터페이스와 상호 작용합니다. 사용자에게 표시에게 데이터를 확인하고, 사용자의 입력을 받아들입니다. 모든 서비스 로직을 처리하지 않고 볼 수 있습니다.
  • 모델 : 모델은 비즈니스 데이터 및 비즈니스 프로세스를 나타냅니다. 등가 자바빈. 모델 뷰는 복수의 데이터를 제공 할 수있다. 이 응용 프로그램의 재사용 성을 향상
  • 컨트롤러 : 사용자가 웹 페이지에 제출 '버튼을 클릭하면, 컨트롤러가 요청을 수락하여 요청을 처리하기위한 적절한 모델을 호출합니다. 그리고 나서 처리 결과를 표시하는 처리의 결과에 기초하여 해당 뷰를 호출한다.

  MVC 처리 절차 : 먼저, 컨트롤러는 사용자의 요청, 해당 서비스의 처리 모델, 돌아 컨트롤러에 데이터를 호출을 받아들입니다. 컨트롤러는 처리 결과를 표시하기 위해 해당 뷰를 요구한다. 그리고보기를 통해 사용자에게 제공.

  인터뷰 IT가 기업 수동 : HTTP : //www.mianwww.com/

추천

출처www.cnblogs.com/jwcz/p/11831133.html