{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,1]],"date-time":"2025-10-01T16:19:16Z","timestamp":1759335556743},"reference-count":14,"publisher":"Walter de Gruyter GmbH","issue":"1","license":[{"start":{"date-parts":[[2020,12,17]],"date-time":"2020-12-17T00:00:00Z","timestamp":1608163200000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2021,1,1]]},"abstract":"<jats:title>Abstract<\/jats:title>\n               <jats:p>Java is not only a modern, powerful, and frequently used programming language, but together with Java Virtual Machine it represents a novel dynamic approach of writing and executing computer programs. The fact that Java programs are executed in a controlled environment has several important implications that define the nature of the language and makes it different from the traditional C-like languages. Knowing the detailed differences between the two types of languages and execution environments is a part of the holistic education of a computer engineer.<\/jats:p>\n               <jats:p>In this paper, we present some behind-the-scene details about the Java Virtual Machine and we show how these details could be used in the educational process to demonstrate the differences and to emphasise the advantages of the dynamic programming approach when compared to the static one. After presenting some information about class files and about the internal structure and operation of the Java Virtual Machine we demonstrate the usage of public domain programs that could be used in the educational process to put these theoretical concepts into practice.<\/jats:p>","DOI":"10.1515\/comp-2020-0170","type":"journal-article","created":{"date-parts":[[2020,12,22]],"date-time":"2020-12-22T13:13:40Z","timestamp":1608642820000},"page":"43-50","source":"Crossref","is-referenced-by-count":2,"title":["Selected tools for Java class and bytecode inspection in the educational environment"],"prefix":"10.1515","volume":"11","author":[{"given":"Toma\u017e","family":"Dobravec","sequence":"first","affiliation":[{"name":"Faculty of Computer and Information Science , University of Ljubljana , Slovenia"}]}],"member":"374","published-online":{"date-parts":[[2020,12,17]]},"reference":[{"key":"2022020121510264458_j_comp-2020-0170_ref_001","unstructured":"TIOBE Software BV. Tiobe index (june 2019). www.tiobe.com\/tiobe-index, 2019"},{"key":"2022020121510264458_j_comp-2020-0170_ref_002","unstructured":"Pierre Carbonnelle. Pypl popularity of programming language. pypl.github.io\/PYPL.html, 2019"},{"key":"2022020121510264458_j_comp-2020-0170_ref_003","unstructured":"Dr. Garbage Community. Dr. garbage tools. http:\/\/drgarbagetools.sourceforge.net, 2019"},{"key":"2022020121510264458_j_comp-2020-0170_ref_004","doi-asserted-by":"crossref","unstructured":"Toma\u017e Dobravec. Java virtual machine educational tools. In William Steingartner, editor, Proceedings of the Informatics 2019, Piscataway, IEEE. cop,. Poprad, Slovakia, November 2019, 82\u201386","DOI":"10.1109\/Informatics47936.2019.9119263"},{"key":"2022020121510264458_j_comp-2020-0170_ref_005","unstructured":"Matev\u017e Fabjan\u010di\u010d. A GUI for the PyJVM. https:\/\/pypi.org\/project\/pyjvmgui, 2018"},{"key":"2022020121510264458_j_comp-2020-0170_ref_006","unstructured":"Matev\u017e Fabjan\u010di\u010d. Simulating Java bytecode execution (in Slovene language). diploma thesis (mentor: T. Dobravec), Faculty of Computer and Information Science, University of Ljubljana, 2018"},{"key":"2022020121510264458_j_comp-2020-0170_ref_007","unstructured":"James Gosling, Bill Joy, Guy Steele, Gilad Bracha, and Alex Buckley. The Java\u2122 Language Specification, Java SE 8 Edition. Oracle America, Inc., California, USA, 2014"},{"key":"2022020121510264458_j_comp-2020-0170_ref_008","unstructured":"Klemen Kloboves, Jurij Miheli\u010d, Patricio Buli\u0107, and Toma\u017e Dobravec. FPGA-based SIC\/XE processor and supporting toolchain. International journal of engineering education, 2017, A(6), 1927\u20131939"},{"key":"2022020121510264458_j_comp-2020-0170_ref_009","unstructured":"Tim Lindholm, Frank Yellin, Gilad Bracha, and Alex Buckley. The Java\u2122 Virtual Machine Specification, Java SE 8 Edition. Oracle America, Inc., California, USA, 2014"},{"key":"2022020121510264458_j_comp-2020-0170_ref_010","unstructured":"Tanmay K. M. Java class file editor. http:\/\/classeditor.sourceforge.net, 2004"},{"key":"2022020121510264458_j_comp-2020-0170_ref_011","doi-asserted-by":"crossref","unstructured":"Jurij Miheli\u010d and Toma\u017e Dobravec. SicSim : a simulator of the educational SIC\/XE computer for a system-software course. Computer applications in engineering education, 2015, 23(1), 137\u2013146","DOI":"10.1002\/cae.21585"},{"key":"2022020121510264458_j_comp-2020-0170_ref_012","unstructured":"Stephen O\u2019Grady. The redmonk programming language rankings: January 2019. https:\/\/redmonk.com\/sogrady\/2019\/03\/20\/language-rankings-1-19, 2019"},{"key":"2022020121510264458_j_comp-2020-0170_ref_013","unstructured":"Andrew Romanenco. PyJVM - Java 7 virtual machine implemented in pure python. https:\/\/github.com\/andrewromanenco\/pyjvm, 2014"},{"key":"2022020121510264458_j_comp-2020-0170_ref_014","unstructured":"Bill Venners. The lean, mean, virtual machine. JavaWorld, 1996"}],"container-title":["Open Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.degruyter.com\/view\/journals\/comp\/11\/1\/article-p43.xml","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/www.degruyter.com\/document\/doi\/10.1515\/comp-2020-0170\/xml","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/www.degruyter.com\/document\/doi\/10.1515\/comp-2020-0170\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,2,1]],"date-time":"2022-02-01T22:21:30Z","timestamp":1643754090000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.degruyter.com\/document\/doi\/10.1515\/comp-2020-0170\/html"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,12,17]]},"references-count":14,"journal-issue":{"issue":"1","published-online":{"date-parts":[[2021,1,13]]},"published-print":{"date-parts":[[2021,1,1]]}},"alternative-id":["10.1515\/comp-2020-0170"],"URL":"https:\/\/doi.org\/10.1515\/comp-2020-0170","relation":{},"ISSN":["2299-1093"],"issn-type":[{"value":"2299-1093","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,12,17]]}}}