Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[java] - Rekurencja ogonowa w Javie 8

Kluczownik_ 13 Wrz 2015 19:07 1221 3
  • #1 13 Wrz 2015 19:07
    Kluczownik_
    Poziom 5  

    Witam. Szukałem w internecie informacji o rekurencji ogonowej w Javie i z tego co wyczytałem to Java nie supportuje rekurencji ogonowej. Jednak informacje te dotyczyły starszych wersji Javy, a jak wiadomo w wersji 8 doszły wyrażenia lambda i interfejsy funkcyjne stąd pytanie czy Java 8 umożliwia rekurencję ogonową?

    0 3
  • #2 13 Wrz 2015 19:44
    -psiak-
    Poziom 32  

    Rekurencja ogonowa jest możliwa w każdym języku w którym istnieje jakakolwiek rekurencja.
    Więc rekurencja ogonowa jest możliwa poczynając od pierwszej wersji java.
    Stąd pytanie:
    Co rozumiesz pod "supportowaniem" rekurencji ogonowej?

    0
  • #3 13 Wrz 2015 19:54
    Kluczownik_
    Poziom 5  

    Chodzi mi o optymalizację pod tym kątem. Rekurencja ogonowa faktycznie jest możliwa wszędzie, ale nie w każdym języku pozwoli zoptymalizować kod aby uniknąć np. przepełnienia stosu.

    0
  • #4 13 Wrz 2015 19:57
    -psiak-
    Poziom 32  

    Nawet kompilatorach/interpretatorach które optymalizują rekurencje ogonową do pętli nie ma gwarancji że kompilator/interpretator to zrobi.
    Więc jeżeli masz ryzyko przepełnienia, to lepiej nie używaj rekurencji.

    0
  Szukaj w 5mln produktów