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

అందుబాటులో ఇంటర్లేయర్ యొక్క కొత్త విడుదల JPype 1.0.2, ఇది జావా భాషలోని క్లాస్ లైబ్రరీలకు పూర్తి ప్రాప్తిని కలిగి ఉండటానికి పైథాన్ అప్లికేషన్‌లను అనుమతిస్తుంది. పైథాన్ నుండి JPypeతో, మీరు జావా మరియు పైథాన్ కోడ్‌లను కలిపి హైబ్రిడ్ అప్లికేషన్‌లను రూపొందించడానికి జావా-నిర్దిష్ట లైబ్రరీలను ఉపయోగించవచ్చు. Jython వలె కాకుండా, JVM కోసం పైథాన్ వేరియంట్‌ను సృష్టించడం ద్వారా కాకుండా, షేర్డ్ మెమరీని ఉపయోగించి రెండు వర్చువల్ మిషన్‌ల స్థాయిలో పరస్పర చర్య చేయడం ద్వారా జావాతో ఏకీకరణ సాధించబడుతుంది. ప్రతిపాదిత విధానం మంచి పనితీరును సాధించడమే కాకుండా, అన్ని CPython మరియు Java లైబ్రరీలకు యాక్సెస్‌ను అందిస్తుంది. ప్రాజెక్ట్ కోడ్ ద్వారా పంపిణీ చేయబడింది Apache 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 మరియు కొన్ని నంపీ ఫ్లేవర్‌ల మధ్య థ్రెడ్ కమ్యూనికేషన్‌కు సమస్య గుర్తించబడింది. JVMని ప్రారంభించడానికి ముందు numpy.linalg.invకి కాల్ చేయడం ప్రతిపాదిత పరిష్కారం.

మూలం: opennet.ru

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