2012-10-18 25 views
5

Tôi hiểu tầm quan trọng của Single Responsibility Principle, nhưng về mặt kỹ thuật nói chúng ta có giới hạn trên về số biến cục bộ (được lưu trữ trong khung ngăn xếp) trong mỗi phương thức java. Và đó là giới hạn trên bằng với kích thước ngăn xếp tối đa, tức là., Tôi có thể có một khung ngăn xếp có kích thước bằng kích thước ngăn xếp tối đa được định cấu hình không?Số biến cục bộ tối đa trong một Phương thức Java

+2

câu hỏi liên quan đến Nguyên tắc về trách nhiệm một lần như thế nào? – Ankur

+1

Ok. Vì vậy, mối quan hệ là nó không phải là tốt để có một phương pháp duy nhất với quá nhiều biến địa phương. Trong trường hợp đó nó có thể vi phạm nguyên tắc đó. – Bajji

+0

Bạn có thể xem bài đăng này: - http://stackoverflow.com/questions/3700459/how-to-increase-to-java-stack-size –

Trả lời

4

Không có giới hạn trên nào trong việc xác định số lượng biến cục bộ. Nếu bạn xác định quá nhiều biến mà không thể phù hợp trong một khung ngăn xếp (hoặc) JVM không thể phân bổ một khung ngăn xếp cho kích thước đó, nó sẽ ném StackOverflowError và thoát.

Có tốt lecture bởi giáo sư stanford có thể giúp bạn.

+0

JVM có tạo khung ngăn xếp kích thước cố định không? Nếu vậy có cách nào để tăng nó? Tôi biết rằng -Xss điều khiển kích thước ngăn xếp, tương tự như vậy là có bất cứ điều gì để kiểm soát kích thước khung hình? – Bajji

+1

Kích thước khung ngăn xếp được quyết định bởi định nghĩa phương thức của bạn. Nó luôn luôn giống nhau cho mỗi phương pháp. –

+0

@Nambari, điều này không đúng đối với tôi. Kích thước được biết và nó là tối đa 65.536. – Eugene

2

Điều này thực sự sẽ được xác định bởi thời gian chạy của bạn và số lượng không gian ngăn xếp được phân bổ, cho mỗi quy trình.

Các vấn đề liên quan