{"id":"https://openalex.org/W48525988","doi":null,"title":"Java/C++ integration: Writing native Java methods in natural C++","display_name":"Java/C++ integration: Writing native Java methods in natural C++","publication_year":2000,"publication_date":"2000-01-01","ids":{"openalex":"https://openalex.org/W48525988","mag":"48525988"},"language":"en","primary_location":{"id":"mag:48525988","doi":null,"is_oa":false,"landing_page_url":"http://per.bothner.com/papers/UsenixJVM01/CNI01.pdf","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":null},"volume":null,"type":"article","is_traditional":true,"indexed_in":[],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5064712874","display_name":"Per Bothner","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Per Bothner","raw_affiliation_strings":["Free Software Foundation#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Free Software Foundation#TAB#","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5017635126","display_name":"Tom Tromey","orcid":null,"observed_orcids":[]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Tom Tromey","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":{"value":0.00814443,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":93},"biblio":{"volume":null,"issue":null,"first_page":null,"last_page":null},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.948199987411499,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.948199987411499,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.03929999843239784,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.0026000000070780516,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/java-native-interface","display_name":"Java Native Interface","score":0.8270000219345093},{"id":"https://openalex.org/keywords/native-methods","display_name":"native methods","score":0.6690000295639038},{"id":"https://openalex.org/keywords/calling-conventions","display_name":"calling conventions","score":0.6769999861717224}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8761324882507324},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7675193548202515},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.7480304837226868},{"id":"https://openalex.org/C60945770","wikidata":"https://www.wikidata.org/wiki/Q2517517","display_name":"Java Modeling Language","level":5,"score":0.6813011765480042},{"id":"https://openalex.org/C168702491","wikidata":"https://www.wikidata.org/wiki/Q567345","display_name":"Java annotation","level":4,"score":0.6541086435317993},{"id":"https://openalex.org/C172482141","wikidata":"https://www.wikidata.org/wiki/Q379273","display_name":"Generics in Java","level":5,"score":0.6256067752838135},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5926173329353333},{"id":"https://openalex.org/C174954855","wikidata":"https://www.wikidata.org/wiki/Q7623626","display_name":"strictfp","level":4,"score":0.4868420958518982},{"id":"https://openalex.org/C181907185","wikidata":"https://www.wikidata.org/wiki/Q1100098","display_name":"Java concurrency","level":4,"score":0.47546809911727905},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.4724864363670349},{"id":"https://openalex.org/C132106392","wikidata":"https://www.wikidata.org/wiki/Q1373903","display_name":"Real time Java","level":3,"score":0.39206698536872864}],"mesh":[],"locations_count":1,"locations":[{"id":"mag:48525988","doi":null,"is_oa":false,"landing_page_url":"http://per.bothner.com/papers/UsenixJVM01/CNI01.pdf","pdf_url":null,"source":null,"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":null}],"best_oa_location":null,"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":2,"referenced_works":["https://openalex.org/W1644882639","https://openalex.org/W2535220971"],"related_works":["https://openalex.org/W7100806431","https://openalex.org/W2204423264","https://openalex.org/W2094789240","https://openalex.org/W30172901","https://openalex.org/W1570300403","https://openalex.org/W2255156544","https://openalex.org/W2364088833","https://openalex.org/W2168977019","https://openalex.org/W2071662453","https://openalex.org/W2383471537"],"abstract_inverted_index":{"\u201cNative":[0],"methods\u201d":[1],"in":[2,7,17,30,106,151,195],"Java":[3,85,92,128,180,199],"are":[4],"methods":[5,29],"written":[6,150,194],"some":[8],"other":[9],"language,":[10],"usually":[11],"C":[12],"or":[13],"C++.":[14],"Sun":[15],"included":[16],"JDK":[18],"1.1":[19],"the":[20,78,84,97,112,121,125],"\u201cJava":[21],"Native":[22,114],"Interface\u201d":[23],"(JNI)":[24],"for":[25,77,83],"writing":[26],"such":[27],"native":[28,148],"a":[31,62,140,196],"portable":[32],"way,":[33],"independent":[34],"of":[35,65,123,198],"JVM":[36],"implementation.":[37],"JNI":[38,47,69,109],"satisfies":[39],"that":[40],"goal,":[41],"but":[42],"has":[43,49],"two":[44],"major":[45,50],"problems:":[46],"code":[48,95,155,202],"inherent":[51],"inefficiencies,":[52],"because":[53,169],"evrything":[54],"thas":[55],"to":[56,93,108,146,167,177],"be":[57],"done":[58],"as":[59,134,136],"calls":[60],"through":[61],"runtime":[63,183],"table":[64],"function":[66],"pointers.":[67],"Using":[68],"is":[70,88,118,156,161,190,193],"also":[71,162],"very":[72,158,163],"verbose,":[73],"tedious":[74],"and":[75,127,131,138,160,165,175,184,200],"error-prone":[76],"programmer.":[79],"The":[80,182],"Gnu":[81,98],"Compiler":[82,99],"platform":[86],"(GCJ)":[87],"based":[89,119],"on":[90,120],"compiling":[91],"machine":[94],"using":[96,139,203],"Collection":[100],"(Gcc)":[101],"framework.":[102],"GCJ":[103,189],"offers":[104],"an":[105,110],"addition":[107],"alternative,":[111],"Compiled":[113],"Interface":[115],"(CNI).":[116],"CNI":[117,154],"idea":[122],"making":[124],"C++":[126,144,152,173,201],"data":[129],"representations":[130],"calling":[132],"conventions":[133],"close":[135],"practical,":[137],"slightly":[141],"modified":[142],"Javaaware":[143],"compiler":[145],"compile":[147],"method":[149],"methods.":[153],"both":[157],"efficient":[159],"easy":[164],"natural":[166],"write,":[168],"it":[170],"uses":[171],"standard":[172],"syntax":[174],"idioms":[176],"work":[178],"with":[179,188],"data.":[181],"class":[185],"library":[186],"associated":[187],"libgcj,":[191],"which":[192],"mix":[197],"CNI.":[204]},"counts_by_year":[{"year":2017,"cited_by_count":1}],"updated_date":"2025-11-06T04:12:42.849631","created_date":"2016-06-24T00:00:00"}
