{"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\/lv\/blog\/news\/reliz-jpype-0-7-2-biblioteki-dlya-dostupa-k-java-klassam-iz-python","title":{"rendered":"JPype 0.7.2 izlai, bibliot\u0113ka piek\u013cuvei Java klas\u0113m no Python","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\">Pieejams<\/a><\/noindex> sl\u0101\u0146a izlai\u0161ana <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jpype-project\/jpype\/\">JPype 0.7.2<\/a><\/noindex>, kas \u013cauj Python lietotn\u0113m nodro\u0161in\u0101t pilnu piek\u013cuvi Java valodas bibliot\u0113ku klas\u0113m. Izmantojot JPype, Python var izmantot Java specifisk\u0101s bibliot\u0113kas, izveidojot hibr\u012bdas lietotnes, kas apvieno gan Java, gan Python kodu. At\u0161\u0137ir\u012bb\u0101 no Jython, integr\u0101cija ar Java tiek pan\u0101kta nevis, izveidojot Python versiju JVM, bet gan, sadarbojoties ab\u0101m virtu\u0101laj\u0101m ma\u0161\u012bn\u0101m, izmantojot kop\u012bgu atmi\u0146u. Ieteiktais pieejas veids \u013cauj ne tikai sasniegt labu veiktsp\u0113ju, bet ar\u012b nodro\u0161ina piek\u013cuvi vis\u0101m CPython un Java bibliot\u0113k\u0101m. Projekta kods <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jpype-project\/jpype\/\">tiek izplat\u012bts<\/a><\/noindex> ir licenc\u0113ts saska\u0146\u0101 ar Apache 2.0.<\/p>\n<p>Galven\u0101s izmai\u0146as:<\/p>\n<ul>\n<li class=\"l\"> Iz\u0146\u0113mumi, kas izmesti C++ un Java kod\u0101, tagad sniedz iz\u0146\u0113mumu steka inform\u0101ciju, kad rodas iz\u0146\u0113mums Python kod\u0101. T\u0101d\u0113j\u0101di, lai ieg\u016btu inform\u0101ciju par iz\u0146\u0113mumu steku, vairs nav nepiecie\u0161ams izsaukt stacktrace().\n<li class=\"l\"> Tr\u012bs reizes palielin\u0101ts atgrie\u0161anas \u0101trums izsaukumos.\n<li class=\"l\"> Iev\u0113rojami (vair\u0101kas reizes) palielin\u0101ts p\u0101rraides \u0101trums<br \/>\nnumpy daudzdimension\u0101lo mas\u012bvu buferos. Daudzdimension\u0101lie primit\u012bvi p\u0101rs\u016bta tikai las\u0101mas kopijas, kas izveidotas JVM ar nep\u0101rtrauktu C izk\u0101rtojumu.<\/p>\n<li class=\"l\"> Visi iek\u0161\u0113jie komponenti ir aizvietoti ar CPython \u012bstenojumiem, un simboli __javaclass__, __javavalue__ un __javaproxy__<br \/>\nir iz\u0146emti. Visi CPython klas\u0113 mantojo\u0161ie tipi sa\u0146\u0113mu\u0161i speci\u0101lu Java slotu. Visas priv\u0101t\u0101s tabulas ir p\u0101rceltas uz CPython. Java tipi tagad j\u0101manto no metaklases JClass, kas izmanto tipu slotus. Python b\u0101zes klas\u0113m piejaukumi nav at\u013cauti. Objektu, Proxy, Exception, Number un Array tipi tie\u0161i mantoti no CPython iek\u0161\u0113j\u0101m \u012bstenojumiem.<\/p>\n<li class=\"l\"> Uzlabota izseko\u0161ana un iz\u0146\u0113mumu apstr\u0101de.\n<li class=\"l\"> Mas\u012bvu griezumi tagad tiek apstr\u0101d\u0101ti k\u0101 att\u0113lojumi, kas atbalsta atpaka\u013crakst\u012b\u0161anu ori\u0123in\u0101l\u0101, piem\u0113ram, numpy mas\u012bvu. Griezumiem mas\u012bvos nodro\u0161in\u0101ta atbalsts v\u0113rt\u012bbu iestat\u012b\u0161anai un ieg\u016b\u0161anai ar soli (slice(start, stop, step)).\n<li class=\"l\"> Mas\u012bvos ieviests atbalsts &#171;__reversed__&#187;.\n<li class=\"l\"> Java mas\u012bvos nodro\u0161in\u0101ts API memoryview atbalsts un no\u0146emta numpy atkar\u012bba bufera satura p\u0101rs\u016bt\u012b\u0161anai.\n<li class=\"l\"> Numpy tagad nav atkar\u012bba (extra) un atmi\u0146as p\u0101rs\u016bt\u012b\u0161ana uz numpy pieejama bez kompil\u0101cijas ar numpy atbalstu.\n<li class=\"l\"> JInterface noform\u0113ts k\u0101 metaklase. Lietojiet isinstance(cls, JInterface), lai p\u0101rbaud\u012btu uz interfeisiem.\n<li class=\"l\"> Iek\u013cauti noklus\u0113juma importos aizmirstie TLD &#171;mil&#187;, &#171;net&#187; un &#171;edu&#187;.\n<li class=\"l\"> Palaides laik\u0101 uzlaboti k\u013c\u016bdu zi\u0146ojumi UnsupportedClassVersion.\n<li class=\"l\">    java.util.Map tagad dod KeyError, ja elements nav atrasts. V\u0113rt\u012bbas, kas ir null, joproj\u0101m atgrie\u017e None, k\u0101 gaid\u012bts. Izmantojiet get(), ja tuk\u0161us atsl\u0113gas ir j\u0101p\u0101rvalda k\u0101 None.\n<li class=\"l\"> No\u0146emts java.util.Collection, jo tas d\u012bvaini tiek p\u0101rp\u0101rslogots starp remove(Object) un remove(int) List-\u0101. Izmantojiet Java metodi remove(), lai piek\u013c\u016btu ori\u0123in\u0101l\u0101s Java uzved\u012bbas, bet tipa konversija ir stingri ieteicama p\u0101rslodzes p\u0101rvald\u012bbai.\n<li class=\"l\"> java.lang.IndexOutOfBoundsException tagad var tikt no\u0137erts, izmantojot IndexError iz\u0146\u0113mumu klasi, piek\u013c\u016bstot elementiem java.util.List.\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Avots: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=52456\">opennet.lv<\/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.5 - 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\/lv\/blog\/news\/reliz-jpype-0-7-2-biblioteki-dlya-dostupa-k-java-klassam-iz-python\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\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\/lv\/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 izlaidums, bibliot\u0113ka piek\u013cuvei Java klas\u0113m no Python | ProHoster","description":"JPype saskarne ir pieejama.","canonical_url":"https:\/\/prohoster.info\/lv\/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":"lv_LV","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\/lv\/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\/lv\/wp-json\/wp\/v2\/posts\/72012","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=72012"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/72012\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=72012"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=72012"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=72012"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}