Память рекурсии Java

In [15]: def sum_col(df, col, new_col):
   ....:     df[new_col] = df[col].sum()
   ....:     return df

In [16]: df.groupby("A").apply(sum_col, 'values', 'sum_values_A')
Out[16]: 
   A  B  values  sum_values_A
0  1  1      10            25
1  1  2      15            25
2  2  1      20            45
3  2  2      25            45
-4
задан Tiw 12 March 2019 в 16:43
поделиться

2 ответа

Это зависит от вашего кода. Прежде всего, если вы работаете с рекурсивным методом, jvm сохраняет каждый объект в куче и содержит ссылку на каждый объект в стеке. Если вы хотите предотвратить эту ошибку, вы должны инициализировать неиспользуемый объект как ноль.

0
ответ дан user2363641 12 March 2019 в 16:43
поделиться

Если вам абсолютно необходим такой большой массив (и я рекомендую вам дважды подумать, прежде чем использовать этот большой массив и искать лучшее решение для памяти), вы можете увеличить максимальный объем памяти Java-программы во время запуска с помощью аргумента [ 110]

Например: java -jar myProgram.jar -Xmx1G использовать 1 ГБ в качестве памяти максимального размера кучи (обратите внимание, что если этого недостаточно, вы можете увеличить больше)

Обратите внимание, что вы также можете указать начальный размер кучи с помощью аргумент -Xms

0
ответ дан CharybdeBE 12 March 2019 в 16:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: