2020년 1월 15일 질문을 마무리 자바 기반의 표면

직렬화 및 역 직렬화

직렬화 : 바이트 코드 프로 시저에 개체의 상태를 직렬화라고합니다.
과도 수정 속성은 직렬화되지 않습니다.
정적 정적 속성 직렬화되지 않습니다.

직렬화 : 바이트 시퀀스 직렬화 복원 된 개체를 복원하는 것은 객체라고합니다.

  1. 어떤 방법으로 직렬화
    를 구현에게 Serializable 인터페이스를.
    헤센 직렬화
    된 JSON 직렬화

  2. 여러 점의 순서에주의
    과도 속성은 속성을 방지하기 위해 수정 될 수는의 순서입니다
    정적 속성이 직렬화되지 않습니다.
    하위 클래스는 상위 클래스의 함수 순서 상속
    표적 서열의 특성과 열로서 참조 타입
    즉 시퀀스 대상물 (A)의 인터페이스의 기준 서열이없는 개체의 B 특성은 표적 서열로 구현 될 수있다 직렬화로, 그렇지 않으면, 실제 객체 클래스 B는 직렬화로 직렬화 된 객체를 직렬화하기 위해 인터페이스를 구현해야한다.

  3. 행동의 순서
    때 영구 저장소.
    때 네트워크 전송.
    상기 전송 객체 통한 RMI.

수면과 대기 사이의 차이

이러한 두 가지 방법, 즉 슬립 스레드 클래스로부터 객체 클래스 대기 상이한 카테고리 출신
주요 방법은 잠금, 잠금 해제 대기있어서, 다른 스레드 동기화 제어 블록이 될 수있는 슬립 해제없는
범위 : 제어 블록 내부 사용의 notifyAll에만 동기 또는 동기 제어 방법에있어서, 통지 기다려, 수면 중고 어딘가에있을 수있다.
잠이 예외를 catch하고 기다려야합니다, notfy, 예외를 잡을 필요가 없습니다가는 notifyAll

방법의 배열을 초기화

동적 초기화 : 배열 어레이 별도로 공간 할당 및 할당 동작 정의;
정적 초기화 : 배열을 이루면서 배열 요소 및 할당을 위해 할당 된 공간;
기본 초기화 : 배열 요소는 클래스의 멤버에 대응하는 기준 타입이며 변수는, 상기 어레이의 각 요소는 내재적 멤버 변수가 초기화 규칙에 따라 공간을 할당

문자열, StringBuffer를, 모두 StringBuilder 区别

  1. 가변 길이의 경우
    문자열의 최종 변형이고, 하단은 변형 최종 바이트 배열이다. (불완전 불변 반사에 의해 할당 메커니즘을 변경해야 할 수있다) 여기에서 설명하지 않는다.
    그리고 변수 객체 StringBuffer와 StringBuilder 클래스.
  2. 효율성
    의 StringBuilder> StringBuffer를> 문자열
  3. 응용 시나리오
    데이터 량 = 문자열로 조작되는 경우,
    대형 단일 스레드 동작 = StringBuilder의 데이터 열 버퍼 동작
    데이터 = StringBuffer와 대용량 버퍼 멀티 스레딩 동작 문자열
  4. 스레드 안전
    동기화 된 키워드 수정과 결합 이러한 모든 방법을 달성하기 StringBuffer를 스레드 - 안전, 스레드 안전한 방법, 따라서 안전하지 않은 있도록 수정 추가하지 않고 스레드 안전, StringBuilder의 방법이다.

자바 객체 지향 기능

그들은 캡슐화, 상속, 다형성이다.

  1. 캡슐화
    데이터 및 동작 데이터를 결합하는 방법. 그리고 이름, 필요 사용하는 경우 해당 이름을 호출하기 만하면라는 이름의 내부 구현을 고려 없습니다. 이 캡슐화되어
    더 나은 캡슐화 클래스를 제공하기 위해 내부 클래스는 외부 클래스 내에서 액세스를 클래스 허용하지 않는 패키지의 다른 클래스 안에 숨길 수 있습니다
    개인 데이터를 포함한 외부 클래스에 직접 모든 데이터에 액세스 할 수있는 내부 클래스의 방법을.
    같은를 달성 할 수있는 수준의 클래스가 구현 내에서 외부 함수를 사용하지만, 내부 클래스를 사용하는 것이 때로는 더 편리합니다.

내부 클래스는 다음과 같은 범주로 나눌 수 있습니다 :
내부 클래스의 멤버
정적 내부 클래스의
방법 내부 클래스
익명 내부 클래스가
깊은 연구를하고 연기. 내부 클래스는 더 나은 캡슐화를 제공 할 수 있습니다.

  1. 상속
    , 상속 클래스와 클래스의 관계하는이 관계입니다. 같은 개 상속 등의 동물. 상속 단일 상속의 자바 클래스는 하나의 부모가 있다는 것입니다.
    상속의 장점은, 서브 클래스의 모든 속성 및 부모 클래스의 메소드가 있습니다 (개인 속성이 아닙니다 소유로 수정)

  2. 다형성은
    상이한 반응에 대한 동일한 상태 정보 서브 - 스택의 다른 유형을 허용한다. 주로 서브 클래스와 수퍼 사이. 주요 성과는 재 작성하고 오버로드하는 것입니다

무엇 재 작성 및 오버로딩

  1. 이 방법은 부모 클래스 재 작성 과정에 대한 액세스, 반환 값을 허용 구현하는 서브 클래스를 재 작성하고, 매개 변수를 변경할 수 없습니다.
    의 이점 다시 작성
    의 필요에 따라 자신의 행동이 서브 클래스를 특정을 정의합니다. 즉, 서브 클래스가 자신의 필요에 따라 상위 클래스를 구현할
    방법 오버라이드가있는 넓은 두 개의 작은 두 가지로 요약 할 수있다
    큰 : 서브 클래스는 같은 크거나 액세스 할 수있는
    서브 클래스 및 반환 값 유형 : 두 개의 작은을 예외는 유형 변환 할 수 있습니다 만 작은 던져.
    동일한 방법 이름 및 파라미터 두 함께
  2. 과부하는 같은 이름의 방법은 다른 매개 변수 목록을 가지고 클래스입니다. 리턴 타입의 오버는 동일 또는 상이한 수 있고, 필요한 것은 아니지만 동일한 캔 리턴 형 과부하 여부를 결정할 수 없다.

쿠키 和 세션

  1. 다른 데이터 저장 위치 :
    쿠키 데이터가 고객의 브라우저, 서버에 세션 데이터에 저장됩니다.
  2. 다른 보안 수준 :
    쿠키 사람들은 로컬 쿠키에 저장 분석 할 수 있습니다 쿠키는 계정 보안 세션으로 속이는 복용하는 데 사용할 수있는, 매우 안전하지 않습니다
  3. 성능의 서로 다른 정도를 사용
  4. 세션은 일정 시간 동안 서버에 저장됩니다. 증가에 액세스하는 많은 수의 계정 완화 서버의 성능을 고려하여, 서버의 성능을 점유 할 때 쿠키를 사용합니다.
  5. 다른 데이터 저장 크기 :
    하나의 쿠키 저장 데이터가 4K를 초과 할 수 없습니다가, 많은 브라우저가 쿠키를 저장 20 개 사이트로 제한되지만 세션이 서버에 저장되어, 브라우저는 더 제한 이에 없다.

역할 mabatis에서 세션

MyBatis로 세션이 트랜잭션 및 캐시 관리자입니다.

추상 클래스와 인터페이스

  1. 추상 클래스
    추상 클래스 (추상 수정) 인스턴스화 할 수없는이, 상속에만 사용할 수 있습니다
    모든 서브 클래스가 다시 작성하는 경우, 모든 추상 메소드의 구현을 제공해야하는 추상 클래스의 서브 클래스를 추상 클래스는 서브 클래스
    추상 클래스의이 상기 방법은 비 - 추상 포함 할 수있다
    예에 관한 서브 추상 클래스 참조를
  2. 인터페이스
    인터페이스 (인터페이스 변경). 방법 모든 추상 메소드이다 인터페이스 정적 메소드는 다음 jdk1.8가 기본적으로 수정 (두 방법에있어서, 본체 내에 존재할 수있다) 할 수
    인터페이스 변수 상수 (정적 최종)
    인터페이스가 인스턴스화 될 수없고, 오직 인터페이스가 상속 될 수 있습니다, 구현 될 수
    불가능 서브 클래스가 추상 클래스가 될 것이다 경우, 구현해야하는 인터페이스의 모든 메소드의 구현 클래스 인터페이스를 제공합니다.
    인터페이스 다중 달성
    인터페이스 다중 상속
    클래스의 인스턴스를 달성하기 위해 인터페이스 기준점

자동 복싱 및 자동 언 박싱

자동 권투와 언 박싱 패키지 유형은 원래 자바 클래스의 각각에 제공되는
주요 역할은 기본 데이터 유형 사이의 변환을 촉진하는 것입니다.

자바 기본 데이터 유형

4-8 가지 :
정수 : 바이트 (1), 쇼트 ( 2), INT (4), 길이 (8)
부동 소수점 : 플로트 (4) 이중 (8 )
캐릭터 : 숯 (2)
부울 : 부울 (1)

  1. 문자열을 int 형
String.valueOf(1111;
String a=1+"";

해당 래퍼 클래스는 toString ()를 호출 할 수있는 경우;

  1. 문자열 int 유형으로
    패키지 기본 클래스의 종류에 전화 parseXxx () 메소드를.
int a=Integer.parseInt("1111");

마지막, 마지막으로 차이를 마무리

  1. 최종
    불변 클래스의 최종 수정이 수정 될 수없는 유전 될 수 없다. (반사 패키지 반대로 완전 불변)는
    , 최종 수정 변수 번만 지정 될 수있다 나중에 수정 될 수 없다.
    수정 된 최종 방법이를 재정의 할 수 없습니다 (커버)
  2. 마지막으로
    마지막으로
  3. 마무리
    개체에 두 번째 통화, 무료 최대 메모리를 청소 후 JVM의 가비지 콜렉션이, finalize 메소드를 호출 할 때 각 개체 것은,이 방법이 있습니다.

개념 잘못된 장소 열정적 인 사용자가 함께 배울 지적하고 싶은 경우 기사, 만들 무료입니다.

게시 24 개 원래 기사 · 원 찬양 한 · 전망 (556)

추천

출처blog.csdn.net/qq_45366515/article/details/103956089