JPype 0.7.2 విడుదల, పైథాన్ నుండి జావా తరగతులను యాక్సెస్ చేయడానికి లైబ్రరీలు

అందుబాటులో పొర విడుదల JPype 0.7.2, ఇది జావా భాషలోని క్లాస్ లైబ్రరీలకు పూర్తి ప్రాప్తిని కలిగి ఉండటానికి పైథాన్ అప్లికేషన్‌లను అనుమతిస్తుంది. పైథాన్ నుండి JPypeతో, మీరు జావా మరియు పైథాన్ కోడ్‌లను కలిపి హైబ్రిడ్ అప్లికేషన్‌లను రూపొందించడానికి జావా-నిర్దిష్ట లైబ్రరీలను ఉపయోగించవచ్చు. Jython వలె కాకుండా, JVM కోసం పైథాన్ వేరియంట్‌ను సృష్టించడం ద్వారా కాకుండా, షేర్డ్ మెమరీని ఉపయోగించి రెండు వర్చువల్ మిషన్‌ల స్థాయిలో పరస్పర చర్య చేయడం ద్వారా జావాతో ఏకీకరణ సాధించబడుతుంది. ప్రతిపాదిత విధానం మంచి పనితీరును సాధించడమే కాకుండా, అన్ని CPython మరియు Java లైబ్రరీలకు యాక్సెస్‌ను అందిస్తుంది. ప్రాజెక్ట్ కోడ్ ద్వారా పంపిణీ చేయబడింది Apache 2.0 క్రింద లైసెన్స్ పొందింది.

ప్రధాన మార్పులు:

  • C++ మరియు Java కోడ్‌లో విసిరిన మినహాయింపులు ఇప్పుడు పైథాన్ కోడ్‌లో మినహాయింపు సంభవించినప్పుడు మినహాయింపు స్టాక్‌ను అందిస్తాయి. కాబట్టి, మినహాయింపు స్టాక్ గురించి సమాచారాన్ని పొందడానికి, మీరు ఇకపై స్టాక్‌ట్రేస్()కి కాల్ చేయవలసిన అవసరం లేదు.
  • కాల్ రిటర్న్ వేగం మూడు రెట్లు పెరిగింది.
  • గణనీయంగా (మాగ్నిట్యూడ్ ఆర్డర్‌ల ద్వారా) ప్రసార వేగం పెరిగింది
    బహుళ డైమెన్షనల్ శ్రేణుల నంపీ బఫర్‌లు. బహుళ డైమెన్షనల్ ప్రిమిటివ్‌లు JVM లోపల C లేఅవుట్‌తో సృష్టించబడిన రీడ్-ఓన్లీ కాపీలను పాస్ చేస్తాయి.

  • బహిర్గతమైన అన్ని ఇంటర్నల్‌లు CPython అమలులతో భర్తీ చేయబడ్డాయి మరియు __javaclass__, __javavalue__ మరియు __javaproxy__ చిహ్నాలు
    తొలగించబడింది. jpype క్లాస్ రకాల నుండి వారసత్వంగా పొందే అన్ని CPython రకాలకు అంకితమైన జావా స్లాట్ జోడించబడింది. అన్ని ప్రైవేట్ పట్టికలు CPythonకి తరలించబడ్డాయి. జావా రకాలు ఇప్పుడు టైప్ స్లాట్‌లను ఉపయోగించే JClass మెటాక్లాస్ నుండి తప్పనిసరిగా పొందాలి. పైథాన్ బేస్ తరగతులకు మిక్సిన్‌లు అనుమతించబడవు. రకాలు ఆబ్జెక్ట్, ప్రాక్సీ, మినహాయింపు, సంఖ్య మరియు శ్రేణి మరియు CPython యొక్క అంతర్గత అమలుల నుండి నేరుగా పొందబడతాయి.

  • మెరుగైన ట్రేసింగ్ మరియు మినహాయింపు నిర్వహణ.
  • అర్రే స్లైస్‌లు ఇప్పుడు అసలైనదానికి తిరిగి వ్రాయడానికి మద్దతు ఇచ్చే వీక్షణల వలె ప్రాసెస్ చేయబడ్డాయి, ఉదాహరణకు నంపీ అర్రే వంటివి. శ్రేణి స్లైసింగ్ కోసం, దశల్లో విలువలను సెట్ చేయడం మరియు తిరిగి పొందడం కోసం మద్దతు అందించబడుతుంది (స్లైస్ (ప్రారంభం, ఆపు, దశ)).
  • శ్రేణులు ఇప్పుడు "__రివర్స్డ్__"కి మద్దతు ఇస్తున్నాయి.
  • జావా శ్రేణులు ఇప్పుడు మెమరీవ్యూ APIకి మద్దతు ఇస్తాయి మరియు బఫర్ కంటెంట్‌లను పాస్ చేయడానికి నంపీపై ఆధారపడటాన్ని తీసివేస్తాయి.
  • Numpy అనేది ఇకపై ఆధారపడటం (అదనపు) కాదు మరియు numpy మద్దతుతో కంపైల్ చేయకుండానే numpyకి మెమరీ బదిలీ అందుబాటులో ఉంటుంది.
  • JInterface మెటా క్లాస్‌గా రూపొందించబడింది. ఇంటర్‌ఫేస్‌ల కోసం తనిఖీ చేయడానికి isinstance(cls, JInterface) ఉపయోగించండి.
  • తప్పిపోయిన TLDలు "mil", "net" మరియు "edu" డిఫాల్ట్ దిగుమతులకు జోడించబడ్డాయి.
  • స్టార్టప్ సమయంలో UnsupportedClassVersion కోసం మెరుగైన దోష సందేశాలు.
  • మూలకం కనుగొనబడకపోతే java.util.Map ఇప్పుడు కీఎర్రర్‌ని విసురుతుంది. ఇప్పటికీ శూన్యంగా ఉన్న విలువలు ఊహించిన విధంగా ఏదీ తిరిగి ఇవ్వలేదు. మీరు ఖాళీ కీలను ఏదీ కాదుగా పరిగణించాలనుకుంటే get()ని ఉపయోగించండి.
  • జాబితాలలో తీసివేయి(ఆబ్జెక్ట్) మరియు తీసివేయి(int) మధ్య వింతగా ఓవర్‌లోడ్ అవుతున్నందున java.util.Collection తీసివేయబడింది. స్థానిక జావా ప్రవర్తనను యాక్సెస్ చేయడానికి Java remove() పద్ధతిని ఉపయోగించండి, కానీ ఓవర్‌లోడ్ నియంత్రణ కోసం టైప్ కాస్టింగ్ గట్టిగా సిఫార్సు చేయబడింది.
  • java.lang.IndexOutOfBoundsException ఇప్పుడు java.util.List మూలకాలను యాక్సెస్ చేస్తున్నప్పుడు IndexError మినహాయింపు తరగతిని ఉపయోగించి క్యాచ్ చేయవచ్చు.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి