ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
- Π Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΎΠΊ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΎΠ΄Π½Π° ΠΈ ΡΠ° ΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠ° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·, ΠΊΠ°ΠΊ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ².
- ΠΡ 4 Π΄ΠΎ 100 ΡΠ°Π·, Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ , ΡΡΠΊΠΎΡΠ΅Π½Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠΏΠΈΡΠΊΠΎΠ², ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΉ ΠΈ Π±ΡΡΠ΅ΡΠΎΠ² Π² ΠΌΠ°ΡΡΠΈΠ²Ρ Java-ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ². ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π±ΡΡΠ΅ΡΠΎΠ² Π² ΠΏΠ°ΠΌΡΡΠΈ, Π²ΠΌΠ΅ΡΡΠΎ Sequence API. ΠΠΎΠ³Π΄Π° Python-Π±ΡΡΠ΅Ρ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ, ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½Ρ.
- ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ shutdown (ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π΅ΡΡ Π² JPype 1.0.0, Π½ΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠΎΠΏΡΡΠ΅Π½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ). JPype ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ shutdown-ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ JVM, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΡΠ°Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²ΡΡ ΠΎΠ΄ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ «gracefully». ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌ Π² ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ. ΠΠ΅ ΡΠΎΠ½ΠΎΠ²ΡΠ΅ Π½ΠΈΡΠΈ (proxy call) ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠ³ΡΡ Π΄Π΅ΡΠΆΠ°ΡΡ JVM ΠΎΡΠΊΡΡΡΡΠΌ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½Ρ. ΠΡΠ·ΠΎΠ²Ρ Proxy Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ shutdown Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π²ΡΠ·ΠΎΠ² Π½Π΅ Π·Π°Π²Π΅ΡΡΡΠ½, Π½ΠΎ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΈ. Π€Π°ΠΉΠ»Ρ ΡΠ΅ΠΏΠ΅ΡΡ Π·Π°ΠΊΡΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ ΠΈ ΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π΄ΠΈΡΠΊ (flush), Π΅ΡΠ»ΠΈ Π½ΠΈΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Ρ ΡΠΊΠΈ ΠΎΡΠΈΡΡΠΊΠΈ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ ΡΠΈΠ½Π°Π»ΠΈΠ·Π°ΡΠΎΡΡ. ΠΡΠΈ ΠΏΠΎΡΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Π½ΠΈΡΠ΅ΠΉ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ AtExit-Ρ ΡΠΊΠΈ. Π§Π΅ΡΠ΅Π· Π΄Π΅ΠΌΠΎΠ½ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π½ΠΈΡΠ΅ΠΉ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ JVM ΠΈΠ· Python. ΠΡΠΈΠ±ΠΎΡΠ½ΡΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΡΠΈΡΡΠΊΡ Π½ΠΈΡΠΈ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π·Π°Π²ΠΈΡΠ½Π΅Ρ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ shutdown. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
- ΠΠ±ΡΡΡΠΊΠ° Π΄Π»Ρ Throwable ΠΏΠΎΠ»ΡΡΠ°Π»Π° ΠΎΠ±ΡΡΡΠΊΡ Π΄Π»Ρ Object Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ ΡΡΡΠ°Π½Π½ΡΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡΠΌ ΠΈΠ· Python-ΠΊΠ»Π°ΡΡΠΎΠ².
- ΠΡΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΊΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈΠΌΠΏΠΎΡΡΠ°, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠΈΠ΅ ΠΊ Π²ΡΠ²ΠΎΠ΄Ρ ΠΎΡΠΈΠ±ΠΊΠΈ ‘»jname» not found’.
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ «^C» Π² KeyboardInterrupt.
- Π£ΡΡΡΠ°Π½Π΅Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ Ρ Python 3.5.3. PySlice_Unpack Π±ΡΠ» Π²Π²Π΅Π΄ΡΠ½ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠ°ΡΡ-ΡΠ΅Π»ΠΈΠ·Π΅ (3.5.4) ΠΈ Π΅Π³ΠΎ Π½Π΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
- Π Π°Π·ΠΎΠ±ΡΠ°Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° Ρ numpy.linalg.inv, ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΠ°Ρ ΠΊ ΠΏΠ°Π΄Π΅Π½ΠΈΡ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π±ΡΠ»Π° ΠΎΡΡΠ»Π΅ΠΆΠ΅Π½Π° Π΄ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ JVM ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ numpy. ΠΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ — Π²ΡΠ·ΠΎΠ² numpy.linalg.inv Π΄ΠΎ Π·Π°ΠΏΡΡΠΊΠ° JVM.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru