Ich verstehe die Bedeutung von Single Responsibility Principle, aber technisch gesehen haben wir eine obere Grenze für die Anzahl der lokalen Variablen (die in Stack-Rahmen gespeichert) innerhalb jeder Java-Methode. Und ist diese Obergrenze gleich der maximalen Stapelgröße, dh, kann ich einen Stapelrahmen haben, dessen Größe der maximalen konfigurierten Stapelgröße entspricht?Maximale Anzahl von lokalen Variablen in einer Java-Methode
Antwort
Es gibt keine obere Grenze bei der Definition der Anzahl der lokalen Variablen. Wenn Sie zu viele Variablen definieren, die nicht in einen Stapelrahmen passen (oder) JVM konnte keinen Stapelrahmen für diese Größe zuweisen, wird StackOverflowError
geworfen und beendet.
Es gibt gute lecture von einem Stanford Professor, die Ihnen helfen können.
Erstellt JVM eine feste Größe Stapelrahmen? Wenn ja, gibt es eine Möglichkeit, es zu erhöhen? Ich weiß, dass -Xss die Stack-Größe steuert, gibt es auch etwas, um die Frame-Größe zu kontrollieren? – Bajji
Die Größe des Stack-Frames hängt von Ihrer Methodendefinition ab. Es ist immer dasselbe für jede Methode. –
@Nambari, das ist einfach nicht richtig für mich. Die Größe ist bekannt und es ist maximal 65.536. – Eugene
Dies wird wirklich durch Ihre Laufzeit definiert und wie viel Stack-Speicherplatz pro Prozess zugeordnet ist.
- 1. Maximale Anzahl von Variablen in Klassen
- 2. Maximale Anzahl von Variablen in Methode
- 3. maximale Anzahl von contact_id
- 4. Maximale Anzahl von Sendeversuchen
- 5. Maximale Anzahl von Var/Funktionsdefinitionen in Javascript?
- 6. Verwendung von lokalen Variablen
- 7. maximale Anzahl in js
- 8. Maximale Anzahl von Enum-Elementen in Java
- 9. Maximale Anzahl von Inodes in einem Verzeichnis?
- 10. GLSL maximale Anzahl von Anweisungen
- 11. maximale Anzahl von Parametern in SQL-Abfrage
- 12. Maximale Anzahl von Berechtigungen überschritten
- 13. Maximale Anzahl von Objekten im Arbeitsbereich
- 14. Maximale Anzahl von Strings in Cbind?
- 15. jquery datatables - Maximale Anzahl von Spalten in einer Datentabelle
- 16. Maximale Anzahl von Threads in einer .NET App?
- 17. PHP, Laravel Controller: Maximale Anzahl von Methoden in einer Klasse
- 18. Maximale Anzahl von Funktionen in einer einzelnen Zelle
- 19. Maximale Anzahl der Paarungen von Elementen in einer Sequenz
- 20. Maximale (verwendbare) Anzahl von Zeilen in einer Postgresql-Tabelle
- 21. Maximale Anzahl von Objekten in NSArray
- 22. BLE: Maximale Anzahl von Paketen in Verbindungsintervall
- 23. Maximale Anzahl von Objekten in PDF
- 24. Maximale Anzahl von Else-Anweisungen in C++
- 25. Maximale Anzahl von Spalten in Crystal Reports?
- 26. Maximale Anzahl von Gruppen in Java Regex
- 27. Große Anzahl von Variablen innerhalb einer Containerklasse
- 28. Übergeben einer lokalen Variablen von einer Funktion an eine andere
- 29. Speichern von lokalen Variablen in Std :: Map
- 30. Statische Initialisierung von lokalen Variablen
Wie bezieht sich die Frage auf das Prinzip der einfachen Verantwortlichkeit? – Ankur
Ok. Die Beziehung ist also, dass es nicht gut ist, eine einzige Methode mit zu vielen lokalen Variablen zu haben. In diesem Fall könnte es gegen dieses Prinzip verstoßen. – Bajji
Sie können diesen Beitrag ansehen: - http://stackoverflow.com/questions/3700459/how-to-increase-to-java-stack-size –