2013-07-09 31 views
11

Biến tĩnh Java có được chia sẻ trên tất cả các phiên sử dụng cùng một ứng dụng web hay mỗi phiên có phiên bản riêng của các biến tĩnh không?Tomcat: Phạm vi biến tĩnh Java, Ứng dụng hoặc phiên rộng?

Nói cách khác, Tomcat có tạo một nhóm lớp mới cho mỗi phiên hoặc chỉ một bộ cho toàn bộ ứng dụng web không?

+0

tĩnh được đẳng cấp độ, họ sẽ được tạo ra chỉ khi người giữ lớp được nạp .. họ không thuộc về đối tượng – nachokk

+0

bạn làm gì có nghĩa là theo phiên? Một phiên HTTP? Đó chỉ là một đối tượng, không có gì để làm với các biến tĩnh/tải lớp. –

+0

Tôi nghĩ rằng chúng có nghĩa là yêu cầu thay vì phiên – malhal

Trả lời

14

Tomcat tạo một ClassLoader cho mỗi ứng dụng web, ví dụ: war-File hoặc context. Vì vậy, mỗi Class được tải một lần cho ứng dụng web. Do đó, các biến tĩnh được chia sẻ qua nhiều phiên và yêu cầu.

Tài liệu tham khảo:

3

Biến tĩnh được chia sẻ trên các phiên. Hãy cẩn thận khi sử dụng các biến tĩnh.