JPype 0.7.2 ಬಿಡುಗಡೆ, ಪೈಥಾನ್‌ನಿಂದ ಜಾವಾ ತರಗತಿಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಲೈಬ್ರರಿಗಳು

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

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

  • C++ ಮತ್ತು Java ಕೋಡ್‌ನಲ್ಲಿ ಎಸೆದ ವಿನಾಯಿತಿಗಳು ಈಗ ಪೈಥಾನ್ ಕೋಡ್‌ನಲ್ಲಿ ವಿನಾಯಿತಿ ಸಂಭವಿಸಿದಾಗ ವಿನಾಯಿತಿ ಸ್ಟಾಕ್ ಅನ್ನು ಒದಗಿಸುತ್ತದೆ. ಹೀಗಾಗಿ, ವಿನಾಯಿತಿ ಸ್ಟಾಕ್ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು, ನೀವು ಇನ್ನು ಮುಂದೆ ಸ್ಟಾಕ್ಟ್ರೇಸ್ () ಗೆ ಕರೆ ಮಾಡಬೇಕಾಗಿಲ್ಲ.
  • ಕರೆ ಹಿಂತಿರುಗಿಸುವ ವೇಗವನ್ನು ಮೂರು ಪಟ್ಟು ಹೆಚ್ಚಿಸಲಾಗಿದೆ.
  • ಗಮನಾರ್ಹವಾಗಿ (ಪ್ರಮಾಣದ ಆದೇಶಗಳಿಂದ) ಪ್ರಸರಣ ವೇಗವನ್ನು ಹೆಚ್ಚಿಸಲಾಗಿದೆ
    ಬಹುಆಯಾಮದ ಅರೇಗಳ ನಂಬಿ ಬಫರ್‌ಗಳು. ಬಹುಆಯಾಮದ ಪುರಾತನಗಳು JVM ನೊಳಗೆ ರಚಿಸಲಾದ ಓದಲು-ಮಾತ್ರ ಪ್ರತಿಗಳನ್ನು ಪಕ್ಕದ C ಲೇಔಟ್‌ನೊಂದಿಗೆ ರವಾನಿಸುತ್ತವೆ.

  • ಎಲ್ಲಾ ಬಹಿರಂಗಗೊಂಡ ಇಂಟರ್ನಲ್‌ಗಳನ್ನು CPython ಅಳವಡಿಕೆಗಳೊಂದಿಗೆ ಬದಲಾಯಿಸಲಾಗಿದೆ, ಮತ್ತು __javaclass__, __javavalue__ ಮತ್ತು __javaproxy__ ಚಿಹ್ನೆಗಳು
    ಅಳಿಸಲಾಗಿದೆ. jpype ವರ್ಗ ಪ್ರಕಾರಗಳಿಂದ ಆನುವಂಶಿಕವಾಗಿ ಪಡೆಯುವ ಎಲ್ಲಾ CPython ಪ್ರಕಾರಗಳಿಗೆ ಮೀಸಲಾದ ಜಾವಾ ಸ್ಲಾಟ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಎಲ್ಲಾ ಖಾಸಗಿ ಕೋಷ್ಟಕಗಳನ್ನು CPython ಗೆ ಸರಿಸಲಾಗಿದೆ. ಜಾವಾ ಪ್ರಕಾರಗಳು ಈಗ JClass ಮೆಟಾಕ್ಲಾಸ್‌ನಿಂದ ಆನುವಂಶಿಕವಾಗಿ ಪಡೆಯಬೇಕು, ಇದು ಟೈಪ್ ಸ್ಲಾಟ್‌ಗಳನ್ನು ಬಳಸುತ್ತದೆ. ಪೈಥಾನ್ ಬೇಸ್ ತರಗತಿಗಳಿಗೆ ಮಿಕ್ಸಿನ್‌ಗಳನ್ನು ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ. ವಿಧಗಳೆಂದರೆ ಆಬ್ಜೆಕ್ಟ್, ಪ್ರಾಕ್ಸಿ, ಎಕ್ಸೆಪ್ಶನ್, ಸಂಖ್ಯೆ ಮತ್ತು ಅರೇ ಮತ್ತು ಸಿಪಿಥಾನ್‌ನ ಆಂತರಿಕ ಅನುಷ್ಠಾನಗಳಿಂದ ನೇರವಾಗಿ ಉತ್ತರಾಧಿಕಾರ.

  • ಸುಧಾರಿತ ಪತ್ತೆಹಚ್ಚುವಿಕೆ ಮತ್ತು ವಿನಾಯಿತಿ ನಿರ್ವಹಣೆ.
  • ಅರೇ ಸ್ಲೈಸ್‌ಗಳನ್ನು ಈಗ ನಂಬಿ ಅರೇಯಂತಹ ಮೂಲಕ್ಕೆ ಬರವಣಿಗೆಯನ್ನು ಬೆಂಬಲಿಸುವ ವೀಕ್ಷಣೆಗಳಾಗಿ ಸಂಸ್ಕರಿಸಲಾಗುತ್ತದೆ. ಅರೇ ಸ್ಲೈಸಿಂಗ್‌ಗಾಗಿ, ಹಂತಗಳಲ್ಲಿ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿಸಲು ಮತ್ತು ಮರುಪಡೆಯಲು ಬೆಂಬಲವನ್ನು ಒದಗಿಸಲಾಗಿದೆ (ಸ್ಲೈಸ್ (ಪ್ರಾರಂಭ, ನಿಲ್ಲಿಸಿ, ಹಂತ)).
  • ಅರೇಗಳು ಈಗ "__ ರಿವರ್ಸ್ಡ್__" ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ.
  • ಜಾವಾ ಅರೇಗಳು ಈಗ ಮೆಮೊರಿ ವ್ಯೂ API ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ ಮತ್ತು ಬಫರ್ ವಿಷಯಗಳನ್ನು ರವಾನಿಸಲು numpy ಮೇಲಿನ ಅವಲಂಬನೆಯನ್ನು ತೆಗೆದುಹಾಕುತ್ತವೆ.
  • Numpy ಇನ್ನು ಮುಂದೆ ಅವಲಂಬನೆಯಾಗಿಲ್ಲ (ಹೆಚ್ಚುವರಿ) ಮತ್ತು numpy ಬೆಂಬಲದೊಂದಿಗೆ ಕಂಪೈಲ್ ಮಾಡದೆಯೇ numpy ಗೆ ಮೆಮೊರಿ ವರ್ಗಾವಣೆ ಲಭ್ಯವಿದೆ.
  • JInterface ಅನ್ನು ಮೆಟಾ ವರ್ಗವಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಇಂಟರ್‌ಫೇಸ್‌ಗಳನ್ನು ಪರಿಶೀಲಿಸಲು isinstance(cls, JInterface) ಬಳಸಿ.
  • ಕಾಣೆಯಾದ TLDs "mil", "net" ಮತ್ತು "edu" ಅನ್ನು ಡೀಫಾಲ್ಟ್ ಆಮದುಗಳಿಗೆ ಸೇರಿಸಲಾಗಿದೆ.
  • ಪ್ರಾರಂಭದ ಸಮಯದಲ್ಲಿ ಬೆಂಬಲಿತವಲ್ಲದ ವರ್ಗ ಆವೃತ್ತಿಗಾಗಿ ಸುಧಾರಿತ ದೋಷ ಸಂದೇಶಗಳು.
  • java.util.Map ಈಗ ಅಂಶವು ಕಂಡುಬಂದಿಲ್ಲವಾದರೆ ಕೀಲೋಪವನ್ನು ಎಸೆಯುತ್ತದೆ. ಶೂನ್ಯವಾಗಿರುವ ಮೌಲ್ಯಗಳು ಇನ್ನೂ ನಿರೀಕ್ಷಿಸಿದಂತೆ ಯಾವುದನ್ನೂ ಹಿಂತಿರುಗಿಸುವುದಿಲ್ಲ. ನೀವು ಖಾಲಿ ಕೀಗಳನ್ನು ಯಾವುದೂ ಇಲ್ಲ ಎಂದು ಪರಿಗಣಿಸಲು ಬಯಸಿದರೆ get() ಅನ್ನು ಬಳಸಿ.
  • java.util.Collection ಅನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ ಏಕೆಂದರೆ ಇದು ಪಟ್ಟಿಗಳಲ್ಲಿ ತೆಗೆದುಹಾಕಿ(ಆಬ್ಜೆಕ್ಟ್) ಮತ್ತು ರಿಮೂವ್(ಇಂಟ್) ನಡುವೆ ವಿಚಿತ್ರವಾಗಿ ಓವರ್‌ಲೋಡ್ ಆಗುತ್ತದೆ. ಸ್ಥಳೀಯ ಜಾವಾ ನಡವಳಿಕೆಯನ್ನು ಪ್ರವೇಶಿಸಲು Java remove() ವಿಧಾನವನ್ನು ಬಳಸಿ, ಆದರೆ ಓವರ್‌ಲೋಡ್ ನಿಯಂತ್ರಣಕ್ಕಾಗಿ ಟೈಪ್ ಕ್ಯಾಸ್ಟಿಂಗ್ ಅನ್ನು ಬಲವಾಗಿ ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ.
  • java.lang.IndexOutOfBoundsException ಈಗ java.util.List ಅಂಶಗಳನ್ನು ಪ್ರವೇಶಿಸುವಾಗ IndexError ವಿನಾಯಿತಿ ವರ್ಗವನ್ನು ಬಳಸಿಕೊಂಡು ಹಿಡಿಯಬಹುದು.

ಮೂಲ: opennet.ru

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