Это - все еще Python 2.6 по сравнению с Python 3?

Java может потерпеть крах.

Причиной может быть ..

OutOfMemoryError
StackoverFlowError
OutOfMemoryError: PermGen space.

OutOfMemoryError Брошенный, когда Виртуальная машина Java не может выделить объект, потому что ему не хватает памяти, и сборщик мусора не мог сделать больше доступной памяти.

StackoverFlowError StackOverflowException генерируется для ошибок переполнения стека выполнения, как правило, в случае очень глубокой или неограниченной рекурсии.

OutOfMemoryError: пространство PermGen Подробное сообщение пространство PermGen указывает, что постоянное поколение заполнено. Постоянное поколение - это область кучи, где хранятся объекты класса и метода. Если приложение загружает очень большое количество классов, размер постоянного поколения может потребоваться увеличить с помощью опции -XX: MaxPermSize.

Вопрос был о проблемах с памятью, которые могут вызвать сбой.

Другими проблемами, которые могут вызвать сбой, но могут быть обнаружены программой и восстановлены из , возможно , являются любые исключения времени выполнения. т.е.

ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

Я не буду вдаваться в эти здесь. но взгляните на ... текст ссылки

8
задан Community 23 May 2017 в 12:19
поделиться

5 ответов

Да. Практически все живые производственные системы еще долгое время будут использовать 2.5 / 2.6. Нет смысла изучать 3.0, нужно только понизить его, потому что ваш хост его не поддерживает.

95% того, что вы узнаете в 2.5 / 2.6, в любом случае применимо к 3.

9
ответ дан 5 December 2019 в 10:04
поделиться

Зависит от количества библиотек, которые вы собираетесь использовать.

  • Сырой Python или все библиотеки доступны для Py3k - не сомневайтесь.

  • Распространяется код Python в качестве автономного приложения (с использованием PyInstaller), полагаясь на некоторую библиотеку GUI, XML-lib, win32api и т. д. - дважды проверьте, доступны ли все библиотеки, по крайней мере, как бета-версии для Py3k. По-прежнему высоки шансы, что какая-то старая библиотека недоступна для Python 3.x, и вы либо сами переносите ее на новую версию Python, либо переключаетесь на другую библиотеку, либо - какое-то время придерживайтесь Python 2.6.

3
ответ дан 5 December 2019 в 10:04
поделиться

Если вы хотите использовать только стандартную библиотеку, попробуйте Python 3.1. Если вы хотите использовать другие библиотеки / фреймворки, они определяют версию для использования. Например, фреймворк web2py лучше всего работает на 2.5.

2
ответ дан 5 December 2019 в 10:04
поделиться

Проблема в том, что если вы начали с версии 2.4 или выше, лучше начать с нее, чтобы вы могли быстрее двигаться по пути, через некоторое время, когда вы почувствуете себя комфортно с вами. можете попробовать 3.0 и узнать, что они изменили, и изучить новый стиль.

Я на этот раз все еще кодирую стиль 2.6 и следую этим рекомендациям, до сих пор не видел изменений в 3.0

1
ответ дан 5 December 2019 в 10:04
поделиться

I would say that Python 2.4 is the safest to learn, but the changes from 2.4->2.5->2.6 make some small progress towards Python 3.x, even if they may never make it (if I recall there will be some more steps?).

Python 3.1 can be used if you own a dedicated server and intend to build your own applications from the ground up. WSGI does support this, but I wouldn't recommend it.

As has already been said, I would learn the Python 2.5 or Python 2.6 style, but I would make a few changes.

Look at the Python 3 style regarding brackets.

e.g. The print function in 2.x has always been just

print "Hello World"

Where as in 3.x you need to enclose it

print("Hello World")

This is probably a good practice to pick up on, but things like Exceptions will cause issues if you use 3.x in 2.x. I know it's probably a bit confusing, but if you make sure you wrap your functions (additional brackets shouldn't really hurt most things) so that nothing is bare (bare like the first code snippet above), then it'll help with the transition.

2
ответ дан 5 December 2019 в 10:04
поделиться
Другие вопросы по тегам:

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