{"id":72012,"date":"2020-02-29T21:04:04","date_gmt":"2020-02-29T18:04:04","guid":{"rendered":"https:\/\/prohoster.info\/blog\/reliz-jpype-0-7-2-biblioteki-dlya-dostupa-k-java-klassam-iz-python"},"modified":"2020-03-03T16:10:24","modified_gmt":"2020-03-03T13:10:24","slug":"reliz-jpype-0-7-2-biblioteki-dlya-dostupa-k-java-klassam-iz-python","status":"publish","type":"post","link":"https:\/\/prohoster.info\/az\/blog\/news\/reliz-jpype-0-7-2-biblioteki-dlya-dostupa-k-java-klassam-iz-python","title":{"rendered":"JPype 0.7.2 burax\u0131l\u0131\u015f\u0131, Python'dan Java sinifl\u0259rin\u0259 daxil olmaq \u00fc\u00e7\u00fcn kitabxana","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jpype-project\/jpype\/releases\/tag\/v0.7.2\">M\u00f6vcuddur<\/a><\/noindex> burax\u0131l\u0131\u015f qatman\u0131 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jpype-project\/jpype\/\">JPype 0.7.2<\/a><\/noindex>, Python t\u0259tbiql\u0259rinin Java dilind\u0259ki sinif kitabxanalar\u0131na tam giri\u015fi t\u0259\u015fkil etm\u0259y\u0259 imkan ver\u0259n. JPype vasit\u0259sil\u0259 Python-dan Java-ya aid x\u00fcsusi kitabxanalar\u0131 istifad\u0259 ed\u0259r\u0259k, Java v\u0259 Python kodunu birl\u0259\u015fdir\u0259n hibrid t\u0259tbiql\u0259r yaratmaq m\u00fcmk\u00fcnd\u00fcr. Jython-dan f\u0259rqli olaraq, Java il\u0259 inteqrasiya JVM \u00fc\u00e7\u00fcn Python versiyas\u0131n\u0131n yarad\u0131lmas\u0131 vasit\u0259si il\u0259 deyil, h\u0259r iki virtual ma\u015f\u0131n s\u0259viyy\u0259sind\u0259 qar\u015f\u0131l\u0131ql\u0131 \u0259laq\u0259 qurulmas\u0131 il\u0259 h\u0259yata ke\u00e7irilir, payla\u015f\u0131lm\u0131\u015f yadda\u015fdan istifad\u0259 olunaraq. T\u0259klif olunan yana\u015fma yaln\u0131z yax\u015f\u0131 performansa \u00e7atma\u011fa deyil, h\u0259m d\u0259 b\u00fct\u00fcn CPython v\u0259 Java kitabxanalar\u0131na giri\u015fi t\u0259min etm\u0259y\u0259 imkan verir. Layih\u0259nin kodu <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jpype-project\/jpype\/\">yay\u0131l\u0131r<\/a><\/noindex> Apache 2.0 lisans\u0131 alt\u0131ndad\u0131r.<\/p>\n<p>\u018fsas d\u0259yi\u015fiklikl\u0259r:<\/p>\n<ul>\n<li class=\"l\"> C++ v\u0259 Java kodunda at\u0131lan istisnalara, Python kodunda istisna ba\u015f verdiyi zaman istisna y\u0131\u011f\u0131n\u0131 t\u0259min edilir. Bel\u0259likl\u0259, bundan sonra istisna y\u0131\u011f\u0131n\u0131 m\u0259lumat\u0131n\u0131 \u0259ld\u0259 etm\u0259k \u00fc\u00e7\u00fcn art\u0131q stacktrace() \u00e7a\u011f\u0131rma\u011fa ehtiyac yoxdur.\n<li class=\"l\"> \u00c7a\u011f\u0131r\u0131\u015flar zaman\u0131 d\u00f6nd\u00fcr\u00fclm\u0259 s\u00fcr\u0259ti \u00fc\u00e7 d\u0259f\u0259 art\u0131r\u0131l\u0131b.\n<li class=\"l\"> M\u0259lumat \u00f6t\u00fcr\u00fclm\u0259 s\u00fcr\u0259ti \u0259h\u0259miyy\u0259tli d\u0259r\u0259c\u0259d\u0259 (on qat) art\u0131r\u0131l\u0131b<br \/>\nnumpy \u00e7ox\u00f6l\u00e7\u00fcl\u00fc massivl\u0259rinin buffer-lar\u0131nda. \u00c7ox\u00f6l\u00e7\u00fcl\u00fc primitivl\u0259r, JVM-d\u0259 ard\u0131c\u0131l C d\u00fcz\u00fcl\u00fc\u015f\u00fc il\u0259 yarad\u0131lm\u0131\u015f yaln\u0131z oxunmas\u0131 m\u00fcmk\u00fcn olan n\u00fcsx\u0259l\u0259ri \u00f6t\u00fcr\u00fcr.<\/p>\n<li class=\"l\"> B\u00fct\u00fcn daxili komponentl\u0259r CPython-dan icra il\u0259 \u0259v\u0259z olunub, __javaclass__, __javavalue__ v\u0259 __javaproxy__<br \/>\nsilinib. Java-dan t\u00fcretilmi\u015f b\u00fct\u00fcn CPython tipl\u0259rin\u0259 x\u00fcsusi Java-soxul addedildi. B\u00fct\u00fcn gizli c\u0259dv\u0259ll\u0259r CPython-a k\u00f6\u00e7\u00fcr\u00fcld\u00fc. Java tipl\u0259ri art\u0131q JClass metaklass\u0131ndan t\u00fcretilm\u0259lidir, bu da tip soxullar\u0131n\u0131 istifad\u0259 edir. Python-un \u0259sas sinifl\u0259ri \u00fc\u00e7\u00fcn davam\u00e7\u0131lar \u0259lveri\u015fli deyil. Object, Proxy, Exception, Number v\u0259 Array tipl\u0259ri art\u0131q CPython-un daxili icralar\u0131ndan birba\u015fa t\u00fcretilir.<\/p>\n<li class=\"l\"> \u0130stisnalar\u0131n izni v\u0259 emal\u0131 yax\u015f\u0131la\u015fd\u0131r\u0131l\u0131b.\n<li class=\"l\"> Massiv k\u0259siml\u0259ri (Array slices) art\u0131q geri yazma imkan\u0131 olan g\u00f6rs\u0259nm\u0259l\u0259r \u015f\u0259klind\u0259 emal olunur, m\u0259s\u0259l\u0259n, numpy massivi kimi. K\u0259siml\u0259r \u00fc\u00e7\u00fcn d\u0259y\u0259rin t\u0259yin edilm\u0259si v\u0259 al\u0131nmas\u0131 d\u0259st\u0259kl\u0259nir (slice(start, stop, step)).\n<li class=\"l\"> Massivl\u0259rd\u0259 \u00ab__reversed__\u00bb d\u0259st\u0259yi t\u0259tbiq olunub.\n<li class=\"l\"> Java massivl\u0259rind\u0259 memoryview API d\u0259st\u0259yi t\u0259min edilir v\u0259 buffer m\u0259zmununu \u00f6t\u00fcrm\u0259k \u00fc\u00e7\u00fcn numpy-a as\u0131l\u0131l\u0131q l\u0259\u011fv edilir.\n<li class=\"l\"> Numpy art\u0131q as\u0131l\u0131l\u0131q deyil (extra) v\u0259 numpy il\u0259 d\u0259st\u0259yi olmadan yadda\u015f\u0131n \u00f6t\u00fcr\u00fclm\u0259si m\u00fcmk\u00fcnd\u00fcr.\n<li class=\"l\"> JInterface metaklass \u015f\u0259klind\u0259 haz\u0131rlan\u0131b. Interface-l\u0259r \u00fc\u00e7\u00fcn yoxlama etm\u0259k \u00fc\u00e7\u00fcn isinstance(cls, JInterface) istifad\u0259 edin.\n<li class=\"l\"> Defolt importlara \u00abmil\u00bb, \u00abnet\u00bb v\u0259 \u00abedu\u00bb TLD-l\u0259ri \u0259lav\u0259 edilib.\n<li class=\"l\"> Ba\u015flatma zaman\u0131 UnsupportedClassVersion \u00fc\u00e7\u00fcn x\u0259talar bar\u0259d\u0259 mesajlar yax\u015f\u0131la\u015fd\u0131r\u0131l\u0131b.\n<li class=\"l\">    java.util.Map art\u0131q tap\u0131lmad\u0131\u011f\u0131 halda KeyError verir. Null olan d\u0259y\u0259rl\u0259r, g\u00f6zl\u0259nildiyi kimi, h\u0259l\u0259 d\u0259 None-l\u0259 geri qaytar\u0131l\u0131r. Bo\u015f a\u00e7arlar\u0131 None kimi emal etm\u0259k laz\u0131md\u0131rsa, get() istifad\u0259 edin.\n<li class=\"l\"> java.util.Collection silindi, \u00e7\u00fcnki List-lardak\u0131 remove(Object) v\u0259 remove(int) aras\u0131nda q\u0259rib\u0259 y\u00fckl\u0259nm\u0259si var. Orijinal Java davran\u0131\u015f\u0131na giri\u015f \u00fc\u00e7\u00fcn Java metodunu remove() istifad\u0259 edin, amma y\u00fckl\u0259nm\u0259ni idar\u0259 etm\u0259k \u00fc\u00e7\u00fcn tip \u00e7evirm\u0259yi ciddi \u015f\u0259kild\u0259 t\u00f6vsiy\u0259 edirik.\n<li class=\"l\"> java.lang.IndexOutOfBoundsException indi java.util.List elementl\u0259rin\u0259 giri\u015f zaman\u0131 IndexError istisna sinifi il\u0259 tutulmaqla \u0259ld\u0259 edil\u0259 bil\u0259r.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>M\u0259nb\u0259: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52456\">opennet.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u043f\u0440\u043e\u0441\u043b\u043e\u0439\u043a\u0438 JPype 0.7.2, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f Python-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043c \u043a\u043b\u0430\u0441\u0441\u043e\u0432 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Java. \u041f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 JPype \u0438\u0437 Python \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u044b\u0435 \u0434\u043b\u044f Java \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0433\u0438\u0431\u0440\u0438\u0434\u043d\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0441\u043e\u0447\u0435\u0442\u0430\u044e\u0449\u0438\u0435 \u043a\u043e\u0434 \u043d\u0430 Java \u0438 Python. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 Jython, \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 Java \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u043d\u0435 \u0447\u0435\u0440\u0435\u0437 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 Python \u0434\u043b\u044f JVM, \u0430 \u0447\u0435\u0440\u0435\u0437 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043d\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-72012","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u043f\u0440\u043e\u0441\u043b\u043e\u0439\u043a\u0438 JPype.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/az\/blog\/news\/reliz-jpype-0-7-2-biblioteki-dlya-dostupa-k-java-klassam-iz-python\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"az_AZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 JPype 0.7.2, \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a Java-\u043a\u043b\u0430\u0441\u0441\u0430\u043c \u0438\u0437 Python | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u043f\u0440\u043e\u0441\u043b\u043e\u0439\u043a\u0438 JPype.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/az\/blog\/news\/reliz-jpype-0-7-2-biblioteki-dlya-dostupa-k-java-klassam-iz-python\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-02-29T18:04:04+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-03T13:10:24+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47JPype 0.7.2 burax\u0131l\u0131\u015f\u0131, Python-dan Java sinifl\u0259rin\u0259 giri\u015f \u00fc\u00e7\u00fcn kitabxana | ProHoster","description":"JPype qat\u0131n\u0131n burax\u0131l\u0131\u015f\u0131 m\u00f6vcuddur.","canonical_url":"https:\/\/prohoster.info\/az\/blog\/news\/reliz-jpype-0-7-2-biblioteki-dlya-dostupa-k-java-klassam-iz-python","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"az_AZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 JPype 0.7.2, \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a Java-\u043a\u043b\u0430\u0441\u0441\u0430\u043c \u0438\u0437 Python | ProHoster","og:description":"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u043f\u0440\u043e\u0441\u043b\u043e\u0439\u043a\u0438 JPype.","og:url":"https:\/\/prohoster.info\/az\/blog\/news\/reliz-jpype-0-7-2-biblioteki-dlya-dostupa-k-java-klassam-iz-python","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-02-29T18:04:04+00:00","article:modified_time":"2020-03-03T13:10:24+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"72012","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:52:25","updated":"2022-10-01 19:59:41","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/az\/wp-json\/wp\/v2\/posts\/72012","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/az\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/az\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/az\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/az\/wp-json\/wp\/v2\/comments?post=72012"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/az\/wp-json\/wp\/v2\/posts\/72012\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/az\/wp-json\/wp\/v2\/media?parent=72012"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/az\/wp-json\/wp\/v2\/categories?post=72012"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/az\/wp-json\/wp\/v2\/tags?post=72012"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}