JPype 1.0.2 ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงืŸ, ืœื™ื™ื‘ืจืขืจื™ื– ืคึฟืึทืจ ืึทืงืกืขืก Java ืงืœืืกืŸ ืคึฟื•ืŸ Python

ื‘ื ื™ืžืฆื ื ื™ื™ึท ืžืขืœื“ื•ื ื’ ืคื•ืŸ ื™ื ื˜ืขืจืœื™ื™ึทืขืจ JPype 1.0.2, ื•ื•ืึธืก ืึทืœืึทื•ื– Python ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืฆื• ื”ืึธื‘ืŸ ืคื•ืœ ืึทืงืกืขืก ืฆื• ืงืœืึทืก ืœื™ื™ื‘ืจืขืจื™ื– ืื™ืŸ ื“ื™ Java ืฉืคึผืจืึทืš. ืžื™ื˜ JPype ืคึฟื•ืŸ Python, ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ Java-ืกืคึผืขืฆื™ืคื™ืฉ ืœื™ื™ื‘ืจืขืจื™ื– ืฆื• ืฉืึทืคึฟืŸ ื›ื™ื™ื‘ืจื™ื“ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื•ื•ืึธืก ืคืึทืจื‘ื™ื ื“ืŸ Java ืื•ืŸ Python ืงืึธื“. ื ื™ื˜ ืขื ืœืขืš Jython, ื™ื ืึทื’ืจื™ื™ืฉืึทืŸ ืžื™ื˜ Java ืื™ื– ืึทื˜ืฉื™ื•ื•ื“ ื ื™ื˜ ื“ื•ืจืš ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ืคึผื™ื˜ื”ืึธืŸ ื•ื•ืึทืจื™ืึทื ื˜ ืคึฟืึทืจ ื“ื™ JVM, ืึธื‘ืขืจ ื“ื•ืจืš ื™ื ื˜ืขืจืึทืงืฉืึทืŸ ืื•ื™ืฃ ื“ื™ ืžื“ืจื’ื” ืคื•ืŸ ื‘ื™ื™ื“ืข ื•ื•ื™ืจื˜ื•ืึทืœ ืžืืฉื™ื ืขืŸ ื ื™ืฆืŸ ืฉืขืจื“ ื–ื›ึผืจื•ืŸ. ื“ืขืจ ืคืืจื’ืขืœื™ื™ื’ื˜ ืฆื•ื’ืึทื ื’ ืึทืœืึทื•ื– ื ื™ื˜ ื‘ืœื•ื™ื– ืฆื• ื“ืขืจื’ืจื™ื™ื›ืŸ ื’ื•ื˜ ืคืึธืจืฉื˜ืขืœื•ื ื’, ืึธื‘ืขืจ ืื•ื™ืš ื’ื™ื˜ ืึทืงืกืขืก ืฆื• ืึทืœืข CPython ืื•ืŸ Java ืœื™ื™ื‘ืจืขืจื™ื–. ืคึผืจืึธื™ืขืงื˜ ืงืึธื“ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ื“ื•ืจืš ืœื™ื™ืกืึทื ืกื˜ ืื•ื ื˜ืขืจ ืึทืคึผืึทื˜ืฉื™ 2.0.

ื”ื•ื™ืคึผื˜ ืขื ื“ืขืจื•ื ื’ืขืŸ:

  • ื ืงืึทืฉ ืื™ื– ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฆื• ืžืขื˜ืึธื“ ืงืึทืœืœืก ืฆื• ื•ื™ืกืžื™ื™ื“ืŸ ืึธื•ื•ืขืจืœืึธืึทื“ ื”ืึทื›ืœืึธื˜ืข, ื•ื•ืึธืก ืฉื˜ืืจืง ืจืึทื“ื•ืกืึทื– ื“ื™ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคึผืจืึทืœ ืคื•ืŸ ืื•ืคึฟืŸ ื”ืึทื›ืœืึธื˜ืข, ืกืคึผืขืฆื™ืขืœ ืื•ื™ื‘ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืึธื•ื•ืขืจืœืึธืึทื“ ืื™ื– ื’ืขืจื•ืคืŸ ืคื™ืœืข ืžืึธืœ, ื•ื•ื™ ื‘ืขืฉืึทืก ืฉืœื™ื™ืฃ ื“ื•ืจื›ืคื™ืจื•ื ื’.
  • ืคื•ืŸ 4 ืฆื• 100 ืžืืœ, ื“ื™ืคึผืขื ื“ื™ื ื’ ืื•ื™ืฃ ื“ื™ ื“ืึทื˜ืŸ ื˜ื™ืคึผ, ื“ื™ ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืคื•ืŸ ืจืฉื™ืžื•ืช, ื˜ื•ืคึผืœืขืก ืื•ืŸ ื‘ืึทืคืขืจื– ืฆื• ืขืจื™ื™ื– ืคื•ืŸ Java ืคึผืจื™ืžื™ื˜ื™ื•ื•ื– ืื™ื– ืึทืงืกืขืœืขืจื™ื™ื˜ื™ื“. ื“ื™ ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ ื ื™ืฆื˜ ืึธืคึผื˜ื™ืžื™ื–ืขื“ ืคึผืจืึทืกืขืกื™ื ื’ ืคื•ืŸ ืื™ืŸ-ื–ื™ืงืึธืจืŸ ื‘ืึทืคืขืจื–, ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ื“ื™ ืกื™ืงื•ื•ืึทื ืก ืึทืคึผื™. ื•ื•ืขืŸ ืึท ืคึผื™ื˜ื”ืึธืŸ ื‘ืึทืคืขืจ ืื™ื– ื’ืขืคึผืœืึธื ื˜ืขืจื˜, ื‘ืœื•ื™ื– ื“ืขืจ ืขืจืฉื˜ืขืจ ืขืœืขืžืขื ื˜ ืื™ื– ืึธืคึผื’ืขืฉื˜ืขืœื˜ ืคึฟืึทืจ ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ, ื•ื•ื™ื™ึทืœ ื“ื™ ื‘ืึทืคืขืจื– ื–ืขื ืขืŸ ื›ืึธื•ืžืึทื“ื–ืฉื™ื ื™ืึทืก.
  • ืคึผืจืึทืกืขืกื™ื ื’ ืฉืึทื˜ื“ืึทื•ืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื– (ื™ืžืคึผืœืึทืžืขื ืึทื“ ืื™ืŸ JPype 1.0.0, ืึธื‘ืขืจ ืื™ื– ื’ืขื•ื•ืขืŸ ืกืงื™ืคึผื˜ ื•ื•ืขืŸ ืคึผืจื™ืคึผืขืจื™ื ื’ ื“ื™ ื˜ืฉืึทื ื’ืขืœืึธื’). JPype ืื™ืฆื˜ ืจื•ืคื˜ ื“ื™ JVM ืฉืึทื˜ื“ืึทื•ืŸ ืจื•ื˜ื™ืŸ, ื•ื•ืึธืก ืคืจื•ื•ื•ืŸ ืฆื• ืึทืจื•ื™ืกื’ืึทื ื’ ื’ืจืึทืฆื™ืขื–. ื“ืึธืก ืคื™ืจื˜ ืฆื• ืขื˜ืœืขื›ืข ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ ื ืึทื˜ื•ืจ. ื ื™ื˜-ื”ื™ื ื˜ืขืจื’ืจืึธื•ื ื“ ืคึฟืขื“ืขื (ืคึผืจืึธืงืกื™ ืงืึทืœืœืก) ืงืขื ืขืŸ ืื™ืฆื˜ ื”ืึทืœื˜ืŸ ื“ื™ JVM ืึธืคึฟืŸ ื‘ื™ื– ื–ื™ื™ ื–ืขื ืขืŸ ืคืึทืจื˜ื™ืง. ืคึผืจืึธืงืกื™ ืงืึทืœืœืก ื•ื•ืขื˜ ืคึผืจืึธืฆืขืก ืฉืึทื˜ื“ืึทื•ืŸ ื‘ื™ื– ื“ื™ ืจื•ืคืŸ ืงืึทืžืคึผืœื™ืฅ, ืึธื‘ืขืจ ื•ื•ืขื˜ ื‘ืึทืงื•ืžืขืŸ ืึท ืึทื‘ืึธืจื˜ ืึธื ื–ืึธื’. ื˜ืขืงืขืก ื–ืขื ืขืŸ ืื™ืฆื˜ ืคึฟืึทืจืžืึทื›ื˜ ืจืขื›ื˜ ืื•ืŸ ืคืœืึทืฉื˜ ืฆื• ื“ื™ืกืง ืื•ื™ื‘ ื“ื™ ืคึฟืขื“ืขื ืฉืขืคึผืŸ ื“ื™ ื•ื™ืกื ืขื ื•ื•ื™ ื“ืขืจื•ื•ืึทืจื˜. ืžื™ื˜ืœ ืงืœื™ื ืึทืคึผ ื›ื•ืงืก ืื•ืŸ ืคื™ื™ื ืึทืœื™ื™ื–ืขืจื– ื–ืขื ืขืŸ ืขืงืกืึทืงื™ื•ื˜ืึทื“. ื•ื•ืขืŸ ืคึฟืขื“ืขื ื–ืขื ืขืŸ ืกืคึผืึธื ื“, AtExit ื›ื•ืงืก ื–ืขื ืขืŸ ื’ืขืจื•ืคืŸ. ื“ื•ืจืš ื“ื™ ื“ื™ื™ืžืึทืŸ, ืึธื˜ืึทืžืึทื˜ื™ืง ืคืึธื“ืขื ืึทื˜ืึทื˜ืฉืžืึทื ื˜ ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ื•ื•ืขืŸ ื ื™ืฆืŸ ื“ื™ JVM ืคึฟื•ืŸ Python. ื•ื•ืึธื’ืŸ ืงืึธื“ ื•ื•ืึธืก ืงืขื ืขืŸ ื ื™ืฉื˜ ืจืขื›ื˜ ืฉืขืคึผืŸ ืคืึธื“ืขื ืงืœื™ื ืึทืคึผ ื•ื•ืขื˜ ืžืกืชึผืžื ื”ืขื ื’ืขืŸ ื•ื•ืขืŸ ืฉืึทื˜ื“ืึทื•ืŸ ืื™ื– ืขืงืกืึทืงื™ื•ื˜ืึทื“. ื ืึธืš ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืคึฟื•ื ืขืŸ ืื™ืŸ ื“ื™ ื‘ืึทื ื™ืฆืขืจ ืžืึทื ื•ืึทืœ.
  • ื“ื™ ืจืึทืคึผืขืจ ืคึฟืึทืจ Throwable ื‘ืืงื•ืžืขืŸ ืึท ืจืึทืคึผืขืจ ืคึฟืึทืจ ืึธื‘ื“ื–ืฉืขืงื˜ ืึทื ืฉื˜ืึธื˜ ืคื•ืŸ ื“ื™ ื“ืขืจื•ื•ืึทืจื˜ ืจืขื–ื•ืœื˜ืึทื˜, ื•ื•ืึธืก ื’ืขืคึฟื™ืจื˜ ืฆื• ืžืึธื“ื ืข ืงืึทื ื•ื•ืขืจื–ืฉืึทื ื– ืคื•ืŸ ืคึผื™ื˜ื”ืึธืŸ ืงืœืืกืŸ.
  • ืคืึทืจืคืขืกื˜ื™ืงื˜ ื˜ื™ืคึผืึธืก ืื™ืŸ ื“ื™ ืึทืจื™ื™ึทื ืคื™ืจ ืกื™ืกื˜ืขื ื•ื•ืึธืก ืจื™ื–ืึทืœื˜ื™ื“ ืื™ืŸ ื“ืขืจ ื˜ืขื•ืช 'ยปjnameยป ื ื™ื˜ ื’ืขืคึฟื•ื ืขืŸ.
  • ื™ื ืฉื•ืจื“ ืึทื– "^ C" ืื™ื– ืคึผืจืึธืžืึธื˜ืขื“ ืจื™ื›ื˜ื™ืง ืื™ืŸ KeyboardInterrupt.
  • ืคืึทืจืคืขืกื˜ื™ืงื˜ ืคึผืจืึธื‘ืœืขื ืžื™ื˜ ืกื™ืžื‘ืึธืœืก ื–ื™ื ื˜ Python 3.5.3. PySlice_Unpack ืื™ื– ื‘ืึทืงืขื ืขื  ืื™ืŸ ืึท ืกืึทื‘ืกืึทืงื•ื•ืึทื ื˜ ืœืึทื˜ืข ืžืขืœื“ื•ื ื’ (3.5.4) ืื•ืŸ ื–ืึธืœ ื ื™ืฉื˜ ื”ืึธื‘ืŸ ืฉื•ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜.
  • ืคืึทืจืคืขืกื˜ื™ืงื˜ ืึท ื–ืฉื•ืง ืžื™ื˜ numpy.linalg.inv ื•ื•ืึธืก ื’ืขืคึฟื™ืจื˜ ืฆื• ืึท ืงืจืึทืš. ื“ื™ ืึทืจื•ื™ืกื’ืขื‘ืŸ ืื™ื– ื’ืขื•ื•ืขืŸ ื˜ืจื™ื™ืกื˜ ืฆื• ืคืึธื“ืขื ืงืึธืžื•ื ื™ืงืึทืฆื™ืข ืฆื•ื•ื™ืฉืŸ ื“ื™ JVM ืื•ืŸ ืขื˜ืœืขื›ืข ื ืึทืžืคึผื™ ืคืœื™ื™ื•ื•ืขืจื–. ื“ื™ ืคืืจื’ืขืœื™ื™ื’ื˜ ืœื™ื™ื–ื•ื ื’ ืื™ื– ืฆื• ืจื•ืคืŸ numpy.linalg.inv ืื™ื™ื“ืขืจ ืื™ืจ ืึธื ื”ื™ื™ื‘ืŸ ื“ื™ JVM.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’