Java Card Virtual Machine (JCVM)

  Java Card Virtual Machine (JCVM) specification defines the Java programming language and a subset of a smart card for the compatibility of the Java Virtual Machine, including binary data file format and said, as well as instruction set JCVM. 

  Java Card platform for the virtual machine is the realization of two parts, part of the card, the card itself part in the operation.    Card, Java Card Virtual Machine bytecode interpretation, management classes and objects, and so on.    External Java Virtual Machine is a part of development tools, commonly known as Java Card conversion tools, loading, testing and further small card applications for Java class for the implementation of the card.    Conversion tools output is a Converted Applet (CAP) document, which is a Java program includes a package of documents of all types.    Conversion of compliance with inspection procedures Java Card standard. 

  JCVM only supports the Java programming language a limited subset, but it retains many familiar features, including object, inheritance, packages, and dynamic object creation, virtual methods, interface and abnormal.    JCVM abandoned the norms of the elements of the support of many languages, because these languages will be spent many elements may have very limited smart card memory: 

  Form 1, the Java Card Language summary information 

  Language category of dynamic loading, safety management (java.lang.securitymanager), threads, object cloning and certain aspects of the package do not support access control.    Keyword does not support native, synchronized, transient, volatile, strictfp.    Char type does not support, double, float and long, does not support multidimensional arrays.    Int on the support is optional.    And the interface does not support category in addition to Object Throwable and outside the core Java application programming interface and the interface type (java.io, java.lang, java.util), and Object Throwable and most methods can not be used.    Exception Error some anomalies and subclass was omitted because they Packaging anomalies and errors in the Java Card platform can not be there. 

  There are procedures model restrictions.    For example, a class can no longer carry the cards to expand and it implied to be a final type. 

  In order to meet the storage limit, JCVM definition of a number of additional standardized procedures attribute constraints.    Form 4 JCVM resource constraints concluded.    Many of these constraints for the development of Java Card, who is very understanding. 

  Form 2, Java Card Virtual Machine bound summary information 

  Package a package to invoke 128 other packages in line with the requirements of a complete package were limited to less than 255 bytes.    Character size depends on attention to the character encoding.    A fully meets requirements of the package were limited to less than 255 bytes.    Most of a class can be directly or indirectly to achieve 15 interface.    Interface can be a maximum of 14 inherited from the interface.    If the package contains a small application (a small application package), which can have up to 256 static method; the absence of the small applications (the package), which may have a maximum of 255 static method.    Can be a maximum of 128 public or protected instance methods. 

  In Java Card Virtual Machine, as in J2SE virtual machine in the same class is a core document, but JCVM specification defines two other files to further platform-independent, conversion of small applications (Converted Applet CAP) and export (Export ) format, which will be described in the following article. 

  The life cycle of Virtual Machine 

  JCVM the life cycle of the card itself and the life cycle of the same: in the manufacture and test cards issued to cardholders to the hands of the period of time it began life cycle, when the card is lost or destroyed in the life cycle when it will end .    Cards when there is no electricity JCVM will not stop, because it was kept in a state of the cards in the non-volatile memory.    JCVM start initialization JCRE JCRE and create the framework for all objects, these JCVM throughout the entire life cycle of the operation are.    JCVM start, and all the cards are on the principle of the interaction of the card was a small application program control.    When the card did when stored in the RAM of any data will be lost, but stored in permanent memory in any state can be preserved.    When the power once again, the virtual machine is again activated, when the virtual machine state, and objects to be restored and re-start the implementation pending further importation. 



Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Facebook
  • DotNetKicks
  • DZone
  • Netvouz
  • Propeller

Recommend Articles

Comments

Leave a Reply