개인공부용123 프로그래밍 블로그

[Servlet&JSP]서블릿 변수 본문

백엔드 개발/Servlet & JSP

[Servlet&JSP]서블릿 변수

개인공부용123 2020. 7. 10. 00:38

#1. 웹 프로그램 개발 방식

  2. CGI 방식(웹서버의 직접적인 호출로 사용하는 CG)

    - 각 클라이언트에서 서버에 요청시 클라이언트 요청당 프로세스를 생성하는 방식

    - 여러 사용자의 빈번한 성격의 웹서비스로는 적합하지 않음, 서버에 부하가 가중 될 수 있음

  3. 서블릿 실행 방식(애플리케이션 서버(서블릿컨테이너)가 실행하는 방식)

    - 최초의 서블릿 요청전 하나의 프로세스가 생성이 되고 클라이언트가 요청하여 Service메소드 생성시 프로세스 내에

      쓰레드를 생성하여 Service 메소드를 실행하는 방식

     - CGI 프로그램 실행 바식보다 서버 부하나 메모리 사용량 측면에서 효율적

 

#2. 서블릿 변수 특징

  • 서블릿 최초요청시 Heap메모리가 생성되고 클라이언트 요청시 쓰레드 내에 Stack메모리가 생성이 됨
  • 서블릿의 지역변수는 각 요청마다 쓰레드별 스택에 할당, 멤버변수는 Heap영역에 할당

#3 JAVA 변수 특징

  • 멤버변수로 class변수(static), instance변수(전역)가 있고 지역변수 가 있음
  • 각 변수는 1) 사용 메모리가 다름, 2) 메모리 생성 시점, 3) 메모리 삭제 시점 이 다름

구분

멤버 변수

지역 변수

Class 변수

Instance 변수

선언 위치

클래스의 멤버로 선언

메소드  선언

선언 방법

Static 선언

-

-

사용 메모리

Code 영역

Heap 영역

Stack 영역

생성 시점

프로그램 시작시

객체 생성시

메소드 실행시

제거 시점

프로그램 종료시

가비지 컬렉터에 의해

메소드 종료시