자바 학습 노트 15: 웹 개발 에서 전역 변수 에 대한 생각
2794 단어 자바 학습 노트
간단 한 예 를 볼 수 있다.
public int i = 0; //
/**
*
* @return
*/
@RequestMapping(value="/list")
public ModelAndView list() {
ModelAndView modelAndView = new ModelAndView();
List lists = guestbookService.findGuestbooks();
modelAndView.setViewName("test/list");
modelAndView.addObject("userList", lists);
this.i++; //i
System.out.print(i); // i
return modelAndView;
}
우 리 는 i 의 변 수 를 정의 했다.일반적인 모드 에서 PHP 에서 브 라 우 저 에서 요청 합 니 다.http://127.0.0.1:8090/test/list/주 소 는 콘 솔 에서 1 을 출력 하고 다시 한 번 요청 합 니까? 아니면 1 입 니까?
그러나 자바 에서 우 리 는 결 과 를 볼 수 있다.
따라서 자바 에 있어 i 의 변 수 는 메모리 에 상주 합 니 다. 클래스 에 정의 되면 공유 변수 가 됩 니 다. 프로그램 에서 이 공유 변 수 를 사용 해 야 한다 면 다른 사람의 방문 이 이 사람의 i 변 수 를 덮어 쓰 는 결 과 를 가 져 올 수 있 습 니 다.
그럼 이 i 가 방법 안에 있다 면?방법 은 부분 변수 입 니 다. 방법 호출 이 끝나 면 메모리 가 방출 됩 니 다. 인 스 턴 스 를 보 겠 습 니 다.
/**
*
* @return
*/
@RequestMapping(value="/list")
public ModelAndView list() {
ModelAndView modelAndView = new ModelAndView();
List lists = guestbookService.findGuestbooks();
modelAndView.setViewName("test/list");
modelAndView.addObject("userList", lists);
int i = 0; //
i++; //i
System.out.print(i + "\r
"); // i
return modelAndView;
}
결과:
결 과 는 요청 할 때마다 부분 변 수 는 자동 으로 메모 리 를 방출 하 는 것 을 알 수 있다.
저 희 는 웹 개발 을 하면 데이터 구조의 대상 이 전 달 된 데 이 터 를 저장 하거나 자주 사용 해 야 할 데 이 터 를 정의 합 니 다. 예 를 들 어:
/**
* guest_book
* @author zhuli
*/
public class GuestbookDo {
private String title;
private String content;
private String username;
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getDtime() {
return dtime;
}
public void setDtime(int dtime) {
this.dtime = dtime;
}
private int dtime;
}
사실 이런 종 류 는 Service 와 같은 단일 사례 가 될 수 없다. 단일 사례 가 되면 데 이 터 는 공유 데이터 가 되 고 서로 다른 데이터 가 들 어 오 면 서로 덮어 쓴다.
그래서 모두 필요 한 곳 입 니 다. new 데이터 구조의 대상 입 니 다. 어차피 부분 변수 이기 때문에 운행 이 끝나 면 방출 됩 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JDBC 와 DBUtils 의 차이설명: 컴 파일 환경 Eclipse (java) + MySql JDBC 를 사용 하여 데이터 베 이 스 를 조회 하 는 데 가장 불편 한 점 은 JDBC 의 executeQuey 방법 은 결과 집합 (ResultSe...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.