Graph Database Management Systems Oshini Goonetilleke

Total Page:16

File Type:pdf, Size:1020Kb

Graph Database Management Systems Oshini Goonetilleke Graph Database Management Systems Storage, Management and Query Processing A thesis submitted in fulfilment of the requirements for the degree of Doctor of Philosophy Oshini Goonetilleke School of Science College of Science, Engineering, and Health RMIT University December, 2017 Declaration I certify that except where due acknowledgement has been made, the work is that of the author alone; the work has not been submitted previously, in whole or in part, to qualify for any other academic award; the content of the thesis is the result of work which has been carried out since the official commencement date of the approved research program; and, any editorial work, paid or unpaid, carried out by a third party is acknowledged; and, ethics procedures and guidelines have been followed. Oshini Goonetilleke School of Science RMIT University 20th December, 2017 Acknowledgements First, I would like to thank my supervisor, Timos Sellis, for all his advice, support and patience throughout my PhD journey. Over the past four years while working with Timos, I have learned many things about research and many important lessons in life. I feel privileged to have worked under his guidance. I would also like to thank my other supervisor, Jenny Zhang, for her advice and support during my PhD. I had an amazing group of collaborators, each contributing and supporting me in different ways. I would like to thank each of them: Saket Sathe, Danai Koutra, David Meibusch, Ben Barham and Kewen Liao. Saket for his feedback and advice during the early years of my PhD and his humorous insights; and Danai for long conversations about research problems at odd hours in the US, and suggesting interesting directions for my work. Working with all these collaborators was a great learning experience for me. I spent a great summer at Oracle Labs during my internship with them. I enjoyed working with a small team having many insightful discussions and learned different approaches to prob- lem solving. I believe this time was truly a turning point in my PhD. I’m particularly thankful to David Meibusch who has been a great mentor. My PhD experience was made so much easier because of my friends scattered throughout the world; especially Pathi for our long chats about work, life and everything else in between. I would specially like to thank Ammi (mother) and Nangi (sister) who have missed me so much back home during this period but have given me emotional and moral support all the way. Thank you for always believing in me. I would also like to thank my late father who has been the silent inspiration behind everything I do. Finally I thank my husband, Dineth, for his love, patience and encouragement; he has been very much my biggest pillar of strength. Contents Declaration ii Acknowledgement iii Contents iv List of Figures x List of Tables xiii Abstract xv 1 Introduction1 1.1 Graph Data Management Systems ......................... 1 1.2 Motivation and Contributions............................ 2 1.2.1 Modeling large scale applications in a GDBMS.............. 3 1.2.2 Storage and indexing issues in GDBMS .................. 4 1.2.3 Query processing in GDBMS........................ 4 1.3 Publications...................................... 6 1.4 Thesis Overview ................................... 7 2 Background8 2.1 Preliminaries ..................................... 8 2.2 Graph Representation ................................ 11 2.3 Real-world Graphs and Applications........................ 14 2.4 Graph Data Management Systems ......................... 16 2.4.1 Property Graph Data Model ........................ 16 iv CONTENTS v 2.4.2 Options for modeling graph data...................... 18 2.4.2.1 Relational model with SQL queries................ 18 2.4.2.2 RDF model with SPARQL queries................ 19 2.4.2.3 Native graph model with custom query languages . 20 2.4.3 Graph Database Systems .......................... 21 2.4.3.1 Neo4j................................ 21 2.4.3.2 Sparksee .............................. 23 2.4.3.3 Titan................................ 26 2.4.3.4 Graph database system summary ................ 26 2.4.4 Graph processing systems.......................... 27 2.5 Summary ....................................... 28 3 Graph Database Systems for Microblogging Analytics 29 3.1 Introduction...................................... 30 3.2 Data Collection.................................... 32 3.3 Data Management Frameworks........................... 34 3.3.1 Focused Crawlers............................... 34 3.3.2 Pre-processing and Information Extraction ................ 34 3.3.3 Generic Platforms .............................. 35 3.3.4 Application-specific Platforms........................ 36 3.3.5 Support for Visualization Interfaces .................... 37 3.3.6 Discussion: Data Model and Storage Mechanisms............. 37 3.4 Languages for Querying Tweets........................... 38 3.4.1 Generic Languages.............................. 39 3.4.2 Query Languages for Social Networks ................... 40 3.4.3 Information Retrieval - Tweet Search.................... 40 3.4.4 Discussion: Data Model and Storage for the Languages ......... 41 3.5 Requirements of an Integrated Solution ...................... 42 3.5.1 Focused crawler................................ 43 3.5.2 Pre-processor................................. 44 3.5.3 Data Model.................................. 45 3.5.4 Query Language ............................... 46 3.5.5 General Challenges in Data Management ................. 47 3.6 Graph Database Systems for Microblogging Queries................ 48 CONTENTS vi 3.6.1 Database Schema............................... 49 3.6.2 Graph Databases............................... 50 3.7 Data Ingestion and Query Processing........................ 51 3.7.1 Dataset and Pre-processing......................... 51 3.7.2 Data Ingestion ................................ 52 3.7.2.1 Neo4j................................ 53 3.7.2.2 Sparksee .............................. 54 3.7.3 Query Processing............................... 55 3.7.3.1 Basic Queries............................ 56 3.7.3.2 Advanced Queries......................... 57 3.7.3.3 Deriving Other Queries...................... 60 3.8 Discussion....................................... 60 3.8.1 Efficiency of alternate solutions....................... 61 3.8.2 Overhead for aggregate operations ..................... 62 3.8.3 Problems with the cold cache........................ 62 3.8.4 Processing keyword search on graphs.................... 62 3.9 Summary ....................................... 63 4 Evolving Dependency Graphs for Multi-versioned Codebases 64 4.1 Introduction...................................... 65 4.1.1 Chapter Organisation ............................ 67 4.2 Frappé background.................................. 67 4.2.1 Architecture.................................. 67 4.2.2 Graph Model................................. 68 4.2.3 Code Comprehension Queries........................ 70 4.3 Related Work..................................... 72 4.3.1 Evolving Graphs............................... 72 4.3.2 Industry Projects............................... 73 4.3.3 Source code analysis and other program meta-models........... 74 4.3.4 Syntactic and Semantic Differencing.................... 74 4.4 Versioning Dependency graphs ........................... 76 4.4.1 Potential solutions to versioning dependencies............... 76 4.4.1.1 Autonomous storage........................ 76 4.4.1.2 Delta storage............................ 76 CONTENTS vii 4.4.1.3 Use of an existing program meta-model............. 77 4.4.1.4 Proposed unified model...................... 77 4.4.2 Preliminaries of the Unified model ..................... 78 4.4.3 Queries in the Unified Model ........................ 79 4.5 Node and Edge Resolutions............................. 80 4.5.1 Resolution Rules............................... 80 4.5.1.1 Resolutions in a single version .................. 80 4.5.2 Versioned graph construction........................ 83 4.5.3 Model Improvements............................. 86 4.6 Evaluation....................................... 89 4.6.1 Datasets.................................... 89 4.6.2 Resolution Evaluation............................ 90 4.6.3 Discussion................................... 92 4.7 Queries on Versioned Graphs ............................ 93 4.7.1 Time-point queries.............................. 93 4.7.2 Time-interval Queries ............................ 95 4.8 Summary ....................................... 98 5 Edge Labeling Schemes for Graph Data 99 5.1 Introduction...................................... 100 5.1.1 Chapter Organisation ............................ 103 5.2 Related Work..................................... 103 5.2.1 Node arrangement .............................. 103 5.2.2 Graph compression and Space filling curves . 104 5.2.3 Graph partitioning, Community detection and Clustering . 105 5.2.4 Sparksee.................................... 106 5.3 Edge-labeling schemes ................................ 107 5.3.1 Problem formulation............................. 108 5.3.2 Labeling schemes............................... 110 5.3.2.1 Baselines for labeling....................... 111 5.3.2.2 Proposed Method: GrdRandom . 111 5.3.2.3 Proposed Method: FlipInOut . 111 5.4 Experimental Evaluation............................... 116 5.4.1 Experimental Setup ............................. 117 CONTENTS viii 5.4.2 Speedup of Queries.............................. 117 5.4.2.1 Friend-of-Friend (FoF) Queries
Recommended publications
  • Rich Internet Applications
    Rich Internet Applications (RIAs) A Comparison Between Adobe Flex, JavaFX and Microsoft Silverlight Master of Science Thesis in the Programme Software Engineering and Technology CARL-DAVID GRANBÄCK Department of Computer Science and Engineering CHALMERS UNIVERSITY OF TECHNOLOGY UNIVERSITY OF GOTHENBURG Göteborg, Sweden, October 2009 The Author grants to Chalmers University of Technology and University of Gothenburg the non-exclusive right to publish the Work electronically and in a non-commercial purpose make it accessible on the Internet. The Author warrants that he/she is the author to the Work, and warrants that the Work does not contain text, pictures or other material that violates copyright law. The Author shall, when transferring the rights of the Work to a third party (for example a publisher or a company), acknowledge the third party about this agreement. If the Author has signed a copyright agreement with a third party regarding the Work, the Author warrants hereby that he/she has obtained any necessary permission from this third party to let Chalmers University of Technology and University of Gothenburg store the Work electronically and make it accessible on the Internet. Rich Internet Applications (RIAs) A Comparison Between Adobe Flex, JavaFX and Microsoft Silverlight CARL-DAVID GRANBÄCK © CARL-DAVID GRANBÄCK, October 2009. Examiner: BJÖRN VON SYDOW Department of Computer Science and Engineering Chalmers University of Technology SE-412 96 Göteborg Sweden Telephone + 46 (0)31-772 1000 Department of Computer Science and Engineering Göteborg, Sweden, October 2009 Abstract This Master's thesis report describes and compares the three Rich Internet Application !RIA" frameworks Adobe Flex, JavaFX and Microsoft Silverlight.
    [Show full text]
  • 3.4.14A Inside Pages
    Class Breakthrough New York: 15 Years of Success New York the world needs us to be successful Breakthrough New York: Road to Success Sam Marks started first Breakthrough New York class, then called Summerbridge, at The Town School 2001 1999 2004 2005 BTNY endowment BTNY hires its second full-time Rhea Wong serves as established employee Teaching Fellow Rhea Wong 2006 2007 2008 2009 BTNY is incorporated joins the team as a separate 501(c)(3) First BTNY student comes back as Teaching Fellow Summerbridge becomes Launch of 6-year model of Edwin Gould Foundation Breakthrough New York to support through high school provides BTNY with independent better reflect its year-round office space in Lower Manhattan 2010 6-year commitment 2013 2012 2015 First class of BTNY students graduates from college First BTNY alumnus BTNY opens second site, at Opening of third BTNY joins full-time staff Bishop Loughlin Memorial High site in the Bronx! School in Fort Greene, Brooklyn New York the world needs us to be successful Welcome Letter The year was 1999. Bill Clinton was This is a year not only to reflect on our As you discover the stories that unfold in the President. Who Wants to Be a Millionaire? was achievements, but also to look ahead, to build, to pages ahead, we hope they inspire you to the most popular television show. Miss USA was grow, and to chart new and better paths for future contribute your time, energy and resources to from New York. A gallon of gas cost $1.30. And a Breakthrough New York students.
    [Show full text]
  • Apache Harmony Project Tim Ellison Geir Magnusson Jr
    The Apache Harmony Project Tim Ellison Geir Magnusson Jr. Apache Harmony Project http://harmony.apache.org TS-7820 2007 JavaOneSM Conference | Session TS-7820 | Goal of This Talk In the next 45 minutes you will... Learn about the motivations, current status, and future plans of the Apache Harmony project 2007 JavaOneSM Conference | Session TS-7820 | 2 Agenda Project History Development Model Modularity VM Interface How Are We Doing? Relevance in the Age of OpenJDK Summary 2007 JavaOneSM Conference | Session TS-7820 | 3 Agenda Project History Development Model Modularity VM Interface How Are We Doing? Relevance in the Age of OpenJDK Summary 2007 JavaOneSM Conference | Session TS-7820 | 4 Apache Harmony In the Beginning May 2005—founded in the Apache Incubator Primary Goals 1. Compatible, independent implementation of Java™ Platform, Standard Edition (Java SE platform) under the Apache License 2. Community-developed, modular architecture allowing sharing and independent innovation 3. Protect IP rights of ecosystem 2007 JavaOneSM Conference | Session TS-7820 | 5 Apache Harmony Early history: 2005 Broad community discussion • Technical issues • Legal and IP issues • Project governance issues Goal: Consolidation and Consensus 2007 JavaOneSM Conference | Session TS-7820 | 6 Early History Early history: 2005/2006 Initial Code Contributions • Three Virtual machines ● JCHEVM, BootVM, DRLVM • Class Libraries ● Core classes, VM interface, test cases ● Security, beans, regex, Swing, AWT ● RMI and math 2007 JavaOneSM Conference | Session TS-7820 |
    [Show full text]
  • Poetry Catalog 2021
    TIN HOUSE POETRY CATALOG NEW TITLES & ESSENTIAL BACKLIST 2021 Contents All The Names Given ..................................................... 1 My Darling from the Lions.................................................. 2 Superdoom: Selected Poems ................................................. 3 Other People’s Comfort Keeps Me Up at Night ................................ 4 The Perseverance ......................................................... 5 Negotiations ............................................................. 6 Resistencia: Poems of Protest and Revolution ................................ 7 Anodyne ................................................................. 8 My Baby First Birthday .................................................... 9 Good Boys .............................................................. 10 A Sand Book ............................................................. 11 Feed ..................................................................... 12 A Fortune for Your Disaster ................................................. 13 Whitman Illuminated: Song of Myself ........................................ 14 Magical Negro ........................................................... 15 When Rap Spoke Straight to God............................................ 16 Junk ..................................................................... 17 The Möbius Strip Club of Grief ............................................. 18 Nature Poem ............................................................ 19 There Are
    [Show full text]
  • Javafx in Action by Simon Morris
    Covers JavaFX v1.2 IN ACTION Simon Morris SAMPLE CHAPTER MANNING JavaFX in Action by Simon Morris Chapter 1 Copyright 2010 Manning Publications brief contents 1 ■ Welcome to the future: introducing JavaFX 1 2 ■ JavaFX Script data and variables 15 3 ■ JavaFX Scriptcode and structure 46 4 ■ Swing by numbers 79 5 ■ Behind the scene graph 106 6 ■ Moving pictures 132 7 ■ Controls,charts, and storage 165 8 ■ Web services with style 202 9 ■ From app to applet 230 10 ■ Clever graphics and smart phones 270 11 ■ Best of both worlds: using JavaFX from Java 300 appendix A ■ Getting started 315 appendix B ■ JavaFX Script: a quick reference 323 appendix C ■ Not familiar with Java? 343 appendix D ■ JavaFX and the Java platform 350 vii Welcome to the future: introducing JavaFX This chapter covers ■ Reviewing the history of the internet-based application ■ Asking what promise DSLs hold for UIs ■ Looking at JavaFX Script examples ■ Comparing JavaFX to its main rivals “If the only tool you have is a hammer, you tend to see every problem as a nail,” American psychologist Abraham Maslow once observed. Language advocacy is a popular pastime with many programmers, but what many fail to realize is that programming languages are like tools: each is good at some things and next to useless at others. Java, inspired as it was by prior art like C and Smalltalk, sports a solid general-purpose syntax that gets the job done with the minimum of fuss in the majority of cases. Unfortunately, there will always be those areas that, by their very nature, demand something a little more specialized.
    [Show full text]
  • Solution Brief JVM Performance Monitoring
    Solution Brief Monitoring the Health & Performance of Java Virtual Machines (JVM) Total Performance Visibility JVM: The Cornerstone of Java Enterprise Applications The Java Virtual Machine (JVM) forms the core of the Java application architecture. It plays the crucial role of interpreting and translating Java byte code into operations on the host platform. Since Java middleware (application servers such as Tomcat, JBoss EAP, JBoss AS, WildFly, WebSphere, and WebLogic) runs on the JVM, a performance issue at the JVM level has a major impact on business services supported by it. Monitoring of the JVM must be an integral part of any Java application performance monitoring strategy. IT Ops and DevOps teams use JVM Key Benefits performance metrics to troubleshoot server-side bottlenecks. Developers and architects can also benefit from JVM monitoring by uncovering code- Proactively detect and resolve level issues. Java application problems to ensure high service uptime and business continuity Key JVM Performance Questions to Answer Troubleshoot faster: Real-time • Is there any runaway thread hogging the CPU? Which line of code is it alerts pinpoint the exact line executing, in which class, and which method? of code that is impacting Java • Is the JVM heap and non-heap memory sized correctly? applications • Are there any out-of-memory-exceptions or memory leaks? In-depth analytics enable architects to optimize Java • When does garbage collection happen, and how much memory is applications to scale and support freed up each time? additional users • Are there any thread deadlocks happening that are causing Single pane of glass to monitor application processing to be hung? everything Java—from application server, JVM and database, all the way down to server and storage End-to-End JVM Monitoring with eG Enterprise infrastructure eG Enterprise is a comprehensive performance monitoring, diagnosis and reporting solution for Java application infrastructures.
    [Show full text]
  • A Study of Cache Performance in Java Virtual Machines, the University of Texas at Austin, 2002
    Cache Performance in Java Virtual Machines: A Study of Constituent Phases Anand S. Rajan, Juan Rubio and Lizy K. John Laboratory for Computer Architecture Department of Electrical & Computer Engineering The University of Texas at Austin (arajan, jrubio,[email protected]) Abstract This paper studies the cache performance of Java programs in the interpreted and just-in- time (JIT) modes by analyzing memory reference traces of the SPECjvm98 applications with the Latte JVM. Specifically, we study the cache performance of the different components of the JVM (class loader, the execution engine and the garbage collector). Poor data cache performance in JITs is caused by code installation, and the data write miss rate can be as high as 70% in the execution engine. In addition, this code installation also causes deterioration in performance of the instruction cache during execution of translated code. We also believe that there is considerable interference between data accesses of the garbage collector and that of the compiler-translator execution engine of the JIT mode. We observe that the miss percentages in the garbage collection phase are of the order of 60% for the JIT mode; we believe that interference between data accesses of the garbage collector and the JIT execution engine lead to further deterioration of the data cache performance wherever the contribution of the garbage collector is significant. We observe that an increase in cache sizes does not substantially improve performance in the case of data cache writes, which is identified to be the principal performance bottleneck in JITs. 1 1. Introduction Java[1] is a widely used programming language due to the machine independent nature of bytecodes.
    [Show full text]
  • Super Tuesday Arman Mehzad ‘21 of Them
    Volume 69, Issue 7 March 2020 Super Tuesday Arman Mehzad ‘21 of them. FiveThirtyEight, however, noticed another trend among late- deciding Biden voters - in the states of Maine, Massachusetts, and Minnesota, white voters played a key role in Biden’s News success, with each state’s electorates Updates regarding being at least eight percent white. On the other hand, an increase in Hispanic Corona virus can be support slightly bolstered Biden’s numbers in California, the most delegate found on page 3 of rich state, but did not amount to anything this issue! able to overtake Sanders’s support within Latino communities. The Vice President’s late surge was also felt across the party’s ideological lines, with conservative Democrats and “very liberal” Democrats alike swinging over Editorials into his camp. As such, Biden can owe It would be an understatement to say that Biden did well on much of his win to the many late-deciders of the Democratic Get the inside scoop Super Tuesday. On one of the biggest primary voting days in the primary, and by extension, his comeback win in South Carolina. about Dart Wars o country, the former Vice President won ten of the fourteen states But what now? up for contest on Super Tuesday, with Senator Bernie Sanders page 5! winning the other four. With around one third of Democratic National Convention delegates awarded to Biden and Sanders primarily (635 and 558 Vice President Biden won the states of Minnesota, Texas, respectively), Biden is most likely to walk away with a majority Oklahoma, Arkansas, Tennessee, Alabama, North Carolina, of pledged delegates by the Democratic National Convention on Virginia, Massachusetts, and Maine, while Senator Sanders won June 6th, with FiveThirtyEight projecting a ninety-nine percent California, Utah, Colorado, and his home state of Vermont.
    [Show full text]
  • Topic-Oriented Sentiment Analysis on Blogs and Microblogs a Thesis
    Topic-oriented Sentiment Analysis on Blogs and Microblogs A thesis submitted in fulfilment of the requirements for the degree of Doctor of Philosophy Zhixin Zhou M.Sc School of Science RMIT University School of Science College of Science Engineering and Health RMIT University Jun, 2016 Declaration I certify that except where due acknowledgement has been made, the work is that of the author alone; the work has not been submitted previously, in whole or in part, to qualify for any other academic award; the content of the thesis is the result of work which has been carried out since the official commencement date of the approved research program; any editorial work, paid or unpaid, carried out by a third party is acknowledged; and, ethics procedures and guidelines have been followed. Zhixin Zhou Jun 20, 2016 ii Acknowledgments Words cannot express my gratitude for my supervisors, Dr. Xiuzhen (Jenny) Zhang, Prof. Mark Sanderson, Dr Phil Vines and Assoc. Prof. Xiaodong Li. The completion of the thesis would never have been possible without their continuous help and guidance throughout my candidature. I am grateful to the School of Computer Science and Information Technology (now School of Science) at RMIT University for both the finantial support and such a great academic environment. My sincere thanks to all my fellow PhD students. You accompany made my life joyful. Finally I wish to thank my family for their patience and encouragement over the past four years. In particular, I wish to thank my partner, Xiaoyan Liu. At my current page of life, your love is a miracle that shines up my way.
    [Show full text]
  • Page 1 of 143 Ventura County Library Diversity, Inclusion, & Anti
    Ventura County Library Diversity, Inclusion, & Anti-RacismSort All Featured White Fragility By: DiAngelo, Robin; Dyson, Michael Eric ISBN: 9780807047422 Published By: Beacon Press 2018 EPUB3 View book URL https://ebook.yourcloudlibrary.com/library/venturacountylibrary-document_id-qv1u1r9 The New York Times best-selling book exploring the counterproductive reactions white people have when their assumptions about race are challenged, and how these reactions maintain racial inequality. In this “vital, necessary, and beautiful book” (Michael Eric Dyson), antiracist educator Robin DiAngelo deftly illuminates the phenomenon of white fragility and “allows us to understand racism as a practice not restricted to ‘bad people’ (Claudia Rankine). Referring to the defensive moves that white people make when challenged racially, white fragility is characterized by emotions such as anger, fear, and guilt, and by behaviors including argumentation and silence. These behaviors, in turn, function to reinstate white racial equilibrium and prevent any meaningful cross-racial dialogue. In this in-depth exploration, DiAngelo examines how white fragility develops, how it protects racial inequality, and what we can do to engage more constructively. Page 1 of 143 Let Them See You By: Braswell, Porter ISBN: 9780399581410 Published By: Potter/Ten Speed/Harmony/Rodale 2019 The guide to getting hired, being promoted, and thriving professionally for the 40 million people of color in the workplace—fromthe CEO and cofounder of Jopwell, the leading career advancement platform for Black, Latinx, and Native American students and professionals. Let Them See You is a collection of Braswell’s straight-talking advice and mentorship for diverse careerists, from college students to mid-level professionals.
    [Show full text]
  • Java and C I CSE 351 Autumn 2016
    L26: JVM CSE351, Spring 2018 Java Virtual Machine CSE 351 Spring 2018 Model of a Computer “Showing the Weather” Pencil and Crayon on Paper Matai Feldacker-Grossman, Age 4 May 22, 2018 L26: JVM CSE351, Spring 2018 Roadmap C: Java: Memory & data Integers & floats car *c = malloc(sizeof(car)); Car c = new Car(); x86 assembly c->miles = 100; c.setMiles(100); c->gals = 17; c.setGals(17); Procedures & stacks float mpg = get_mpg(c); float mpg = Executables free(c); c.getMPG(); Arrays & structs Memory & caches Assembly get_mpg: Processes language: pushq %rbp Virtual memory movq %rsp, %rbp ... Memory allocation popq %rbp Java vs. C ret OS: Machine 0111010000011000 code: 100011010000010000000010 1000100111000010 110000011111101000011111 Computer system: 2 L26: JVM CSE351, Spring 2018 Implementing Programming Languages Many choices in how to implement programming models We’ve talked about compilation, can also interpret Interpreting languages has a long history . Lisp, an early programming language, was interpreted Interpreters are still in common use: . Python, Javascript, Ruby, Matlab, PHP, Perl, … Interpreter Your source code implementation Your source code Binary executable Interpreter binary Hardware Hardware 3 L26: JVM CSE351, Spring 2018 An Interpreter is a Program Execute (something close to) the source code directly Simpler/no compiler – less translation More transparent to debug – less translation Easier to run on different architectures – runs in a simulated environment that exists only inside the interpreter process . Just port the interpreter (program), not the program-intepreted Slower and harder to optimize 4 L26: JVM CSE351, Spring 2018 Interpreter vs. Compiler An aspect of a language implementation . A language can have multiple implementations . Some might be compilers and other interpreters “Compiled languages” vs.
    [Show full text]
  • Java Virtual Machine Is a Virtual Machine, an Abstract Computer That Has Its Own ISA, Own Memory, Stack, Heap, Etc
    Java Virtual Machine i Java Virtual Machine About the Tutorial Java Virtual Machine is a virtual machine, an abstract computer that has its own ISA, own memory, stack, heap, etc. It is an engine that manages system memory and drives Java code or applications in run-time environment. It runs on the host Operating system and places its demands for resources to it. Audience This tutorial is designed for software professionals who want to run their Java code and other applications on any operating system or device, and to optimize and manage program memory. Prerequisites Before you start to learn this tutorial, we assume that you have a basic understanding of Java Programming. If you are new to these concepts, we suggest you to go through the Java programming tutorial first to get a hold on the topics mentioned in this tutorial. Copyright & Disclaimer Copyright 2019 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at [email protected] ii Java Virtual Machine Table of Contents About the Tutorial ..........................................................................................................................................
    [Show full text]