Logo

Navigation
  • Home
  • Services
    • ERP Solutions
    • Implementation Solutions
    • Support and Maintenance Solutions
    • Custom Solutions
    • Upgrade Solutions
    • Training and Mentoring
    • Web Solutions
    • Production Support
    • Architecture Designing
    • Independent Validation and Testing Services
    • Infrastructure Management
  • Expertise
    • Microsoft Development Expertise
    • Mobile Development
    • SQL Server Database and BI
    • SAP BI, SAP Hana, SAP BO
    • Oracle and BI
    • Oracle RAC
  • Technical Training
    • Learn Data Management
      • Business Intelligence
      • Data Mining
      • Data Modeling
      • Data Warehousing
      • Disaster Recovery
    • Learn Concepts
      • Application Development
      • Client Server
      • Cloud Computing Tutorials
      • Cluster Computing
      • CRM Tutorial
      • EDI Tutorials
      • ERP Tutorials
      • NLP
      • OOPS
      • Concepts
      • SOA Tutorial
      • Supply Chain
      • Technology Trends
      • UML
      • Virtualization
      • Web 2.0
    • Learn Java
      • JavaScript Tutorial
      • JSP Tutorials
      • J2EE
    • Learn Microsoft
      • MSAS
      • ASP.NET
      • ASP.NET 2.0
      • C Sharp
      • MS Project Training
      • Silverlight
      • SQL Server 2005
      • VB.NET 2005
    • Learn Networking
      • Networking
      • Wireless
    • Learn Oracle
      • Oracle 10g
      • PL/SQL
      • Oracle 11g Tutorials
      • Oracle 9i
      • Oracle Apps
    • Learn Programming
      • Ajax Tutorial
      • C Language
      • C++ Tutorials
      • CSS Tutorial
      • CSS3 Tutorial
      • JavaScript Tutorial
      • jQuery Tutorial
      • MainFrame
      • PHP Tutorial
      • VBScript Tutorial
      • XML Tutorial
    • Learn Software Testing
      • Software Testing Types
      • SQA
      • Testing
  • Career Training
    • Career Improvement
      • Career Articles
      • Certification Articles
      • Conflict Management
      • Core Skills
      • Decision Making
      • Entrepreneurship
      • Goal Setting
      • Life Skills
      • Performance Development
      • Personal Excellence
      • Personality Development
      • Problem Solving
      • Relationship Management
      • Self Confidence
      • Self Supervision
      • Social Networking
      • Strategic Planning
      • Time Management
    • Education Help
      • Career Tracks
      • Essay Writing
      • Internship Tips
      • Online Education
      • Scholarships
      • Student Loans
    • Managerial Skills
      • Business Communication
      • Business Networking
      • Facilitator Skills
      • Managing Change
      • Marketing Management
      • Meeting Management
      • Process Management
      • Project Management
      • Project Management Life Cycle
      • Project Management Process
      • Project Risk Management
      • Relationship Management
      • Task Management
      • Team Building
      • Virtual Team Management
    • Essential Life Skills
      • Anger Management
      • Anxiety Management
      • Attitude Development
      • Coaching and Mentoring
      • Emotional Intelligence
      • Stress Management
      • Positive Thinking
    • Communication Skills
      • Conversation Skills
      • Cross Culture Competence
      • English Vocabulary
      • Listening Skills
      • Public Speaking Skills
      • Questioning Skills
    • Soft Skills
      • Assertive Skills
      • Influence Skills
      • Leadership Skills
      • Memory Skills
      • People Skills
      • Presentation Skills
    • Finding a Job
      • Etiquette Tips
      • Group Discussions
      • HR Interviews
      • Interview Notes
      • Job Search Tips
      • Resume Tips
      • Sample Resumes
 

Java Virtual Machine

By Exforsys | on July 13, 2006 |
J2EE

Java Virtual Machine

The Java Virtual Machine, also known as JVM, was created by Sun Microsystems, and is basically a virtual machine which runs Java bytecode. The Java bytecode will be created by Java compilers. However, it should be noted that compilers for other languages have also been used as well.

The JVM is an important part of Java. The existence of JVMs on numerous different devices and software programs has allowed programs written in Java to be run on a large number of devices. You can write a single program with Java, and then that program can be run on numerous operating systems.

Since the release of J2SE 5, the updates of the Java Virtual Machine have been made by the Java Community Process. A number of changes are being made in 2006, which should allow effective implementations. Sun has been running a series of tests to make sure the implentations for the JVM are working correctly. These changes have been requested for the class file format. If you want a program to run with the Java Virtual Machine, it will need to be compiled into a specific format which is binary. This means it will typically have to be a .class file type. An application can have a large number of classes, but each class will have to be placed in a unique file. To make programs easier to transfer, the class files may need to be placed within a .jar file.

Once this has been done, the binary will be initiated by the Java runtime. This runtime will perform an emulation of the instructions by reviewing it or by adding a just in time compiler, which is also known as JIT. An example of a popular JIT is HotSpot by Sun. Because the Java bytecode is based on a stack, the Java Virtual Machine will use what is called a stack structure. However, a JIT compiler will process the code into machine code. Every thread will use a stack and program counter which is unique. Before bytecode can be initiated, the Java Virtual Machine must verify it. Because of this, there is a limit to the amount of bytecode which can be sequenced from a specific program.

Even though the Java Virtual Machine uses a stack structure, this doesn’t mean that the developer will see a problem with speed when it comes to emulation. Verifying the code will also allow the JVM to make sure the bit patterns are not used for an address. Memory protection will be offered, and the developer doesn’t need to have access to a MMU. Because of this, the Java Virtual Machine is a simple way to get protection for the memory without using a MMU. There are a number of jobs that the JVM must carry out. It will need to store and load data, and it will also need to perform arithmetic operations.

The JVM must also deal with the conversion of type and the creation and control of objects. In addition to this, it will also need to deal with control transfers and throwing exceptions. The goal of the Java Virtual Machine is to make sure the code is compatible with the hardware or software that it is being converted into. For example, each OS will need to have an implentation for JVM that is unique. While the JVM will always study the bytecode in the same way, the implementation of the code will likely be different. The most complicated aspect of this is the the use of the Java API. The API will need to be properly mapped for each OS.



It is also important to make sure the code is initiated in a secure manner. The structure of the Java Virtual Machine will give a high level of control over the behavior of the code. The goal of this is to make sure the code is initiated correctly. This is especially important when code is being taken from unknown sources. The Java applets are well known for this. The Java applet works with the browser of a user, and it will initiate code which is downloaded from a distant server that uses HTTP. This code will be transferred in a restricted manner in order to protect the user.

« « How To Persuade Those Who Read Your Essays
How To Run J2ME Programs on Palm Devices » »

Author Description

Avatar

Editorial Team at Exforsys is a team of IT Consulting and Training team led by Chandra Vennapoosa.

Free Training

RSSSubscribe 392 Followers
  • Popular
  • Recent
  • New Features in Java 5 – From Programmers Point of View

    November 26, 2005 - 0 Comment
  • Determine the Effectiveness of your Java Software

    July 5, 2006 - 0 Comment
  • Important Features of Java – Multithreading, AWT

    July 26, 2006 - 0 Comment
  • Performance Tuning of Java Applications

    December 2, 2005 - 0 Comment
  • How To Develop RFID Applications In Java

    July 8, 2006 - 0 Comment
  • J2EE Overview

    December 6, 2005 - 0 Comment
  • How To Perform Class Loading With Java

    July 8, 2006 - 0 Comment
  • Servlet Basics

    December 6, 2005 - 0 Comment
  • A Java TOC2 Class Which Can Contact Aim

    July 12, 2006 - 0 Comment
  • How to Install and Use NetBeans for Java Development

    June 26, 2005 - 0 Comment
  • Why It is Important To Focus On Java Exceptions For Your Programs

    July 27, 2006 - 0 Comment
  • Important Features of Java – Multithreading, AWT

    July 26, 2006 - 0 Comment
  • What You Should Know About Java XML

    July 25, 2006 - 0 Comment
  • What You Can Do To Deal With Java’s Memory Retention Problems

    July 22, 2006 - 0 Comment
  • Java Overview

    July 17, 2006 - 0 Comment
  • How To Use Java DB as Your Client Mobile Database

    July 14, 2006 - 0 Comment
  • How To Run J2ME Programs on Palm Devices

    July 14, 2006 - 0 Comment
  • Quickly Develop Java Programs With Tapestry

    July 12, 2006 - 0 Comment
  • A Java TOC2 Class Which Can Contact Aim

    July 12, 2006 - 0 Comment
  • How To Perform Class Loading With Java

    July 8, 2006 - 0 Comment

Exforsys e-Newsletter

ebook
 

Related Articles

  • Why It is Important To Focus On Java Exceptions For Your Programs
  • Important Features of Java – Multithreading, AWT
  • What You Should Know About Java XML
  • What You Can Do To Deal With Java’s Memory Retention Problems
  • Java Overview

Latest Articles

  • Project Management Techniques
  • Product Development Best Practices
  • Importance of Quality Data Management
  • How to Maximize Quality Assurance
  • Utilizing Effective Quality Assurance Strategies
  • Sitemap
  • Privacy Policy
  • DMCA
  • Trademark Information
  • Contact Us
© 2023. All Rights Reserved.IT Training and Consulting
This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.AcceptReject Read More
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT