>  기사  >  Java  >  Java 기본 지식 요약 분석

Java 기본 지식 요약 분석

黄舟
黄舟원래의
2017-09-21 10:44:451356검색

이 기사는 Java 프로그래밍 언어의 기본 지식을 비교적 포괄적으로 요약했으며 여기에서 공유하고 싶습니다. 도움이 필요한 친구들이 참고할 수 있습니다.

Java의 기본 지식

1. Java 언어의 장점:

1) Java는 순수 객체 지향 언어입니다.

2) 플랫폼 독립적, 한 번 컴파일하면 어디서나 실행 가능

3) Java는 많은 내장 클래스 라이브러리를 제공합니다

4) 웹 애플리케이션에 대한 지원을 제공합니다

5) 우수한 보안(배열 경계 감지, 바이트코드 감지) 및 견고성(적용 메커니즘, 가비지 수집기, 예외 처리)이 있습니다.

6) C++에서 이해하기 어려운 일부 기능 제거(다중 상속을 오버로드하는 헤더 파일 포인터 연산자)

2. Java와 C++의 유사점과 차이점:

1) Java는 해석된 언어이고 C++는 컴파일된 언어이므로 Java는 느리지만 크로스 플랫폼입니다

2) Java는 순전히 객체 지향적인 반면 C++는 객체 지향과 프로세스 지향이 모두 가능합니다. Java에는 전역 변수와 전역 함수가 없습니다

3) Java에는 포인터가 없으므로 더 안전합니다

4) Java는 다중 상속을 지원하지 않지만 인터페이스 개념이 있습니다

5) Java에는 수동 할당이 필요하지 않으며 메모리 관리(해제용 애플리케이션) 제공 가비지 컬렉터가 자동으로 수집합니다. 스택이나 정적 저장소에 개체에 대한 참조가 없으면 재활용됩니다. 소멸자는 없지만 finalize() 메서드가 있습니다.

6) Java에는 연산자 오버로딩과 전처리 기능이 없습니다.

3. public static void main(String [] args)은 프로그램의 진입점입니다.

4. Java는 여러 개의 main() 파일을 가질 수 있습니다. 그러나 파일과 이름이 같고 public으로 장식된 클래스의 main()만 프로그램의 진입점으로 사용할 수 있습니다. 참고: 공개적으로 수정되고 파일과 이름이 동일한 클래스는 단 하나뿐입니다.

5. 정적 블록은 주요 기능 전에 실행됩니다. 초기화 실행 순서: 상위 정적 변수 상위 정적 코드 블록 하위 정적 코드 변수 하위 정적 코드 블록 상위 비정적 변수 상위 비정적 코드 블록 상위 클래스 생성자 하위 비정적 변수 하위 비정적 코드 블록 하위 클래스 생성자

6 , 생성자:

1) 클래스와 동일한 이름, 반환 값 없음

2) 매개 변수에 따라 여러 개가 있을 수 있음

3) 항상 새로운 작업으로 호출됨

4) 주로 사용되는 초기화된 개체

5) 상속할 수 없음

6) super를 사용하여 상위 클래스 생성자를 명시적으로 호출할 수 있습니다.

7. 얕은 복사는 참조하는 개체가 아닌 고려 중인 개체만 복사합니다. 둘 다 Deep copy

8. 객체지향과 프로세스지향의 차이점은 무엇인가요?:

1) 객체지향은 객관적 세계의 문제를 표준에 부합하는 방식으로 처리하는 것입니다. 기존 사고 방식에 비해 프로세스 지향은 이벤트 중심 및 모듈화에 더 중점을 둡니다.

2) 객체 지향은 컴퓨터 세계를 객관적인 세계에 더 가깝게 만들고 문제 처리를 더 명확하게 만드는 것입니다. 프로세스 지향은 프로세스를 명확하고 정확하게 표현하여 객관적인 세계의 문제를 컴퓨터에서 처리할 수 있는 프로세스로 추상화하는 모듈입니다.

9. 객체 지향 기능 및 장점: 추상화, 상속, 캡슐화 및 다형성은 개발 효율성이 높고 코드를 재사용할 수 있습니다. 유지 관리 가능성이 높아지고 코드가 명확해집니다.

10. Java는 단일 루트 상속만 지원하고, 확장상속은 관계이고 조합은 관계입니다.

Java 언어에서 조합을 사용할 수 있다면 상속을 사용하지 마세요.

11. 다형성:

오버로딩(동일한 클래스에 동일한 이름을 가진 여러 메서드가 있음) 수평 관계

재작성(하위 클래스가 상위 클래스를 다시 작성하며 메서드 이름과 매개변수 목록이 동일함) 수직적 관계

12. 추상 클래스와 인터페이스의 유사점과 차이점:

1) 추상 메소드를 포함하는 한 추상 클래스이며, 인터페이스의 메소드는 모두 추상 메소드입니다. 순수 추상 클래스라고 합니다.

2) 추상 클래스의 하위 클래스는 상위 클래스의 추상 메서드를 구현해야 합니다.

3) 인터페이스의 변수는 기본적으로 static final이며 초기 값을 할당해야 합니다.

4) 인터페이스는 구현을 사용하여 구현됩니다. 클래스는 다중 상속과 유사한 관계를 달성하기 위해 다중 인터페이스를 구현할 수 있습니다.

5) 추가, 삭제 등 자주 사용하는 기능에 사용되는 인터페이스입니다. 추상 클래스는 일상생활에서 공개 클래스의 역할로 사용되며 잦은 코드 수정에는 적합하지 않습니다

13. 이것과 슈퍼의 차이점:

현재 인스턴스 객체를 가리키는데 사용됩니다

Super는 상위 클래스 메서드 및 멤버 변수에 액세스하는 데 사용됩니다.

하위 클래스가 상위 클래스에서 상속되면 super()가 하위 클래스 생성자의 첫 번째 문장으로 배치되어야 합니다.

14. Break Continue Return의 차이점:

Break는 나머지 코드를 실행하지 않고 현재 루프에서 강제로 점프하는 데 사용됩니다.

Continue는 현재 루프를 중지하고 시작점으로 돌아가는 데 사용됩니다. 다음 루프를 위해.

Return 점프는 메서드에서 반환되는 것을 나타내는 데 사용됩니다.

여러 루프에서 벗어나기 위한 Break out

15. 정적의 역할:

a 생성된 객체 수에 관계없이 객체에 대한 단일 저장 공간을 할당합니다.

b 특정 방법을 구현합니다. 또는 속성 및 클래스 객체와 연관되지 않음

C 변수는 전역 효과를 얻을 수 있으며 메모리에는 복사본이 하나만 있습니다

16. 불변 클래스 구현:

클래스의 모든 멤버 변수는 비공개로 수정됩니다

설정 메소드가 작성되지 않았습니다

클래스 정의가 최종입니다

17값 전송과 참조 전송의 차이점:

값 전송: 실제 매개변수는 다음과 같습니다. 값은 형식 매개변수

참조로 전달: 객체가 전달되고 형식 매개변수와 실제 매개변수는 동일한 저장 단위를 가리킵니다.

18. 기본 데이터 유형은 8가지입니다. 유형 변환의 우선순위: 바이트는 부울과 교환될 수 없습니다.

19. round는 반올림을 의미하고, ceil은 반올림을 의미하고, Floor는 반올림을 의미하며, i++는 먼저 실행한 다음

one을 추가하는 것을 의미하고, ++i는 1을 먼저 추가한 다음 실행하는 것을 의미합니다.

20. String s1="abc"는 상수 영역에 저장된 객체입니다.

String s2="abc" s2는 상수 영역에 적용되며 새 객체가 생성되지 않습니다.

String s3=new String("abc") 은 힙에 객체를 생성하고

String s4=new String("abc") 은 힙에 새 객체를 생성해야 합니다.

21. "==" 및 "equals"

"=="는 두 변수의 값이 동일한지 비교하는 데 사용됩니다(참조 유형). , 메모리 블록이 두 개가 됩니다. 객체 자체는 메모리(힙 메모리)를 차지하고 변수도 메모리를 차지합니다. 문자열 s4 = 새 문자열("abc"). 변수 s에 해당하는 메모리에 저장된 값은 해당 객체가 차지하는 메모리의 첫 번째 주소이다. 두 변수가 동일한 객체를 가리키는지 확인하려면 메모리에 있는 해당 값(첫 번째 주소)이 동일한지 확인해야 합니다.

equals는 참조가 아닌 숫자 내용, 즉 abc를 비교합니다.

22. 배열도 객체입니다. Arrays는 배열의 길이를 얻기 위해 length 속성을 제공하며, String은 length()를 통해 계산됩니다.

23. 예외 처리

1) catch finally 모드를 시도하세요.

2) 프로그램이 try 전에 예외가 발생하는 경우나 다음 두 가지 상황을 제외하고는 finally 블록의 코드가 확실히 실행됩니다. try에서 exit()를 통해 강제 종료합니다.

3) jvm은 오류를 예외로 표현하여 던지고, catch를 통해 catch한 후 처리합니다. 보안과 견고성.

4) 예외는 오류와 예외의 두 가지 범주로 구분됩니다.

예외는 확인 예외와 실행 예외로 구분됩니다.

확인 예외를 컴파일 예외라고도 합니다.

예: IO 예외, SQL 예외

실행 예외는 널 포인터 예외, 유형 변환 예외, 산술 예외, 배열 범위를 벗어난 예외, 배열 저장 예외, 버퍼 오버플로 예외입니다.

먼저 하위 클래스를 잡은 다음 상위 클래스를 잡아서 가능한 한 빨리 예외를 발생시키고, 처리할 수 있으면 처리하고, 처리할 수 없으면 처리하고, 런타임 예외는 실제로 처리할 필요가 없습니다. 직접 던져집니다.

24. Java IO: 바이트 스트림(8비트)은 캐시를 사용합니다.

25. 다른 가상 머신이나 다른 컴퓨터 간의 통신을 달성하는 데 사용됩니다.

연결 지향 TCP, 신뢰성의 두 가지 유형으로 나뉩니다. 연결 지향 UDP가 없어 신뢰할 수 없습니다.

모든 소켓은 IP 주소와 포트 번호에 따라 고유하게 결정됩니다.

26. Java 플랫폼 독립성은 프로그램이 한 플랫폼에서 작성 및 컴파일되고 다른 플랫폼에서 실행된다는 것을 의미합니다. JVM 및 Java API가 있습니다.

Java 언어는 동적 해석 언어이며 클래스는 JVM에 로드될 때만 실행될 수 있습니다. 모든 클래스를 한 번에 로드한 다음 실행하는 대신 기본 클래스가 먼저 로드되고 필요할 때 다른 클래스가 로드됩니다.

27, 가비지 컬렉션 GC: 더 이상 사용되지 않는 메모리를 재활용합니다. 세 가지 작업: 메모리 할당, 참조된 메모리가 잘못 회수되지 않았는지 확인, 더 이상 참조되지 않는 객체에 대한 메모리 회수.

28. Java의 메모리 누수 문제:

두 가지 상황:

1) 힙에 적용한 공간이 해제되지 않았습니다.

2) 개체가 더 이상 사용되지 않지만 여전히 남아 있습니다. 메모리 보유

이유: 정적 컬렉션 클래스, 다양한 연결, 리스너, 불합리한 변수 범위

29. Java에서 힙과 스택의 차이점:

스택에 할당됨: 기본 데이터 유형 참조 변수 변수 및 객체

변수는 범위를 벗어나면 자동으로 해제됩니다

힙에 할당: 참조 유형 변수, new를 통해 생성해야 하는 변수. 주로 런타임 중에 생성되는 객체

JVM은 스택 기반 가상 머신입니다. 각 Java 프로그램은 별도의 JVM 인스턴스에서 실행되므로 Java 프로그램의 각 스레드가 실행되고 각 인스턴스에는 고유한 해당 A 힙이 있으므로 힙 메모리는 이 스레드 간에 공유됩니다.

힙 공간만 신청하면 되며 릴리스 문제는 고려할 필요가 없습니다.

스택의 참조 변수를 사용하여 힙의 배열과 객체에 액세스하세요.

힙은 객체를 저장하는 데에만 사용되며, 스택은 주로 실행 가능한 프로그램을 저장하는 데 사용됩니다.

스택은 빠르지만 크기와 수명이 정해져 있고 유연성이 부족합니다. 힙은 메모리를 동적으로 할당하는데, 이는 매우 유연하지만 느립니다.

30. 컨테이너: java 컬렉션 프레임워크: list, Queue, set, stack, map
list, Queue, set 및 stack은 모두 Collection 인터페이스를 상속합니다.

1) 목록은 주문된 컬렉션입니다. 개체는 입력한 순서대로 저장되며, 중복된 개체도 저장할 수 있습니다.

2) 집합은 집합의 개념으로, 집합에 중복된 요소가 있을 수 없습니다.

3) 맵은 키를 값에 매핑하는 데이터 구조입니다. 값은 반복될 수 있지만 키는 고유하므로 반복될 수 없습니다.

31. Iterator: 객체 내부의 세부 정보를 노출하지 않고 컨테이너 객체의 각 요소에 액세스하는 방법인 객체입니다.

1) 컨테이너의 iterator() 메서드를 사용하여 Iterator를 반환한 다음 Iterator의 next() 메서드를 통해 요소를 반환합니다.

2) Iterator의 hasNext() 메소드를 사용하여 컨테이너에 요소가 있는지 확인합니다. 그렇다면 next()를 사용하여 다음 요소를 가져올 수 있습니다.

3) 반복자가 반환한 요소를 삭제하려면 제거()를 사용하세요.

32. 컬렉션과 컬렉션의 차이점:

컬렉션: 각 특정 컬렉션에 대해 최대의 통합 작업을 제공하는 컬렉션 인터페이스입니다.

Collections: 컬렉션 클래스의 래퍼 클래스입니다. 인스턴스화할 수 없으며 컬렉션 프레임워크를 제공하는 도구 클래스와 동일합니다.

33. 멀티스레딩:

스레드: 코드를 실행하는 실행 단위입니다.

프로세스: 실행 중인 프로그램

각 스레드는 프로그램의 메모리 공간(코드 세그먼트, 데이터, 힙 공간)을 공유하며 독립적인 스택 공간을 갖습니다.

스레드 장점:

1) 프로그램 응답 시간 단축

2) 프로세스에 비해 스위치 생성 비용이 적음

3) 멀티 CPU 및 멀티 코어에는 멀티 기능이 있습니다. -스레딩 기능

4) 이해와 유지 관리가 용이하도록 프로그램 구조를 단순화합니다.

34. Java 멀티스레딩 구현 방법:

1) Thread 클래스를 상속하고 run() 메서드를 재정의합니다.

2) Runnable 인터페이스를 구현하고 인터페이스의 run() 메서드를 구현합니다. .

3) Callable 인터페이스를 구현하고 call() 메서드를 다시 작성합니다.

35. 동기화

동기화 작업을 수행하려면 각 스레드 개체의 잠금을 획득해야 하며 이를 획득하면 이 잠금이 해제되기 전에 동시에 하나의 스레드만 임계 섹션에 들어갈 수 있습니다. , 다른 스레드 그런 다음 임계 영역에 들어갈 수 있습니다. 개체의 잠금을 얻으려는 다른 스레드가 있으면 대기 대기열에 들어가서 기다릴 수만 있습니다.

36 다중 프로세스 동기화 구현 방법:

1) 동기화 키워드

2) Wait() 메서드 및 inform() 메서드

3) 잠금

37. 메소드: stop() 메소드 및 suspens() 메소드.

Java는 데몬 스레드(서비스 프로세스)와 사용자 프로세스라는 두 가지 유형의 스레드를 제공합니다.

38 JDBC를 통해 데이터베이스에 액세스하는 방법:

1) JDBC 드라이버를 로드하고 JDBC 드라이버 jar 패키지를 lib에 복사합니다.

2) JDBC 드라이버를 로드합니다.

3) 데이터베이스를 만듭니다. connection

4)Statement 객체 또는PrepareStatement 객체를 생성합니다. 데이터베이스 작업에 사용됩니다.

5) SQL 문 실행

6) 결과 집합 ReaultSet 개체에 액세스

7) ReaultSet 문 연결을 순차적으로 닫습니다.

39 Class.forName() 메서드는 클래스를 JVM에 로드하는 데 사용됩니다.

JDBC를 사용하여 데이터베이스에 연결하기 전에 일반적으로 Class.forName("com.mysql.jdbc.Driver") 메서드를 호출하여 드라이버를 로드합니다.
Statement는 매개 변수 없이 간단한 SQL 문을 실행하고 생성된 결과의 개체를 반환하는 데 사용됩니다. SQL이 실행될 때마다 데이터베이스는 SQL 문을 컴파일합니다.
PrepareStatement는 매개변수를 사용하여 실행할 수 있습니다. 더 높은 효율성, 더 높은 가독성, 더 높은 유지 관리 및 더 나은 보안

40. JDBC는 ResultSet에서 데이터를 가져오는 getString(), getInt(), getIData() 및 기타 메서드를 제공합니다.

41. JDBC 연결 시 연결 풀 개수가 제한되어 있으므로 더 이상 사용하지 않는 연결을 반드시 해제하세요.

createStatement 및 prepareStatement는 루프 외부에 배치하는 것이 가장 좋으며 문을 사용한 후 시간에 맞춰 닫아야 합니다. ExecuteQuery를 한 번 실행한 후에는 즉시 문을 닫는 것이 가장 좋습니다.

42. Hibernate는 JDBC의 패키지입니다. 데이터베이스 연결 매개변수는 구성 파일 형태로 XML에 기록되지만, 최종 데이터베이스에 대한 접근은 JDBC를 통해 완료되어야 한다.

43,

Hibernate는 테이블의 정보를 XML로 매핑한 다음 XML 파일을 해당 지속성 클래스에 매핑하는 지속성 계층 프레임워크입니다.

Java Web

1. 브라우저의 역할:

1) 서버와의 상호 작용을 완료합니다.


2) HTML의 파싱을 완료하고 사용자가 봐야할 내용을 직관적인 정보로 표시합니다.


2. HTTP 요청 방법은 다음과 같습니다. GET POST HEAD TRACE OPTIONS

GET: 가장 간단한 요청 방법입니다. 서버에서 사용자에게 응답으로 반환합니다. 서버 측 정보(쿼리)를 가져옵니다. 데이터를 업로드해야 하는 경우 URL 끝에 추가하세요. 데이터 노출은 충분히 안전하지 않으며 수량에 제한이 있습니다.


POST: 서버에서 리소스를 얻는 것 외에도 서버에 데이터를 업로드할 수도 있습니다. 업로드된 데이터는 URL에 일반 텍스트로 표시되지 않으며, 대량의 데이터가 업로드될 수 있어 사용자에게 보이지 않습니다

3. 서블릿:

Java 언어로 작성된 서버 프로그램으로 실행됩니다. 웹 서버의 서블릿 컨테이너에서 주요 기능은 요청과 응답을 제공하고 동적 웹 콘텐츠를 생성할 수 있는 서비스 모델입니다.

웹 서버가 서블릿에 대한 요청을 받으면 처리를 위해 Tomcat 컨테이너로 전달되고, 컨테이너는 서블릿 메서드(doGet() doPost())를 호출하여 요청에 응답합니다.

단계:

서블릿 요청 시작——>웹 서버는 처리를 위해 컨테이너로 넘겨집니다.——>컨테이너는 두 개의 객체를 생성합니다. HttpServletResponse HttpServletRequire——>별도의 스레드를 생성하고 두 객체를 매개변수로 Thread -> 스레드 컨테이너는 서블릿의 service() 메소드에서 doGet() 또는 doPost()를 호출하여 응답을 완료합니다. -> 컨테이너는 응답 메시지를 HTML 형식으로 클라이언트에 반환합니다.

4. 서블릿 수명 주기:

로드 -> 생성 -> 고객 요청 처리 -> JSP의 장점:

JSP: 자바 코드가 포함된 파일입니다. 주로 서블릿과 HTML의 분리를 해결합니다. 비즈니스 로직과 뷰를 분리하세요.

6. JSP와 서블릿의 유사점과 차이점:

동일:

본질적으로 둘 다 Servlet 파일이므로 JSP를 사용하여 완료할 수 있습니다. 결국 서블릿 실행으로 변환됩니다.


차이:


서블릿은 제어 계층에 있으며 주로 프로세스 제어 및 비즈니스 처리를 위해 사용됩니다. JSP는 뷰 레이어에 있으며 주로 디스플레이에 사용됩니다.


Servlet에는 내장 객체가 없습니다. JSP의 내장 객체는 주로 HttpServletResponse 객체와 HttpServletRequire 객체를 통해 얻습니다.


7. MVC 모델:

모델 레이어(M): 시스템 비즈니스 로직을 구현합니다. JavaBean 또는 EJB

View 레이어(V): 사용자 상호 작용을 실현합니다. JSP


컨트롤 레이어(C): 뷰와 모델의 논리적 제어를 구현합니다. servlet


8. 제어 계층:

컨트롤러는 사용자 입력을 받고 모델과 뷰를 호출하여 완료합니다.

컨트롤러 자체는 아무것도 출력하거나 처리를 수행하지 않습니다.


요청을 받고 요청을 처리하는 데 사용할 모델을 결정하고 반환된 데이터를 처리하기 위해 모델을 표시하는 데 사용할 뷰를 결정하세요


9. MVC의 장점:

1) 낮음 결합하여 뷰 레이어와 로직 레이어 분리를 실현합니다.

2) 높은 재사용성 및 적용성


3) 신속한 배포


4) 손쉬운 유지 관리


10 서블릿에서 전달과 리디렉션의 차이점은 무엇입니까:

전달은 서버 내부에 있습니다. 리디렉션의 경우 서버는 대상 주소의 URL에 직접 액세스하며 주소는 변경되지 않습니다.

리디렉션: 클라이언트 리디렉션, 전체 점프, 주소 변경.


11. JSP 내장 객체:

1) require(요청 객체)

2) Response(응답 객체)


3) pageContext(페이지 컨텍스트 객체)


4) Session ( 세션 개체)


5) Application(응용 프로그램 개체)


6) Out(출력 개체)


7) Config(구성 개체)


8) Page(페이지 개체)


9) 예외 (예외 객체)


12. 요청 객체의 방법:

1) setAttribute(문자열 이름, 객체)는 이름의 속성 값을 설정합니다.

2) getAttribute(문자열 이름)는 이름의 속성 값을 가져옵니다.


3) getParameter(문자열 이름)는 사용자가 제출한 데이터를 가져오며, 이름은 양식 이름에 해당합니다.


4) getSession()은 요청과 관련된 세션을 가져오는 데 사용됩니다.


13. JSP의 작업:

1) JSP:include는 페이지가 요청될 때 파일을 소개하는 데 사용됩니다

2) Jsp: useBean은 javabean을 인스턴스화하는 데 사용됩니다


3) Jsp:setProperty가 사용됩니다. 인스턴스화된 Bean 객체의 속성을 설정하려면


4) Jsp:getProperty는 인스턴스화된 Bean 객체의 속성을 얻는 데 사용됩니다


5) Jsp:foward는 요청을 다른 페이지로 이동하는 데 사용됩니다


14 . JSP

에 지침 및 작업 포함

Command: <% @include file =”test.jsp “%>

Action:


15 ​​세션 추적 기술:

동일한 사용자가 서버에 지속적으로 요청하고 응답을 받는 모니터입니다.

1) 페이지당 페이지


2) 요청 요청


3) 사용자 경험 세션


4) 전체 웹 애플리케이션 적용


16 문자열 인코딩: GBK, UTF-8

17. Ajar

비동기 js 및 XML이 무엇인가요?

Java 기술, JS 기술, xml 기술을 결합합니다. 클라이언트 기술


기능: 페이지를 새로 고치지 않고도 서버와 소량의 데이터를 상호 작용하여 페이지의 상호 작용을 개선하고, 응답 시간을 줄이고, 사용자 경험을 향상시킵니다.

18 쿠키와 세션의 차이점:

세션: 클라이언트와 서버 간의 상태를 유지하는 데 사용되는 솔루션 및 저장 구조를 말합니다.

쿠키: 웹 서버가 사용자의 브라우저에 저장하는 작은 파일입니다.

19. 웹 서버: 클라이언트로부터 요청을 받은 후 요청 처리 결과를 클라이언트에 다시 공급합니다.

두 가지 주요 웹 서버: IIS Apache.

20. 웹 컨테이너: TomcatJBoss

는 사용자 요청을 처리하기 위해 doGet() 및 doPost() 메서드를 호출하여 http 요청 및 응답 개체를 서블릿에 제공하는 일을 담당합니다.

21. EJB 카테고리:

1) Session Bean(세션 Bean)은 서버 측 비즈니스 로직을 구현하고 Bean 간의 상호 작용을 조정합니다.

2) Entity Bean(Entity Bean) 데이터 구성 요소는 데이터베이스를 나타냅니다. 레코드

3) Message Bean(Message Driven Bean)은 비동기 메시지를 처리하며 일반적으로 사용자가 호출하지 않습니다

22. EJB와 Javabean의 유사점과 차이점:

1) EJB: 주로 서버에서 사용됩니다. 측면 개발, Javabeans는 주로 클라이언트 개발에 사용됩니다.

2) EJB 구성 요소는 EJB 컨테이너에 배포될 수 있습니다. 구성 요소는 컨테이너를 통해 직접 액세스할 수 없습니다.

3) EJB는 분산 개체이며 원격으로 호출할 수 있습니다. 내부에서만 호출할 수 있습니다.

23. EJB의 역할:

1) Enterprise Bean Provider(엔터프라이즈 구성 요소 개발자)

2) 애플리케이션 어셈블러(애플리케이션 어셈블러)

3 ) EJB Deployer(EJB Deployer)

4) EJB Sever Provider(EJB 서버 공급자)

5) EJB Container Provider(EJV 컨테이너 공급자)

6) 시스템 관리자(시스템 관리자)

24. 데이터베이스 연결 풀의 작동 메커니즘:

원인:

1) 데이터베이스 생성은 시간이 많이 걸리는 작업입니다.

2) 데이터베이스 연결 수가 제한되어 있습니다

데이터베이스 연결 풀이 담당합니다. 데이터베이스 연결 할당, 관리 및 해제. 클라이언트가 데이터베이스에 액세스해야 하는 경우 연결을 생성하지 않고 풀에서 직접 데이터베이스 연결을 가져와 사용 중으로 표시할 수 있습니다.

25. JAVAEE에서 개발한 튜닝 방법:

1) 디자인 최적화

2) 데이터베이스 연결을 최대한 사용하세요

3) 프레임워크 사용

4) I/O 최적화

5) 쿼리 최적화

26. Struts 프레임워크의 장점:

1) 성능과 로직의 분리 실현

2) 페이지 탐색 기능 제공

3) 양식 검증 제공

4 ) 데이터베이스 연결 풀 제공

5) 예외 처리 메커니즘 제공

6) 국제화 지원

27. 데이터 검증은

1) 양식 검증

2) 비즈니스 논리 검증

28. 국제화:

프로그램은 내부 코드를 수정하지 않고 다양한 지역에 따라 해당 인터페이스를 표시합니다.

29. 제어 반전이란 무엇입니까?

종속성 주입이라고도 합니다. 객체 간의 결합 관계를 줄이는 아이디어.

상위 계층이 하위 계층의 인터페이스에 의존하지 않도록 호출자(자식)가 호출 수신자(부모)를 결정합니다. 분리 및 목적은 인스턴스화된 개체를 주입하여 달성됩니다.

30, Spring 프레임워크

는 경량 loc에 대한 우수한 지원을 제공하고 AOP 기술의 매우 우수한 캡슐화도 제공합니다.

31 Hibernate 프레임워크, 지속성 계층 프레임워크

는 Java 객체와 관계형 데이터베이스 레코드의 매핑을 실현하고, 개발자가 데이터베이스에 액세스하는 프로세스를 단순화하며, 소프트웨어 개발 효율성을 향상시킵니다.

JDBC를 사용하는 모든 사람 Hibernata

성능 향상 방법:

1) 지연 로딩

2) 캐시 기술

3) 쿼리 문 최적화

32. 페이징 구현:

1) 최대 절전 모드 자체 페이징 메커니즘

2) Limit 키워드

33을 사용하여 SQL 문으로 구현되었습니다. SSH:

struts는 뷰 부분을 구현합니다.

Hibernate는 모델 부분을 구현합니다.

Spring은 비즈니스 부분을 구현합니다.

SSH 사용 프레임워크는 뷰, 컨트롤러 및 모델의 완전한 분리를 달성할 수 있을 뿐만 아니라 비즈니스 로직과 데이터 지속성 레이어의 분리도 달성할 수 있습니다.

요약

위 내용은 Java 기본 지식 요약 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.