JPype 1.0.2 ನವೀಕರಣ, ಪೈಥಾನ್‌ನಿಂದ ಜಾವಾ ತರಗತಿಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಲೈಬ್ರರಿಗಳು

ಲಭ್ಯವಿದೆ ಹೊಸ ಪದರದ ಬಿಡುಗಡೆ JPype 1.0.2, ಇದು ಜಾವಾ ಕ್ಲಾಸ್ ಲೈಬ್ರರಿಗಳಿಗೆ ಪೈಥಾನ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಸಂಪೂರ್ಣ ಪ್ರವೇಶವನ್ನು ಸಂಘಟಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಪೈಥಾನ್‌ನಿಂದ JPype ನೊಂದಿಗೆ, ಜಾವಾ ಮತ್ತು ಪೈಥಾನ್ ಕೋಡ್ ಅನ್ನು ಸಂಯೋಜಿಸುವ ಹೈಬ್ರಿಡ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ರಚಿಸಲು ನೀವು ಜಾವಾ-ನಿರ್ದಿಷ್ಟ ಲೈಬ್ರರಿಗಳನ್ನು ಬಳಸಬಹುದು. Jython ಗಿಂತ ಭಿನ್ನವಾಗಿ, JVM ಗಾಗಿ ಪೈಥಾನ್ ರೂಪಾಂತರವನ್ನು ರಚಿಸುವ ಮೂಲಕ ಜಾವಾದೊಂದಿಗೆ ಏಕೀಕರಣವನ್ನು ಸಾಧಿಸಲಾಗುತ್ತದೆ, ಆದರೆ ಹಂಚಿಕೆಯ ಮೆಮೊರಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಎರಡೂ ವರ್ಚುವಲ್ ಯಂತ್ರಗಳ ಮಟ್ಟದಲ್ಲಿ ಪರಸ್ಪರ ಕ್ರಿಯೆಯ ಮೂಲಕ ಸಾಧಿಸಲಾಗುತ್ತದೆ. ಪ್ರಸ್ತಾವಿತ ವಿಧಾನವು ಉತ್ತಮ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸಾಧಿಸಲು ಮಾತ್ರವಲ್ಲದೆ ಎಲ್ಲಾ ಸಿಪಿಥಾನ್ ಮತ್ತು ಜಾವಾ ಲೈಬ್ರರಿಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಪ್ರಾಜೆಕ್ಟ್ ಕೋಡ್ ವಿತರಿಸುವವರು ಅಪಾಚೆ 2.0 ಅಡಿಯಲ್ಲಿ ಪರವಾನಗಿ ಪಡೆದಿದೆ.

ಪ್ರಮುಖ ಬದಲಾವಣೆಗಳು:

  • ಓವರ್‌ಲೋಡ್ ರೆಸಲ್ಯೂಶನ್ ಅನ್ನು ತಪ್ಪಿಸಲು ವಿಧಾನ ಕರೆಗಳಿಗೆ ಸಂಗ್ರಹವನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ವಿಧಾನದ ರೆಸಲ್ಯೂಶನ್‌ನ ಕಾರ್ಯಕ್ಷಮತೆಯ ಪರಿಣಾಮವನ್ನು ಬಹಳವಾಗಿ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ, ವಿಶೇಷವಾಗಿ ಲೂಪ್‌ಗಳಲ್ಲಿ ಅದೇ ಓವರ್‌ಲೋಡ್ ಅನ್ನು ಹಲವು ಬಾರಿ ಕರೆದರೆ.
  • 4 ರಿಂದ 100 ಬಾರಿ, ಡೇಟಾದ ಪ್ರಕಾರವನ್ನು ಅವಲಂಬಿಸಿ, ಪಟ್ಟಿಗಳು, ಟ್ಯೂಪಲ್ಸ್ ಮತ್ತು ಬಫರ್‌ಗಳ ವರ್ಗಾವಣೆಯನ್ನು ಜಾವಾ ಪ್ರಾಚೀನಗಳ ಸರಣಿಗಳಿಗೆ ವೇಗಗೊಳಿಸಲಾಗುತ್ತದೆ. ರೂಪಾಂತರವು ಅನುಕ್ರಮ API ಬದಲಿಗೆ ಆಪ್ಟಿಮೈಸ್ಡ್ ಇನ್-ಮೆಮೊರಿ ಬಫರ್ ನಿರ್ವಹಣೆಯನ್ನು ಬಳಸುತ್ತದೆ. ಪೈಥಾನ್ ಬಫರ್ ಎದುರಾದಾಗ, ಮೊದಲ ಅಂಶವನ್ನು ಮಾತ್ರ ಪರಿವರ್ತನೆಗಾಗಿ ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ, ಏಕೆಂದರೆ ಈ ಬಫರ್‌ಗಳು ಏಕರೂಪವಾಗಿರುತ್ತವೆ.
  • ಸ್ಥಗಿತಗೊಳಿಸುವ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು (JPype 1.0.0 ನಲ್ಲಿ ಅಳವಡಿಸಲಾಗಿದೆ, ಆದರೆ ಚೇಂಜ್ಲಾಗ್ ಅನ್ನು ಸಿದ್ಧಪಡಿಸುವಾಗ ಬಿಟ್ಟುಬಿಡಲಾಗಿದೆ). JPype ಈಗ JVM ನ ಸ್ಥಗಿತಗೊಳಿಸುವ ವಿಧಾನವನ್ನು ಕರೆಯುತ್ತದೆ, ಇದು ಆಕರ್ಷಕವಾಗಿ ನಿರ್ಗಮಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ. ಇದು ಹಲವಾರು ನಡವಳಿಕೆಯ ಬದಲಾವಣೆಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಹಿನ್ನೆಲೆಯಲ್ಲದ ಥ್ರೆಡ್‌ಗಳು (ಪ್ರಾಕ್ಸಿ ಕರೆಗಳು) ಈಗ JVM ಅನ್ನು ಕೊನೆಗೊಳಿಸುವವರೆಗೆ ತೆರೆದಿಡಬಹುದು. ಕರೆ ಪೂರ್ಣಗೊಳ್ಳುವವರೆಗೆ ಪ್ರಾಕ್ಸಿ ಕರೆಗಳು ಸ್ಥಗಿತಗೊಳಿಸುವಿಕೆಯನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತವೆ, ಆದರೆ ಸ್ಥಗಿತಗೊಳಿಸುವ ಸಂದೇಶವನ್ನು ಸ್ವೀಕರಿಸುತ್ತವೆ. ಥ್ರೆಡ್‌ಗಳು ವಿನಾಯಿತಿಯನ್ನು ಸರಿಯಾಗಿ ನಿರ್ವಹಿಸಿದರೆ ಫೈಲ್‌ಗಳನ್ನು ಈಗ ಸರಿಯಾಗಿ ಮುಚ್ಚಲಾಗಿದೆ ಮತ್ತು ಡಿಸ್ಕ್‌ಗೆ ಫ್ಲಶ್ ಮಾಡಲಾಗುತ್ತದೆ. ಸಂಪನ್ಮೂಲ ಸ್ವಚ್ಛಗೊಳಿಸುವ ಕೊಕ್ಕೆಗಳು ಮತ್ತು ಅಂತಿಮಗೊಳಿಸುವವರನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಎಳೆಗಳನ್ನು ಮೊಟ್ಟೆಯಿಟ್ಟಾಗ, AtExit ಕೊಕ್ಕೆಗಳನ್ನು ಕರೆಯಲಾಗುತ್ತದೆ. ಡೀಮನ್ ಮೂಲಕ, ಪೈಥಾನ್‌ನಿಂದ JVM ಅನ್ನು ಬಳಸುವಾಗ ಸ್ವಯಂಚಾಲಿತ ಥ್ರೆಡ್ ಲಗತ್ತನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಥ್ರೆಡ್ ಕ್ಲೀನಪ್ ಅನ್ನು ಸರಿಯಾಗಿ ನಿರ್ವಹಿಸಲು ವಿಫಲವಾದ ತಪ್ಪಾದ ಕೋಡ್ ಸ್ಥಗಿತಗೊಳ್ಳುವಿಕೆಯ ಮೇಲೆ ಸ್ಥಗಿತಗೊಳ್ಳುವ ಸಾಧ್ಯತೆಯಿದೆ. ಹೆಚ್ಚುವರಿ ದಸ್ತಾವೇಜನ್ನು ಬಳಕೆದಾರರ ಮಾರ್ಗದರ್ಶಿಯಲ್ಲಿದೆ.
  • ಥ್ರೋಬಲ್‌ಗಾಗಿ ಹೊದಿಕೆಯು ನಿರೀಕ್ಷಿತ ಫಲಿತಾಂಶದ ಬದಲಿಗೆ ಆಬ್ಜೆಕ್ಟ್‌ಗೆ ಹೊದಿಕೆಯನ್ನು ಪಡೆಯುತ್ತಿದೆ, ಇದು ಪೈಥಾನ್ ತರಗತಿಗಳಿಂದ ವಿಚಿತ್ರವಾದ ಪರಿವರ್ತನೆಗಳಿಗೆ ಕಾರಣವಾಯಿತು.
  • ಆಮದು ವ್ಯವಸ್ಥೆಯಲ್ಲಿನ ಸ್ಥಿರ ಮುದ್ರಣದೋಷಗಳು '"jname" ಕಂಡುಬಂದಿಲ್ಲ' ದೋಷಕ್ಕೆ ಕಾರಣವಾಯಿತು.
  • ಕೀಬೋರ್ಡ್ ಇಂಟರಪ್ಟ್‌ನಲ್ಲಿ "^C" ನ ಸರಿಯಾದ ಪ್ರಚಾರವನ್ನು ಖಾತ್ರಿಪಡಿಸಲಾಗಿದೆ.
  • ಪೈಥಾನ್ 3.5.3 ನೊಂದಿಗೆ ಸ್ಥಿರ ಅಕ್ಷರ ಸಮಸ್ಯೆ. PySlice_Unpack ಅನ್ನು ನಂತರದ ಪ್ಯಾಚ್ ಬಿಡುಗಡೆಯಲ್ಲಿ (3.5.4) ಪರಿಚಯಿಸಲಾಯಿತು ಮತ್ತು ಅದನ್ನು ಬಳಸಬಾರದು.
  • numpy.linalg.inv ನೊಂದಿಗೆ ಕ್ರ್ಯಾಶ್ ಅನ್ನು ಪರಿಹರಿಸಲಾಗಿದೆ. JVM ಮತ್ತು numpy ಯ ಕೆಲವು ರೂಪಾಂತರಗಳ ನಡುವಿನ ಥ್ರೆಡ್ ಸಂವಹನದಿಂದ ಸಮಸ್ಯೆಯನ್ನು ಪತ್ತೆಹಚ್ಚಲಾಗಿದೆ. JVM ಅನ್ನು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು numpy.linalg.inv ಗೆ ಕರೆ ಮಾಡುವುದು ಸೂಚಿಸಲಾದ ಪರಿಹಾರವಾಗಿದೆ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ