`

What is a Java virtual machine?

 
阅读更多

What is a Java virtual machine?

Simply speaking, a JVM is the software module that executes Java application bytecode and translates the bytecode into hardware- and operating system-specific instructions. By doing so, the JVM enables Java programs to be executed in different environments from where they were first written, without requiring any changes to the original application code. Java's portability is key to its popularity as an enterprise application language: developers don't have to rewrite application code for every platform because the JVM handles the translation and platform-optimization.

    A JVM basically is a virtual execution environment acting as a machine for bytecode instructions, while assigning execution tasks and performing memory operations through interaction with underlying layers.

    A JVM also takes care of dynamic resource management for running Java applications. This means it handles allocating and de-allocating memory(内存管理), maintaining a consistent thread model on each platform(一致性的线程模型), and organizing the executable instructions in a way that is suited for the CPU architecture(适配不同CPU架构的可运行指令) where the application is executed. The JVM frees the programmer from keeping track of references between objects and knowing how long they should be kept in the system. It also frees us from having to decide exactly when to issue explicit instructions to free up memory -- an acknowledged pain point of non-dynamic programming languages like C.

You could think about the JVM as a specialized operating system for Java; its job is to manage the runtime environment for Java applications. A JVM basically is a virtual execution environment acting as a machine for bytecode instructions, while assigning execution tasks and performing memory operations through interaction with underlying layers.

 

转自: http://www.javaworld.com/article/2078623/core-java/jvm-performance-optimization--part-1--a-jvm-technology-primer.html

 

 

分享到:
评论

相关推荐

    深入java虚拟机(inside the java virtual machine)

    What is a Java Virtual Machine? The Lifetime of a Java Virtual Machine The Architecture of the Java Virtual Machine Data Types Word Size The Class Loader Subsystem Loading, Linking and ...

    java傻瓜编程系列英文版kindle

    What is a Java Virtual Machine?. 32 Developing software. 39 What is an integrated development environment?. 40 CHAPTER 3: Using the Basic Building Blocks. 43 Speaking the Java Language . 43 The ...

    java7帮助文档

    Java Virtual Machine Support for Non-Java Languages: Java SE 7 introduces a new JVM instruction that simplifies the implementation of dynamically typed programming languages on the JVM. Garbage-First...

    Android Developer Guide

    Dalvik virtual machine optimized for mobile devices Integrated browser based on the open source WebKit engine Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the ...

    JBoss AS 5 Performance Tuning.pdf

    By looking more closely at the Java Virtual Machine, you will get a deeper understanding of what the available options are for your applications, and how their performance will be affected. Learn ...

    Java.EE.7.Performance.Tuning.and.Optimization.178217642X

    Understand the basic aspects of the Java virtual machine and application server performance tuning Design guidelines for better enterprise application performance Discover different Java optimization ...

    pja_2.5.zip

    It is 100% Pure Java and doesn't use any native graphics resource of the system on which the Java Virtual Machine runs. java.awt.Graphics methods such as drawLine (), fillOval (), drawString (),... ...

    Introduction to JVM Languages

    Anyone who knows software development knows about the Java Virtual Machine (JVM), it is responsible for interpreting Java byte code and translating it into actions. In the beginning, Java was the only...

    Java选择题40道全英文带答案

     -255 to 256  D.depends on the particular implementation of the Java Virtual machine 这道题目考察了Java中的基本数据类型。byte类型的取值范围是-128到127,因此正确答案是A。 6. What will...

    scala for the impatient

    Scala is a modern programming language for the Java Virtual Machine (JVM) that combines the best features of object-oriented and functional programming languages. Using Scala, you can write programs ...

    java.核心技术.第八版 卷1

    Generic Code and the Virtual Machine 621 Restrictions and Limitations 626 Inheritance Rules for Generic Types 630 Wildcard Types 632 Reflection and Generics 640 Chapter 13: Collections 649 ...

    groovy_in_action_draft_ch_01.pdf

    Groovy is a versatile programming language that runs on the Java Virtual Machine (JVM). It offers several advanced features such as closures, dynamic typing, and the meta-object protocol (MOP), making...

    Erlang and Elixir for Imperative Programmers(Apress,2016)

    It was not long after that he discovered Elixir, which sits on top of the Erlang virtual machine and has features more palatable for non-functional programmers, although it is a functional ...

    Java测试题1答案

    <br>4.A byte can be of what size 1)-128 to 127 2)(-2 power 8)-1 to 2 power 8 3)-255 to 256 4)depends on the particular implementation of the java virtual machine <br>5.哪些是Java...

    Hello.Android.4th.Edition

    compiler or Dalvik virtual machine, so your code will be portable across ARM, x86, and other architectures. Support for a variety of input methods is included, such as keyboards, game pads, touch, TV ...

    JavaPerformanceTuning-Oreilly.pdf

    - **虚拟机(VM)版本**(Virtual Machine (VM) Versions) - 不同版本的Java虚拟机(JVM)可能具有不同的性能特性。了解当前使用的JVM版本对于针对性地进行性能调优非常重要。 #### 五、本书约定 - **约定用法**...

    UE(官方下载)

    A question we often see is "I have a lot of blank lines in my file and I don't want to go through and manually delete them. Is there an easier way to do this?" The answer is: yes! Configure FTP Set up...

Global site tag (gtag.js) - Google Analytics