Rozumiem znaczenie Single Responsibility Principle, ale technicznie rzecz biorąc mamy jakąkolwiek górną granicę na liczbę zmiennych lokalnych (tych, które są przechowywane w ramkach stosu) w ramach każdej metody java. I czy ta górna granica jest równa maksymalnemu rozmiarowi stosu, tj. Czy mogę mieć ramkę stosu o rozmiarze równym maksymalnemu rozmiarowi stosu?Maksymalna liczba zmiennych lokalnych w metodzie Java
Odpowiedz
Nie ma górnej granicy w definiowaniu liczby zmiennych lokalnych. Jeśli zdefiniujesz zbyt wiele zmiennych, które nie mieszczą się w ramce stosu (lub) JVM nie może przydzielić ramki stosu dla tego rozmiaru, rzuci ona StackOverflowError
i zakończy działanie.
Jest dobry lecture przez profesora Stanforda, który może ci pomóc.
Czy JVM tworzy ramkę o stałym rozmiarze? Jeśli tak, to czy istnieje sposób na jego zwiększenie? Wiem, że -Xss kontroluje wielkość stosu, podobnie jest tam coś, co kontroluje rozmiar ramki? – Bajji
Rozmiar ramki stosu jest podyktowany definicją metody. Dla każdej metody jest zawsze taka sama. –
@Nambari, to po prostu nie w porządku dla mnie. Rozmiar jest znany i wynosi maksymalnie 65 536. – Eugene
To naprawdę będzie zdefiniowane przez środowisko wykonawcze i ilość przydzielonego miejsca na stos, na proces.
- 1. Ostateczne deklaracje statyczne Java w metodzie lokalnych
- 2. Maksymalna liczba elementów wyliczających w języku Java
- 3. Wartości domyślne zmiennych instancji i zmiennych lokalnych
- 4. Maksymalna liczba argumentów Bash! = Maksymalna liczba argumentów cp?
- 5. Javadoc dla zmiennych lokalnych?
- 6. Maksymalna liczba połączeń w ChannelFactory
- 7. Maksymalna liczba definicji var/funkcji w JavaScript?
- 8. Maksymalna liczba wątków ThreadPool
- 9. Parametry funkcji maksymalna liczba
- 10. Maksymalna liczba prób wysłania
- 11. Maksymalna liczba równoczesnych HttpWebRequests
- 12. Maksymalna liczba instrukcji GLSL
- 13. Jak używać zmiennych lokalnych w wyrażeniu lambda
- 14. odniesienia zawaleniem dla zmiennych lokalnych
- 15. Jenkins - maksymalna liczba równoczesnych zadań
- 16. Analiza zmiennych lokalnych zwróconych funkcji
- 17. Funkcje PHP - Maksymalna liczba argumentów
- 18. SQL DELETE - Maksymalna liczba wierszy
- 19. Jaka jest maksymalna liczba ponumerowanych wyrażeń regularnych?
- 20. Maksymalna liczba procesów zarejestrowanych globalnie
- 21. Jaka jest maksymalna liczba znaków wyprowadzanych przez sprintf przy wyprowadzaniu zmiennych i podwójnych zmiennych?
- 22. Wyjątek Java Oracle - "maksymalna liczba wyrażeń na liście to 1000"
- 23. Maksymalna liczba obiektów w obszarze roboczym
- 24. Maksymalna liczba wymiarów w tablicy Javy
- 25. Maksymalna liczba wierszy w tabeli sqlite?
- 26. Maksymalna liczba oczekujących elementów w ThreadPool.QueueUserWorkItem
- 27. Maksymalna liczba urządzeń peryferyjnych w CoreBluetooth?
- 28. Maksymalna liczba kolumn w tabeli MySQL
- 29. Maksymalna liczba znaków w znaczniku div/akapitu
- 30. Maksymalna wartość Float w Java?
jakie jest pytanie związane z zasadą odpowiedzialności pojedynczej? – Ankur
Ok. Relacja jest taka, że nie jest dobrze mieć jedną metodę ze zbyt wieloma zmiennymi lokalnymi. W takim przypadku może to naruszać tę zasadę. – Bajji
Możesz rzucić okiem na ten wpis: - http://stackoverflow.com/questions/3700459/how-to-increase-to-java-stack-size –