Java 2 Micro Edition (J2ME) and the world of java The Java 2 Platform, Micro Edition (J2ME) provides...
-
Upload
juliet-allen -
Category
Documents
-
view
225 -
download
0
Transcript of Java 2 Micro Edition (J2ME) and the world of java The Java 2 Platform, Micro Edition (J2ME) provides...
Java 2 Micro Edition (J2ME) and the world of java
bull The Java 2 Platform Micro Edition (J2ME) provides a flexible environment for applications running on consumer devices such as mobile phones PDAs and TV set-top boxes as well as a broad range of embedded devices
bull J2ME includes Java virtual machines and a set of standard Java APIs
bull It includes flexible user interfaces a robust security model a broad range of built-in network protocols and extensive support for networked and offline applications
1
The J2ME Architecture
bull The J2ME architecture comprises a variety of configurations profiles and optional packages that implementers and developers can choose from
2
3
J2ME Configurations and Profiles
bull Even within J2ME one size does not fit allbull Configurations Minimum libraries and JVMbull Profiles libraries for specific devices or marketsbull J2ME configurations
ndash CLDCndash CDC
bull J2ME profilesbull MIDP
ndash Foundation Bluetooth Personal bull Configurations and profiles defined by the Java
Community ProcessSM
Configurationsbull Configurations comprise
ndash a virtual machinendash a minimal set of class libraries
bull They provide the base functionality for a particular range of devices that share similar characteristics such as network connectivity and memory footprint
bull Currently there are two J2ME configurations ndash the Connected Limited Device Configuration (CLDC)
bull Established and widely usedndash the Connected Device Configuration (CDC)
bull Next generation configuration
4
Profiles bull To provide a complete runtime environment for a
specific device category a configuration must be combined with a profile
bull This is a set of higher-level APIs that further define the application life-cycle model the user interface and access to device-specific properties
bull A profile supports a narrower category of devices within the framework of a chosen configuration
bull A widely adopted example is to combine CLDC with the Mobile Information Device Profile (MIDP) to provide a complete Java application environment for cell phones and other devices with similar capabilities
5
Optional Packages bull The J2ME platform can be extended by adding
various optional packages to a technology stack that includes either CLDC or CDC and an associated profile
bull Optional packages offer standard APIs for using both existing and emerging technologies such as database connectivity wireless messaging multimedia Bluetooth and web services
bull Because optional packages are modular developers can avoid carrying the overhead of unnecessary functionality by including only the packages an application actually needs
6
7
Mobile Information Device Profile
bull The first J2ME profilebull Targets devices implementing CLDCbull Profile addresses
ndash Display toolkit user input methodsndash Persistent data storagendash Messaging( SMS email etc) security and
networking over wireless network connection
8
Related TechnologiesJava Cardtrade Technology
bull Specifies minimized subset of Java technology for GSM SIM cards smart cards Java rings and other extremely constrained devices
bull Key benefits versus non-Java smart cardsndash Multiple applications per cardndash Post-issuance updates to apps
on card
9
Related TechnologiesEmbeddedJavatrade Technology
bull EmbeddedJava technology is a program from Sun supporting development of dedicated-function embedded devices for a wide range of end uses
bull EmbeddedJava technology gives device manufacturers the ability tondash Configure the Java platform to leave out unneeded
classes and VM featuresndash Minimize resource requirements and cost for a
deeply-embedded devicendash Optimize for devices with no GUI and intermittent
(at best) networkingndash Keep APIs for their devices private
10
J2MEtrade Connected Device Configuration
bull Connected Device Configuration (CDC)ndash Targeted for devices that have 2 MB or more total
available memoryndash Memory dedicated to J2ME environmentndash More than 2MB ROMFlashndash More than 512 KB RAMndash Network connectivityndash Full Java 2 Virtual Machine specification
11
Example J2MEtrade CDC Uses
bull Wireless communicatorsbull High-end PDAsbull TV set-top boxesbull Gatewaysbull Automotive entertainment and navigation
systemsbull TelecommNetworking Equipmentbull Industrial Controllers
12
What Is CVM
bull Basis for J2ME CDC and profilesndash Large VMs for desktopsservers dont scale well to
devicesndash Static and dynamic memory footprint too bigndash Not embeddable ROMable not portablendash Implicit assumption of virtual memoryndash Native stack use address range reservationndash Implicit assumption of process model
bull Global variables system threads
13
CVM featuresbull Good JVM featuresbull Device friendlinessbull Easily re-targetablebull Narrow porting interfacebull Almost entirely in C (except
dynamic compiler)bull ~256KB with JNI reflection
verification
bull CVM supports all Java 2 Platform version 13
bull VM features and libraries for security weak references JNI RMI and JVMDI
bull CVM allows devices to map Java threads directly to native threads
bull Can run Java classes out of ROMbull Contains a precise memory system
with advanced Garbage Collection features
bull Small average GC pause timesbull Pluggable Garbage Collectorsbull Full separation of VM from memory
system
14
J2ME Profiles
bull Mobile Information Device Profile (MIDP)ndash Profile for wireless devices implementing CLDC
bull J2ME Foundation Profilendash Profile for non-GUI networked devices
implementing CDC
bull J2ME Personal Basis Personal RMI Profilesndash Basic graphics next generation PersonalJava
environment and RMI support for CDC amp Foundation Profile based devices
15
CDC APIs
bull 1048576 Defines minimum set of APIs for Java VM supportndash javalang VM system classes (Object Thread etc)ndash javautilUnderlying utilitiesndash javanetUDP Datagram and File URLndash javaioFilendash javatextI18n support for Java VM error messagesndash javasecurityFine grain security and encryption
for object serialization16
CVM Sizes Today
bull CVM onlyndash Static ROM + RAM req= 258 KB
bull Natives onlyndash Static ROM + RAM req= 124 KB
bull Porting layer onlyndash Static ROM + RAM req= 28 KB
bull CVM+natives+porting_layerndash Static ROM + RAM req= 410 KB
17
Foundation Profile APIsbull Defines core set of Java platform functionality
ndash No GUIndash Subset of JDK 13
bull Completes full functionality from CDCndash javalangRounds out full javalang(Compiler
UnknownError)ndash javautilAdds full zip support Timer etcndash javanetAdds TCP Socket and HTTPndash javaioRounds out full javaio (Readers and Writers)ndash javatextFull I18n (Annotation Collator Iterators etc)ndash javasecurityAdds Code Signing and Certificates
18
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-
The J2ME Architecture
bull The J2ME architecture comprises a variety of configurations profiles and optional packages that implementers and developers can choose from
2
3
J2ME Configurations and Profiles
bull Even within J2ME one size does not fit allbull Configurations Minimum libraries and JVMbull Profiles libraries for specific devices or marketsbull J2ME configurations
ndash CLDCndash CDC
bull J2ME profilesbull MIDP
ndash Foundation Bluetooth Personal bull Configurations and profiles defined by the Java
Community ProcessSM
Configurationsbull Configurations comprise
ndash a virtual machinendash a minimal set of class libraries
bull They provide the base functionality for a particular range of devices that share similar characteristics such as network connectivity and memory footprint
bull Currently there are two J2ME configurations ndash the Connected Limited Device Configuration (CLDC)
bull Established and widely usedndash the Connected Device Configuration (CDC)
bull Next generation configuration
4
Profiles bull To provide a complete runtime environment for a
specific device category a configuration must be combined with a profile
bull This is a set of higher-level APIs that further define the application life-cycle model the user interface and access to device-specific properties
bull A profile supports a narrower category of devices within the framework of a chosen configuration
bull A widely adopted example is to combine CLDC with the Mobile Information Device Profile (MIDP) to provide a complete Java application environment for cell phones and other devices with similar capabilities
5
Optional Packages bull The J2ME platform can be extended by adding
various optional packages to a technology stack that includes either CLDC or CDC and an associated profile
bull Optional packages offer standard APIs for using both existing and emerging technologies such as database connectivity wireless messaging multimedia Bluetooth and web services
bull Because optional packages are modular developers can avoid carrying the overhead of unnecessary functionality by including only the packages an application actually needs
6
7
Mobile Information Device Profile
bull The first J2ME profilebull Targets devices implementing CLDCbull Profile addresses
ndash Display toolkit user input methodsndash Persistent data storagendash Messaging( SMS email etc) security and
networking over wireless network connection
8
Related TechnologiesJava Cardtrade Technology
bull Specifies minimized subset of Java technology for GSM SIM cards smart cards Java rings and other extremely constrained devices
bull Key benefits versus non-Java smart cardsndash Multiple applications per cardndash Post-issuance updates to apps
on card
9
Related TechnologiesEmbeddedJavatrade Technology
bull EmbeddedJava technology is a program from Sun supporting development of dedicated-function embedded devices for a wide range of end uses
bull EmbeddedJava technology gives device manufacturers the ability tondash Configure the Java platform to leave out unneeded
classes and VM featuresndash Minimize resource requirements and cost for a
deeply-embedded devicendash Optimize for devices with no GUI and intermittent
(at best) networkingndash Keep APIs for their devices private
10
J2MEtrade Connected Device Configuration
bull Connected Device Configuration (CDC)ndash Targeted for devices that have 2 MB or more total
available memoryndash Memory dedicated to J2ME environmentndash More than 2MB ROMFlashndash More than 512 KB RAMndash Network connectivityndash Full Java 2 Virtual Machine specification
11
Example J2MEtrade CDC Uses
bull Wireless communicatorsbull High-end PDAsbull TV set-top boxesbull Gatewaysbull Automotive entertainment and navigation
systemsbull TelecommNetworking Equipmentbull Industrial Controllers
12
What Is CVM
bull Basis for J2ME CDC and profilesndash Large VMs for desktopsservers dont scale well to
devicesndash Static and dynamic memory footprint too bigndash Not embeddable ROMable not portablendash Implicit assumption of virtual memoryndash Native stack use address range reservationndash Implicit assumption of process model
bull Global variables system threads
13
CVM featuresbull Good JVM featuresbull Device friendlinessbull Easily re-targetablebull Narrow porting interfacebull Almost entirely in C (except
dynamic compiler)bull ~256KB with JNI reflection
verification
bull CVM supports all Java 2 Platform version 13
bull VM features and libraries for security weak references JNI RMI and JVMDI
bull CVM allows devices to map Java threads directly to native threads
bull Can run Java classes out of ROMbull Contains a precise memory system
with advanced Garbage Collection features
bull Small average GC pause timesbull Pluggable Garbage Collectorsbull Full separation of VM from memory
system
14
J2ME Profiles
bull Mobile Information Device Profile (MIDP)ndash Profile for wireless devices implementing CLDC
bull J2ME Foundation Profilendash Profile for non-GUI networked devices
implementing CDC
bull J2ME Personal Basis Personal RMI Profilesndash Basic graphics next generation PersonalJava
environment and RMI support for CDC amp Foundation Profile based devices
15
CDC APIs
bull 1048576 Defines minimum set of APIs for Java VM supportndash javalang VM system classes (Object Thread etc)ndash javautilUnderlying utilitiesndash javanetUDP Datagram and File URLndash javaioFilendash javatextI18n support for Java VM error messagesndash javasecurityFine grain security and encryption
for object serialization16
CVM Sizes Today
bull CVM onlyndash Static ROM + RAM req= 258 KB
bull Natives onlyndash Static ROM + RAM req= 124 KB
bull Porting layer onlyndash Static ROM + RAM req= 28 KB
bull CVM+natives+porting_layerndash Static ROM + RAM req= 410 KB
17
Foundation Profile APIsbull Defines core set of Java platform functionality
ndash No GUIndash Subset of JDK 13
bull Completes full functionality from CDCndash javalangRounds out full javalang(Compiler
UnknownError)ndash javautilAdds full zip support Timer etcndash javanetAdds TCP Socket and HTTPndash javaioRounds out full javaio (Readers and Writers)ndash javatextFull I18n (Annotation Collator Iterators etc)ndash javasecurityAdds Code Signing and Certificates
18
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-
3
J2ME Configurations and Profiles
bull Even within J2ME one size does not fit allbull Configurations Minimum libraries and JVMbull Profiles libraries for specific devices or marketsbull J2ME configurations
ndash CLDCndash CDC
bull J2ME profilesbull MIDP
ndash Foundation Bluetooth Personal bull Configurations and profiles defined by the Java
Community ProcessSM
Configurationsbull Configurations comprise
ndash a virtual machinendash a minimal set of class libraries
bull They provide the base functionality for a particular range of devices that share similar characteristics such as network connectivity and memory footprint
bull Currently there are two J2ME configurations ndash the Connected Limited Device Configuration (CLDC)
bull Established and widely usedndash the Connected Device Configuration (CDC)
bull Next generation configuration
4
Profiles bull To provide a complete runtime environment for a
specific device category a configuration must be combined with a profile
bull This is a set of higher-level APIs that further define the application life-cycle model the user interface and access to device-specific properties
bull A profile supports a narrower category of devices within the framework of a chosen configuration
bull A widely adopted example is to combine CLDC with the Mobile Information Device Profile (MIDP) to provide a complete Java application environment for cell phones and other devices with similar capabilities
5
Optional Packages bull The J2ME platform can be extended by adding
various optional packages to a technology stack that includes either CLDC or CDC and an associated profile
bull Optional packages offer standard APIs for using both existing and emerging technologies such as database connectivity wireless messaging multimedia Bluetooth and web services
bull Because optional packages are modular developers can avoid carrying the overhead of unnecessary functionality by including only the packages an application actually needs
6
7
Mobile Information Device Profile
bull The first J2ME profilebull Targets devices implementing CLDCbull Profile addresses
ndash Display toolkit user input methodsndash Persistent data storagendash Messaging( SMS email etc) security and
networking over wireless network connection
8
Related TechnologiesJava Cardtrade Technology
bull Specifies minimized subset of Java technology for GSM SIM cards smart cards Java rings and other extremely constrained devices
bull Key benefits versus non-Java smart cardsndash Multiple applications per cardndash Post-issuance updates to apps
on card
9
Related TechnologiesEmbeddedJavatrade Technology
bull EmbeddedJava technology is a program from Sun supporting development of dedicated-function embedded devices for a wide range of end uses
bull EmbeddedJava technology gives device manufacturers the ability tondash Configure the Java platform to leave out unneeded
classes and VM featuresndash Minimize resource requirements and cost for a
deeply-embedded devicendash Optimize for devices with no GUI and intermittent
(at best) networkingndash Keep APIs for their devices private
10
J2MEtrade Connected Device Configuration
bull Connected Device Configuration (CDC)ndash Targeted for devices that have 2 MB or more total
available memoryndash Memory dedicated to J2ME environmentndash More than 2MB ROMFlashndash More than 512 KB RAMndash Network connectivityndash Full Java 2 Virtual Machine specification
11
Example J2MEtrade CDC Uses
bull Wireless communicatorsbull High-end PDAsbull TV set-top boxesbull Gatewaysbull Automotive entertainment and navigation
systemsbull TelecommNetworking Equipmentbull Industrial Controllers
12
What Is CVM
bull Basis for J2ME CDC and profilesndash Large VMs for desktopsservers dont scale well to
devicesndash Static and dynamic memory footprint too bigndash Not embeddable ROMable not portablendash Implicit assumption of virtual memoryndash Native stack use address range reservationndash Implicit assumption of process model
bull Global variables system threads
13
CVM featuresbull Good JVM featuresbull Device friendlinessbull Easily re-targetablebull Narrow porting interfacebull Almost entirely in C (except
dynamic compiler)bull ~256KB with JNI reflection
verification
bull CVM supports all Java 2 Platform version 13
bull VM features and libraries for security weak references JNI RMI and JVMDI
bull CVM allows devices to map Java threads directly to native threads
bull Can run Java classes out of ROMbull Contains a precise memory system
with advanced Garbage Collection features
bull Small average GC pause timesbull Pluggable Garbage Collectorsbull Full separation of VM from memory
system
14
J2ME Profiles
bull Mobile Information Device Profile (MIDP)ndash Profile for wireless devices implementing CLDC
bull J2ME Foundation Profilendash Profile for non-GUI networked devices
implementing CDC
bull J2ME Personal Basis Personal RMI Profilesndash Basic graphics next generation PersonalJava
environment and RMI support for CDC amp Foundation Profile based devices
15
CDC APIs
bull 1048576 Defines minimum set of APIs for Java VM supportndash javalang VM system classes (Object Thread etc)ndash javautilUnderlying utilitiesndash javanetUDP Datagram and File URLndash javaioFilendash javatextI18n support for Java VM error messagesndash javasecurityFine grain security and encryption
for object serialization16
CVM Sizes Today
bull CVM onlyndash Static ROM + RAM req= 258 KB
bull Natives onlyndash Static ROM + RAM req= 124 KB
bull Porting layer onlyndash Static ROM + RAM req= 28 KB
bull CVM+natives+porting_layerndash Static ROM + RAM req= 410 KB
17
Foundation Profile APIsbull Defines core set of Java platform functionality
ndash No GUIndash Subset of JDK 13
bull Completes full functionality from CDCndash javalangRounds out full javalang(Compiler
UnknownError)ndash javautilAdds full zip support Timer etcndash javanetAdds TCP Socket and HTTPndash javaioRounds out full javaio (Readers and Writers)ndash javatextFull I18n (Annotation Collator Iterators etc)ndash javasecurityAdds Code Signing and Certificates
18
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-
Configurationsbull Configurations comprise
ndash a virtual machinendash a minimal set of class libraries
bull They provide the base functionality for a particular range of devices that share similar characteristics such as network connectivity and memory footprint
bull Currently there are two J2ME configurations ndash the Connected Limited Device Configuration (CLDC)
bull Established and widely usedndash the Connected Device Configuration (CDC)
bull Next generation configuration
4
Profiles bull To provide a complete runtime environment for a
specific device category a configuration must be combined with a profile
bull This is a set of higher-level APIs that further define the application life-cycle model the user interface and access to device-specific properties
bull A profile supports a narrower category of devices within the framework of a chosen configuration
bull A widely adopted example is to combine CLDC with the Mobile Information Device Profile (MIDP) to provide a complete Java application environment for cell phones and other devices with similar capabilities
5
Optional Packages bull The J2ME platform can be extended by adding
various optional packages to a technology stack that includes either CLDC or CDC and an associated profile
bull Optional packages offer standard APIs for using both existing and emerging technologies such as database connectivity wireless messaging multimedia Bluetooth and web services
bull Because optional packages are modular developers can avoid carrying the overhead of unnecessary functionality by including only the packages an application actually needs
6
7
Mobile Information Device Profile
bull The first J2ME profilebull Targets devices implementing CLDCbull Profile addresses
ndash Display toolkit user input methodsndash Persistent data storagendash Messaging( SMS email etc) security and
networking over wireless network connection
8
Related TechnologiesJava Cardtrade Technology
bull Specifies minimized subset of Java technology for GSM SIM cards smart cards Java rings and other extremely constrained devices
bull Key benefits versus non-Java smart cardsndash Multiple applications per cardndash Post-issuance updates to apps
on card
9
Related TechnologiesEmbeddedJavatrade Technology
bull EmbeddedJava technology is a program from Sun supporting development of dedicated-function embedded devices for a wide range of end uses
bull EmbeddedJava technology gives device manufacturers the ability tondash Configure the Java platform to leave out unneeded
classes and VM featuresndash Minimize resource requirements and cost for a
deeply-embedded devicendash Optimize for devices with no GUI and intermittent
(at best) networkingndash Keep APIs for their devices private
10
J2MEtrade Connected Device Configuration
bull Connected Device Configuration (CDC)ndash Targeted for devices that have 2 MB or more total
available memoryndash Memory dedicated to J2ME environmentndash More than 2MB ROMFlashndash More than 512 KB RAMndash Network connectivityndash Full Java 2 Virtual Machine specification
11
Example J2MEtrade CDC Uses
bull Wireless communicatorsbull High-end PDAsbull TV set-top boxesbull Gatewaysbull Automotive entertainment and navigation
systemsbull TelecommNetworking Equipmentbull Industrial Controllers
12
What Is CVM
bull Basis for J2ME CDC and profilesndash Large VMs for desktopsservers dont scale well to
devicesndash Static and dynamic memory footprint too bigndash Not embeddable ROMable not portablendash Implicit assumption of virtual memoryndash Native stack use address range reservationndash Implicit assumption of process model
bull Global variables system threads
13
CVM featuresbull Good JVM featuresbull Device friendlinessbull Easily re-targetablebull Narrow porting interfacebull Almost entirely in C (except
dynamic compiler)bull ~256KB with JNI reflection
verification
bull CVM supports all Java 2 Platform version 13
bull VM features and libraries for security weak references JNI RMI and JVMDI
bull CVM allows devices to map Java threads directly to native threads
bull Can run Java classes out of ROMbull Contains a precise memory system
with advanced Garbage Collection features
bull Small average GC pause timesbull Pluggable Garbage Collectorsbull Full separation of VM from memory
system
14
J2ME Profiles
bull Mobile Information Device Profile (MIDP)ndash Profile for wireless devices implementing CLDC
bull J2ME Foundation Profilendash Profile for non-GUI networked devices
implementing CDC
bull J2ME Personal Basis Personal RMI Profilesndash Basic graphics next generation PersonalJava
environment and RMI support for CDC amp Foundation Profile based devices
15
CDC APIs
bull 1048576 Defines minimum set of APIs for Java VM supportndash javalang VM system classes (Object Thread etc)ndash javautilUnderlying utilitiesndash javanetUDP Datagram and File URLndash javaioFilendash javatextI18n support for Java VM error messagesndash javasecurityFine grain security and encryption
for object serialization16
CVM Sizes Today
bull CVM onlyndash Static ROM + RAM req= 258 KB
bull Natives onlyndash Static ROM + RAM req= 124 KB
bull Porting layer onlyndash Static ROM + RAM req= 28 KB
bull CVM+natives+porting_layerndash Static ROM + RAM req= 410 KB
17
Foundation Profile APIsbull Defines core set of Java platform functionality
ndash No GUIndash Subset of JDK 13
bull Completes full functionality from CDCndash javalangRounds out full javalang(Compiler
UnknownError)ndash javautilAdds full zip support Timer etcndash javanetAdds TCP Socket and HTTPndash javaioRounds out full javaio (Readers and Writers)ndash javatextFull I18n (Annotation Collator Iterators etc)ndash javasecurityAdds Code Signing and Certificates
18
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-
Profiles bull To provide a complete runtime environment for a
specific device category a configuration must be combined with a profile
bull This is a set of higher-level APIs that further define the application life-cycle model the user interface and access to device-specific properties
bull A profile supports a narrower category of devices within the framework of a chosen configuration
bull A widely adopted example is to combine CLDC with the Mobile Information Device Profile (MIDP) to provide a complete Java application environment for cell phones and other devices with similar capabilities
5
Optional Packages bull The J2ME platform can be extended by adding
various optional packages to a technology stack that includes either CLDC or CDC and an associated profile
bull Optional packages offer standard APIs for using both existing and emerging technologies such as database connectivity wireless messaging multimedia Bluetooth and web services
bull Because optional packages are modular developers can avoid carrying the overhead of unnecessary functionality by including only the packages an application actually needs
6
7
Mobile Information Device Profile
bull The first J2ME profilebull Targets devices implementing CLDCbull Profile addresses
ndash Display toolkit user input methodsndash Persistent data storagendash Messaging( SMS email etc) security and
networking over wireless network connection
8
Related TechnologiesJava Cardtrade Technology
bull Specifies minimized subset of Java technology for GSM SIM cards smart cards Java rings and other extremely constrained devices
bull Key benefits versus non-Java smart cardsndash Multiple applications per cardndash Post-issuance updates to apps
on card
9
Related TechnologiesEmbeddedJavatrade Technology
bull EmbeddedJava technology is a program from Sun supporting development of dedicated-function embedded devices for a wide range of end uses
bull EmbeddedJava technology gives device manufacturers the ability tondash Configure the Java platform to leave out unneeded
classes and VM featuresndash Minimize resource requirements and cost for a
deeply-embedded devicendash Optimize for devices with no GUI and intermittent
(at best) networkingndash Keep APIs for their devices private
10
J2MEtrade Connected Device Configuration
bull Connected Device Configuration (CDC)ndash Targeted for devices that have 2 MB or more total
available memoryndash Memory dedicated to J2ME environmentndash More than 2MB ROMFlashndash More than 512 KB RAMndash Network connectivityndash Full Java 2 Virtual Machine specification
11
Example J2MEtrade CDC Uses
bull Wireless communicatorsbull High-end PDAsbull TV set-top boxesbull Gatewaysbull Automotive entertainment and navigation
systemsbull TelecommNetworking Equipmentbull Industrial Controllers
12
What Is CVM
bull Basis for J2ME CDC and profilesndash Large VMs for desktopsservers dont scale well to
devicesndash Static and dynamic memory footprint too bigndash Not embeddable ROMable not portablendash Implicit assumption of virtual memoryndash Native stack use address range reservationndash Implicit assumption of process model
bull Global variables system threads
13
CVM featuresbull Good JVM featuresbull Device friendlinessbull Easily re-targetablebull Narrow porting interfacebull Almost entirely in C (except
dynamic compiler)bull ~256KB with JNI reflection
verification
bull CVM supports all Java 2 Platform version 13
bull VM features and libraries for security weak references JNI RMI and JVMDI
bull CVM allows devices to map Java threads directly to native threads
bull Can run Java classes out of ROMbull Contains a precise memory system
with advanced Garbage Collection features
bull Small average GC pause timesbull Pluggable Garbage Collectorsbull Full separation of VM from memory
system
14
J2ME Profiles
bull Mobile Information Device Profile (MIDP)ndash Profile for wireless devices implementing CLDC
bull J2ME Foundation Profilendash Profile for non-GUI networked devices
implementing CDC
bull J2ME Personal Basis Personal RMI Profilesndash Basic graphics next generation PersonalJava
environment and RMI support for CDC amp Foundation Profile based devices
15
CDC APIs
bull 1048576 Defines minimum set of APIs for Java VM supportndash javalang VM system classes (Object Thread etc)ndash javautilUnderlying utilitiesndash javanetUDP Datagram and File URLndash javaioFilendash javatextI18n support for Java VM error messagesndash javasecurityFine grain security and encryption
for object serialization16
CVM Sizes Today
bull CVM onlyndash Static ROM + RAM req= 258 KB
bull Natives onlyndash Static ROM + RAM req= 124 KB
bull Porting layer onlyndash Static ROM + RAM req= 28 KB
bull CVM+natives+porting_layerndash Static ROM + RAM req= 410 KB
17
Foundation Profile APIsbull Defines core set of Java platform functionality
ndash No GUIndash Subset of JDK 13
bull Completes full functionality from CDCndash javalangRounds out full javalang(Compiler
UnknownError)ndash javautilAdds full zip support Timer etcndash javanetAdds TCP Socket and HTTPndash javaioRounds out full javaio (Readers and Writers)ndash javatextFull I18n (Annotation Collator Iterators etc)ndash javasecurityAdds Code Signing and Certificates
18
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-
Optional Packages bull The J2ME platform can be extended by adding
various optional packages to a technology stack that includes either CLDC or CDC and an associated profile
bull Optional packages offer standard APIs for using both existing and emerging technologies such as database connectivity wireless messaging multimedia Bluetooth and web services
bull Because optional packages are modular developers can avoid carrying the overhead of unnecessary functionality by including only the packages an application actually needs
6
7
Mobile Information Device Profile
bull The first J2ME profilebull Targets devices implementing CLDCbull Profile addresses
ndash Display toolkit user input methodsndash Persistent data storagendash Messaging( SMS email etc) security and
networking over wireless network connection
8
Related TechnologiesJava Cardtrade Technology
bull Specifies minimized subset of Java technology for GSM SIM cards smart cards Java rings and other extremely constrained devices
bull Key benefits versus non-Java smart cardsndash Multiple applications per cardndash Post-issuance updates to apps
on card
9
Related TechnologiesEmbeddedJavatrade Technology
bull EmbeddedJava technology is a program from Sun supporting development of dedicated-function embedded devices for a wide range of end uses
bull EmbeddedJava technology gives device manufacturers the ability tondash Configure the Java platform to leave out unneeded
classes and VM featuresndash Minimize resource requirements and cost for a
deeply-embedded devicendash Optimize for devices with no GUI and intermittent
(at best) networkingndash Keep APIs for their devices private
10
J2MEtrade Connected Device Configuration
bull Connected Device Configuration (CDC)ndash Targeted for devices that have 2 MB or more total
available memoryndash Memory dedicated to J2ME environmentndash More than 2MB ROMFlashndash More than 512 KB RAMndash Network connectivityndash Full Java 2 Virtual Machine specification
11
Example J2MEtrade CDC Uses
bull Wireless communicatorsbull High-end PDAsbull TV set-top boxesbull Gatewaysbull Automotive entertainment and navigation
systemsbull TelecommNetworking Equipmentbull Industrial Controllers
12
What Is CVM
bull Basis for J2ME CDC and profilesndash Large VMs for desktopsservers dont scale well to
devicesndash Static and dynamic memory footprint too bigndash Not embeddable ROMable not portablendash Implicit assumption of virtual memoryndash Native stack use address range reservationndash Implicit assumption of process model
bull Global variables system threads
13
CVM featuresbull Good JVM featuresbull Device friendlinessbull Easily re-targetablebull Narrow porting interfacebull Almost entirely in C (except
dynamic compiler)bull ~256KB with JNI reflection
verification
bull CVM supports all Java 2 Platform version 13
bull VM features and libraries for security weak references JNI RMI and JVMDI
bull CVM allows devices to map Java threads directly to native threads
bull Can run Java classes out of ROMbull Contains a precise memory system
with advanced Garbage Collection features
bull Small average GC pause timesbull Pluggable Garbage Collectorsbull Full separation of VM from memory
system
14
J2ME Profiles
bull Mobile Information Device Profile (MIDP)ndash Profile for wireless devices implementing CLDC
bull J2ME Foundation Profilendash Profile for non-GUI networked devices
implementing CDC
bull J2ME Personal Basis Personal RMI Profilesndash Basic graphics next generation PersonalJava
environment and RMI support for CDC amp Foundation Profile based devices
15
CDC APIs
bull 1048576 Defines minimum set of APIs for Java VM supportndash javalang VM system classes (Object Thread etc)ndash javautilUnderlying utilitiesndash javanetUDP Datagram and File URLndash javaioFilendash javatextI18n support for Java VM error messagesndash javasecurityFine grain security and encryption
for object serialization16
CVM Sizes Today
bull CVM onlyndash Static ROM + RAM req= 258 KB
bull Natives onlyndash Static ROM + RAM req= 124 KB
bull Porting layer onlyndash Static ROM + RAM req= 28 KB
bull CVM+natives+porting_layerndash Static ROM + RAM req= 410 KB
17
Foundation Profile APIsbull Defines core set of Java platform functionality
ndash No GUIndash Subset of JDK 13
bull Completes full functionality from CDCndash javalangRounds out full javalang(Compiler
UnknownError)ndash javautilAdds full zip support Timer etcndash javanetAdds TCP Socket and HTTPndash javaioRounds out full javaio (Readers and Writers)ndash javatextFull I18n (Annotation Collator Iterators etc)ndash javasecurityAdds Code Signing and Certificates
18
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-
7
Mobile Information Device Profile
bull The first J2ME profilebull Targets devices implementing CLDCbull Profile addresses
ndash Display toolkit user input methodsndash Persistent data storagendash Messaging( SMS email etc) security and
networking over wireless network connection
8
Related TechnologiesJava Cardtrade Technology
bull Specifies minimized subset of Java technology for GSM SIM cards smart cards Java rings and other extremely constrained devices
bull Key benefits versus non-Java smart cardsndash Multiple applications per cardndash Post-issuance updates to apps
on card
9
Related TechnologiesEmbeddedJavatrade Technology
bull EmbeddedJava technology is a program from Sun supporting development of dedicated-function embedded devices for a wide range of end uses
bull EmbeddedJava technology gives device manufacturers the ability tondash Configure the Java platform to leave out unneeded
classes and VM featuresndash Minimize resource requirements and cost for a
deeply-embedded devicendash Optimize for devices with no GUI and intermittent
(at best) networkingndash Keep APIs for their devices private
10
J2MEtrade Connected Device Configuration
bull Connected Device Configuration (CDC)ndash Targeted for devices that have 2 MB or more total
available memoryndash Memory dedicated to J2ME environmentndash More than 2MB ROMFlashndash More than 512 KB RAMndash Network connectivityndash Full Java 2 Virtual Machine specification
11
Example J2MEtrade CDC Uses
bull Wireless communicatorsbull High-end PDAsbull TV set-top boxesbull Gatewaysbull Automotive entertainment and navigation
systemsbull TelecommNetworking Equipmentbull Industrial Controllers
12
What Is CVM
bull Basis for J2ME CDC and profilesndash Large VMs for desktopsservers dont scale well to
devicesndash Static and dynamic memory footprint too bigndash Not embeddable ROMable not portablendash Implicit assumption of virtual memoryndash Native stack use address range reservationndash Implicit assumption of process model
bull Global variables system threads
13
CVM featuresbull Good JVM featuresbull Device friendlinessbull Easily re-targetablebull Narrow porting interfacebull Almost entirely in C (except
dynamic compiler)bull ~256KB with JNI reflection
verification
bull CVM supports all Java 2 Platform version 13
bull VM features and libraries for security weak references JNI RMI and JVMDI
bull CVM allows devices to map Java threads directly to native threads
bull Can run Java classes out of ROMbull Contains a precise memory system
with advanced Garbage Collection features
bull Small average GC pause timesbull Pluggable Garbage Collectorsbull Full separation of VM from memory
system
14
J2ME Profiles
bull Mobile Information Device Profile (MIDP)ndash Profile for wireless devices implementing CLDC
bull J2ME Foundation Profilendash Profile for non-GUI networked devices
implementing CDC
bull J2ME Personal Basis Personal RMI Profilesndash Basic graphics next generation PersonalJava
environment and RMI support for CDC amp Foundation Profile based devices
15
CDC APIs
bull 1048576 Defines minimum set of APIs for Java VM supportndash javalang VM system classes (Object Thread etc)ndash javautilUnderlying utilitiesndash javanetUDP Datagram and File URLndash javaioFilendash javatextI18n support for Java VM error messagesndash javasecurityFine grain security and encryption
for object serialization16
CVM Sizes Today
bull CVM onlyndash Static ROM + RAM req= 258 KB
bull Natives onlyndash Static ROM + RAM req= 124 KB
bull Porting layer onlyndash Static ROM + RAM req= 28 KB
bull CVM+natives+porting_layerndash Static ROM + RAM req= 410 KB
17
Foundation Profile APIsbull Defines core set of Java platform functionality
ndash No GUIndash Subset of JDK 13
bull Completes full functionality from CDCndash javalangRounds out full javalang(Compiler
UnknownError)ndash javautilAdds full zip support Timer etcndash javanetAdds TCP Socket and HTTPndash javaioRounds out full javaio (Readers and Writers)ndash javatextFull I18n (Annotation Collator Iterators etc)ndash javasecurityAdds Code Signing and Certificates
18
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-
Mobile Information Device Profile
bull The first J2ME profilebull Targets devices implementing CLDCbull Profile addresses
ndash Display toolkit user input methodsndash Persistent data storagendash Messaging( SMS email etc) security and
networking over wireless network connection
8
Related TechnologiesJava Cardtrade Technology
bull Specifies minimized subset of Java technology for GSM SIM cards smart cards Java rings and other extremely constrained devices
bull Key benefits versus non-Java smart cardsndash Multiple applications per cardndash Post-issuance updates to apps
on card
9
Related TechnologiesEmbeddedJavatrade Technology
bull EmbeddedJava technology is a program from Sun supporting development of dedicated-function embedded devices for a wide range of end uses
bull EmbeddedJava technology gives device manufacturers the ability tondash Configure the Java platform to leave out unneeded
classes and VM featuresndash Minimize resource requirements and cost for a
deeply-embedded devicendash Optimize for devices with no GUI and intermittent
(at best) networkingndash Keep APIs for their devices private
10
J2MEtrade Connected Device Configuration
bull Connected Device Configuration (CDC)ndash Targeted for devices that have 2 MB or more total
available memoryndash Memory dedicated to J2ME environmentndash More than 2MB ROMFlashndash More than 512 KB RAMndash Network connectivityndash Full Java 2 Virtual Machine specification
11
Example J2MEtrade CDC Uses
bull Wireless communicatorsbull High-end PDAsbull TV set-top boxesbull Gatewaysbull Automotive entertainment and navigation
systemsbull TelecommNetworking Equipmentbull Industrial Controllers
12
What Is CVM
bull Basis for J2ME CDC and profilesndash Large VMs for desktopsservers dont scale well to
devicesndash Static and dynamic memory footprint too bigndash Not embeddable ROMable not portablendash Implicit assumption of virtual memoryndash Native stack use address range reservationndash Implicit assumption of process model
bull Global variables system threads
13
CVM featuresbull Good JVM featuresbull Device friendlinessbull Easily re-targetablebull Narrow porting interfacebull Almost entirely in C (except
dynamic compiler)bull ~256KB with JNI reflection
verification
bull CVM supports all Java 2 Platform version 13
bull VM features and libraries for security weak references JNI RMI and JVMDI
bull CVM allows devices to map Java threads directly to native threads
bull Can run Java classes out of ROMbull Contains a precise memory system
with advanced Garbage Collection features
bull Small average GC pause timesbull Pluggable Garbage Collectorsbull Full separation of VM from memory
system
14
J2ME Profiles
bull Mobile Information Device Profile (MIDP)ndash Profile for wireless devices implementing CLDC
bull J2ME Foundation Profilendash Profile for non-GUI networked devices
implementing CDC
bull J2ME Personal Basis Personal RMI Profilesndash Basic graphics next generation PersonalJava
environment and RMI support for CDC amp Foundation Profile based devices
15
CDC APIs
bull 1048576 Defines minimum set of APIs for Java VM supportndash javalang VM system classes (Object Thread etc)ndash javautilUnderlying utilitiesndash javanetUDP Datagram and File URLndash javaioFilendash javatextI18n support for Java VM error messagesndash javasecurityFine grain security and encryption
for object serialization16
CVM Sizes Today
bull CVM onlyndash Static ROM + RAM req= 258 KB
bull Natives onlyndash Static ROM + RAM req= 124 KB
bull Porting layer onlyndash Static ROM + RAM req= 28 KB
bull CVM+natives+porting_layerndash Static ROM + RAM req= 410 KB
17
Foundation Profile APIsbull Defines core set of Java platform functionality
ndash No GUIndash Subset of JDK 13
bull Completes full functionality from CDCndash javalangRounds out full javalang(Compiler
UnknownError)ndash javautilAdds full zip support Timer etcndash javanetAdds TCP Socket and HTTPndash javaioRounds out full javaio (Readers and Writers)ndash javatextFull I18n (Annotation Collator Iterators etc)ndash javasecurityAdds Code Signing and Certificates
18
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-
Related TechnologiesJava Cardtrade Technology
bull Specifies minimized subset of Java technology for GSM SIM cards smart cards Java rings and other extremely constrained devices
bull Key benefits versus non-Java smart cardsndash Multiple applications per cardndash Post-issuance updates to apps
on card
9
Related TechnologiesEmbeddedJavatrade Technology
bull EmbeddedJava technology is a program from Sun supporting development of dedicated-function embedded devices for a wide range of end uses
bull EmbeddedJava technology gives device manufacturers the ability tondash Configure the Java platform to leave out unneeded
classes and VM featuresndash Minimize resource requirements and cost for a
deeply-embedded devicendash Optimize for devices with no GUI and intermittent
(at best) networkingndash Keep APIs for their devices private
10
J2MEtrade Connected Device Configuration
bull Connected Device Configuration (CDC)ndash Targeted for devices that have 2 MB or more total
available memoryndash Memory dedicated to J2ME environmentndash More than 2MB ROMFlashndash More than 512 KB RAMndash Network connectivityndash Full Java 2 Virtual Machine specification
11
Example J2MEtrade CDC Uses
bull Wireless communicatorsbull High-end PDAsbull TV set-top boxesbull Gatewaysbull Automotive entertainment and navigation
systemsbull TelecommNetworking Equipmentbull Industrial Controllers
12
What Is CVM
bull Basis for J2ME CDC and profilesndash Large VMs for desktopsservers dont scale well to
devicesndash Static and dynamic memory footprint too bigndash Not embeddable ROMable not portablendash Implicit assumption of virtual memoryndash Native stack use address range reservationndash Implicit assumption of process model
bull Global variables system threads
13
CVM featuresbull Good JVM featuresbull Device friendlinessbull Easily re-targetablebull Narrow porting interfacebull Almost entirely in C (except
dynamic compiler)bull ~256KB with JNI reflection
verification
bull CVM supports all Java 2 Platform version 13
bull VM features and libraries for security weak references JNI RMI and JVMDI
bull CVM allows devices to map Java threads directly to native threads
bull Can run Java classes out of ROMbull Contains a precise memory system
with advanced Garbage Collection features
bull Small average GC pause timesbull Pluggable Garbage Collectorsbull Full separation of VM from memory
system
14
J2ME Profiles
bull Mobile Information Device Profile (MIDP)ndash Profile for wireless devices implementing CLDC
bull J2ME Foundation Profilendash Profile for non-GUI networked devices
implementing CDC
bull J2ME Personal Basis Personal RMI Profilesndash Basic graphics next generation PersonalJava
environment and RMI support for CDC amp Foundation Profile based devices
15
CDC APIs
bull 1048576 Defines minimum set of APIs for Java VM supportndash javalang VM system classes (Object Thread etc)ndash javautilUnderlying utilitiesndash javanetUDP Datagram and File URLndash javaioFilendash javatextI18n support for Java VM error messagesndash javasecurityFine grain security and encryption
for object serialization16
CVM Sizes Today
bull CVM onlyndash Static ROM + RAM req= 258 KB
bull Natives onlyndash Static ROM + RAM req= 124 KB
bull Porting layer onlyndash Static ROM + RAM req= 28 KB
bull CVM+natives+porting_layerndash Static ROM + RAM req= 410 KB
17
Foundation Profile APIsbull Defines core set of Java platform functionality
ndash No GUIndash Subset of JDK 13
bull Completes full functionality from CDCndash javalangRounds out full javalang(Compiler
UnknownError)ndash javautilAdds full zip support Timer etcndash javanetAdds TCP Socket and HTTPndash javaioRounds out full javaio (Readers and Writers)ndash javatextFull I18n (Annotation Collator Iterators etc)ndash javasecurityAdds Code Signing and Certificates
18
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-
Related TechnologiesEmbeddedJavatrade Technology
bull EmbeddedJava technology is a program from Sun supporting development of dedicated-function embedded devices for a wide range of end uses
bull EmbeddedJava technology gives device manufacturers the ability tondash Configure the Java platform to leave out unneeded
classes and VM featuresndash Minimize resource requirements and cost for a
deeply-embedded devicendash Optimize for devices with no GUI and intermittent
(at best) networkingndash Keep APIs for their devices private
10
J2MEtrade Connected Device Configuration
bull Connected Device Configuration (CDC)ndash Targeted for devices that have 2 MB or more total
available memoryndash Memory dedicated to J2ME environmentndash More than 2MB ROMFlashndash More than 512 KB RAMndash Network connectivityndash Full Java 2 Virtual Machine specification
11
Example J2MEtrade CDC Uses
bull Wireless communicatorsbull High-end PDAsbull TV set-top boxesbull Gatewaysbull Automotive entertainment and navigation
systemsbull TelecommNetworking Equipmentbull Industrial Controllers
12
What Is CVM
bull Basis for J2ME CDC and profilesndash Large VMs for desktopsservers dont scale well to
devicesndash Static and dynamic memory footprint too bigndash Not embeddable ROMable not portablendash Implicit assumption of virtual memoryndash Native stack use address range reservationndash Implicit assumption of process model
bull Global variables system threads
13
CVM featuresbull Good JVM featuresbull Device friendlinessbull Easily re-targetablebull Narrow porting interfacebull Almost entirely in C (except
dynamic compiler)bull ~256KB with JNI reflection
verification
bull CVM supports all Java 2 Platform version 13
bull VM features and libraries for security weak references JNI RMI and JVMDI
bull CVM allows devices to map Java threads directly to native threads
bull Can run Java classes out of ROMbull Contains a precise memory system
with advanced Garbage Collection features
bull Small average GC pause timesbull Pluggable Garbage Collectorsbull Full separation of VM from memory
system
14
J2ME Profiles
bull Mobile Information Device Profile (MIDP)ndash Profile for wireless devices implementing CLDC
bull J2ME Foundation Profilendash Profile for non-GUI networked devices
implementing CDC
bull J2ME Personal Basis Personal RMI Profilesndash Basic graphics next generation PersonalJava
environment and RMI support for CDC amp Foundation Profile based devices
15
CDC APIs
bull 1048576 Defines minimum set of APIs for Java VM supportndash javalang VM system classes (Object Thread etc)ndash javautilUnderlying utilitiesndash javanetUDP Datagram and File URLndash javaioFilendash javatextI18n support for Java VM error messagesndash javasecurityFine grain security and encryption
for object serialization16
CVM Sizes Today
bull CVM onlyndash Static ROM + RAM req= 258 KB
bull Natives onlyndash Static ROM + RAM req= 124 KB
bull Porting layer onlyndash Static ROM + RAM req= 28 KB
bull CVM+natives+porting_layerndash Static ROM + RAM req= 410 KB
17
Foundation Profile APIsbull Defines core set of Java platform functionality
ndash No GUIndash Subset of JDK 13
bull Completes full functionality from CDCndash javalangRounds out full javalang(Compiler
UnknownError)ndash javautilAdds full zip support Timer etcndash javanetAdds TCP Socket and HTTPndash javaioRounds out full javaio (Readers and Writers)ndash javatextFull I18n (Annotation Collator Iterators etc)ndash javasecurityAdds Code Signing and Certificates
18
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-
J2MEtrade Connected Device Configuration
bull Connected Device Configuration (CDC)ndash Targeted for devices that have 2 MB or more total
available memoryndash Memory dedicated to J2ME environmentndash More than 2MB ROMFlashndash More than 512 KB RAMndash Network connectivityndash Full Java 2 Virtual Machine specification
11
Example J2MEtrade CDC Uses
bull Wireless communicatorsbull High-end PDAsbull TV set-top boxesbull Gatewaysbull Automotive entertainment and navigation
systemsbull TelecommNetworking Equipmentbull Industrial Controllers
12
What Is CVM
bull Basis for J2ME CDC and profilesndash Large VMs for desktopsservers dont scale well to
devicesndash Static and dynamic memory footprint too bigndash Not embeddable ROMable not portablendash Implicit assumption of virtual memoryndash Native stack use address range reservationndash Implicit assumption of process model
bull Global variables system threads
13
CVM featuresbull Good JVM featuresbull Device friendlinessbull Easily re-targetablebull Narrow porting interfacebull Almost entirely in C (except
dynamic compiler)bull ~256KB with JNI reflection
verification
bull CVM supports all Java 2 Platform version 13
bull VM features and libraries for security weak references JNI RMI and JVMDI
bull CVM allows devices to map Java threads directly to native threads
bull Can run Java classes out of ROMbull Contains a precise memory system
with advanced Garbage Collection features
bull Small average GC pause timesbull Pluggable Garbage Collectorsbull Full separation of VM from memory
system
14
J2ME Profiles
bull Mobile Information Device Profile (MIDP)ndash Profile for wireless devices implementing CLDC
bull J2ME Foundation Profilendash Profile for non-GUI networked devices
implementing CDC
bull J2ME Personal Basis Personal RMI Profilesndash Basic graphics next generation PersonalJava
environment and RMI support for CDC amp Foundation Profile based devices
15
CDC APIs
bull 1048576 Defines minimum set of APIs for Java VM supportndash javalang VM system classes (Object Thread etc)ndash javautilUnderlying utilitiesndash javanetUDP Datagram and File URLndash javaioFilendash javatextI18n support for Java VM error messagesndash javasecurityFine grain security and encryption
for object serialization16
CVM Sizes Today
bull CVM onlyndash Static ROM + RAM req= 258 KB
bull Natives onlyndash Static ROM + RAM req= 124 KB
bull Porting layer onlyndash Static ROM + RAM req= 28 KB
bull CVM+natives+porting_layerndash Static ROM + RAM req= 410 KB
17
Foundation Profile APIsbull Defines core set of Java platform functionality
ndash No GUIndash Subset of JDK 13
bull Completes full functionality from CDCndash javalangRounds out full javalang(Compiler
UnknownError)ndash javautilAdds full zip support Timer etcndash javanetAdds TCP Socket and HTTPndash javaioRounds out full javaio (Readers and Writers)ndash javatextFull I18n (Annotation Collator Iterators etc)ndash javasecurityAdds Code Signing and Certificates
18
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-
Example J2MEtrade CDC Uses
bull Wireless communicatorsbull High-end PDAsbull TV set-top boxesbull Gatewaysbull Automotive entertainment and navigation
systemsbull TelecommNetworking Equipmentbull Industrial Controllers
12
What Is CVM
bull Basis for J2ME CDC and profilesndash Large VMs for desktopsservers dont scale well to
devicesndash Static and dynamic memory footprint too bigndash Not embeddable ROMable not portablendash Implicit assumption of virtual memoryndash Native stack use address range reservationndash Implicit assumption of process model
bull Global variables system threads
13
CVM featuresbull Good JVM featuresbull Device friendlinessbull Easily re-targetablebull Narrow porting interfacebull Almost entirely in C (except
dynamic compiler)bull ~256KB with JNI reflection
verification
bull CVM supports all Java 2 Platform version 13
bull VM features and libraries for security weak references JNI RMI and JVMDI
bull CVM allows devices to map Java threads directly to native threads
bull Can run Java classes out of ROMbull Contains a precise memory system
with advanced Garbage Collection features
bull Small average GC pause timesbull Pluggable Garbage Collectorsbull Full separation of VM from memory
system
14
J2ME Profiles
bull Mobile Information Device Profile (MIDP)ndash Profile for wireless devices implementing CLDC
bull J2ME Foundation Profilendash Profile for non-GUI networked devices
implementing CDC
bull J2ME Personal Basis Personal RMI Profilesndash Basic graphics next generation PersonalJava
environment and RMI support for CDC amp Foundation Profile based devices
15
CDC APIs
bull 1048576 Defines minimum set of APIs for Java VM supportndash javalang VM system classes (Object Thread etc)ndash javautilUnderlying utilitiesndash javanetUDP Datagram and File URLndash javaioFilendash javatextI18n support for Java VM error messagesndash javasecurityFine grain security and encryption
for object serialization16
CVM Sizes Today
bull CVM onlyndash Static ROM + RAM req= 258 KB
bull Natives onlyndash Static ROM + RAM req= 124 KB
bull Porting layer onlyndash Static ROM + RAM req= 28 KB
bull CVM+natives+porting_layerndash Static ROM + RAM req= 410 KB
17
Foundation Profile APIsbull Defines core set of Java platform functionality
ndash No GUIndash Subset of JDK 13
bull Completes full functionality from CDCndash javalangRounds out full javalang(Compiler
UnknownError)ndash javautilAdds full zip support Timer etcndash javanetAdds TCP Socket and HTTPndash javaioRounds out full javaio (Readers and Writers)ndash javatextFull I18n (Annotation Collator Iterators etc)ndash javasecurityAdds Code Signing and Certificates
18
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-
What Is CVM
bull Basis for J2ME CDC and profilesndash Large VMs for desktopsservers dont scale well to
devicesndash Static and dynamic memory footprint too bigndash Not embeddable ROMable not portablendash Implicit assumption of virtual memoryndash Native stack use address range reservationndash Implicit assumption of process model
bull Global variables system threads
13
CVM featuresbull Good JVM featuresbull Device friendlinessbull Easily re-targetablebull Narrow porting interfacebull Almost entirely in C (except
dynamic compiler)bull ~256KB with JNI reflection
verification
bull CVM supports all Java 2 Platform version 13
bull VM features and libraries for security weak references JNI RMI and JVMDI
bull CVM allows devices to map Java threads directly to native threads
bull Can run Java classes out of ROMbull Contains a precise memory system
with advanced Garbage Collection features
bull Small average GC pause timesbull Pluggable Garbage Collectorsbull Full separation of VM from memory
system
14
J2ME Profiles
bull Mobile Information Device Profile (MIDP)ndash Profile for wireless devices implementing CLDC
bull J2ME Foundation Profilendash Profile for non-GUI networked devices
implementing CDC
bull J2ME Personal Basis Personal RMI Profilesndash Basic graphics next generation PersonalJava
environment and RMI support for CDC amp Foundation Profile based devices
15
CDC APIs
bull 1048576 Defines minimum set of APIs for Java VM supportndash javalang VM system classes (Object Thread etc)ndash javautilUnderlying utilitiesndash javanetUDP Datagram and File URLndash javaioFilendash javatextI18n support for Java VM error messagesndash javasecurityFine grain security and encryption
for object serialization16
CVM Sizes Today
bull CVM onlyndash Static ROM + RAM req= 258 KB
bull Natives onlyndash Static ROM + RAM req= 124 KB
bull Porting layer onlyndash Static ROM + RAM req= 28 KB
bull CVM+natives+porting_layerndash Static ROM + RAM req= 410 KB
17
Foundation Profile APIsbull Defines core set of Java platform functionality
ndash No GUIndash Subset of JDK 13
bull Completes full functionality from CDCndash javalangRounds out full javalang(Compiler
UnknownError)ndash javautilAdds full zip support Timer etcndash javanetAdds TCP Socket and HTTPndash javaioRounds out full javaio (Readers and Writers)ndash javatextFull I18n (Annotation Collator Iterators etc)ndash javasecurityAdds Code Signing and Certificates
18
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-
CVM featuresbull Good JVM featuresbull Device friendlinessbull Easily re-targetablebull Narrow porting interfacebull Almost entirely in C (except
dynamic compiler)bull ~256KB with JNI reflection
verification
bull CVM supports all Java 2 Platform version 13
bull VM features and libraries for security weak references JNI RMI and JVMDI
bull CVM allows devices to map Java threads directly to native threads
bull Can run Java classes out of ROMbull Contains a precise memory system
with advanced Garbage Collection features
bull Small average GC pause timesbull Pluggable Garbage Collectorsbull Full separation of VM from memory
system
14
J2ME Profiles
bull Mobile Information Device Profile (MIDP)ndash Profile for wireless devices implementing CLDC
bull J2ME Foundation Profilendash Profile for non-GUI networked devices
implementing CDC
bull J2ME Personal Basis Personal RMI Profilesndash Basic graphics next generation PersonalJava
environment and RMI support for CDC amp Foundation Profile based devices
15
CDC APIs
bull 1048576 Defines minimum set of APIs for Java VM supportndash javalang VM system classes (Object Thread etc)ndash javautilUnderlying utilitiesndash javanetUDP Datagram and File URLndash javaioFilendash javatextI18n support for Java VM error messagesndash javasecurityFine grain security and encryption
for object serialization16
CVM Sizes Today
bull CVM onlyndash Static ROM + RAM req= 258 KB
bull Natives onlyndash Static ROM + RAM req= 124 KB
bull Porting layer onlyndash Static ROM + RAM req= 28 KB
bull CVM+natives+porting_layerndash Static ROM + RAM req= 410 KB
17
Foundation Profile APIsbull Defines core set of Java platform functionality
ndash No GUIndash Subset of JDK 13
bull Completes full functionality from CDCndash javalangRounds out full javalang(Compiler
UnknownError)ndash javautilAdds full zip support Timer etcndash javanetAdds TCP Socket and HTTPndash javaioRounds out full javaio (Readers and Writers)ndash javatextFull I18n (Annotation Collator Iterators etc)ndash javasecurityAdds Code Signing and Certificates
18
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-
J2ME Profiles
bull Mobile Information Device Profile (MIDP)ndash Profile for wireless devices implementing CLDC
bull J2ME Foundation Profilendash Profile for non-GUI networked devices
implementing CDC
bull J2ME Personal Basis Personal RMI Profilesndash Basic graphics next generation PersonalJava
environment and RMI support for CDC amp Foundation Profile based devices
15
CDC APIs
bull 1048576 Defines minimum set of APIs for Java VM supportndash javalang VM system classes (Object Thread etc)ndash javautilUnderlying utilitiesndash javanetUDP Datagram and File URLndash javaioFilendash javatextI18n support for Java VM error messagesndash javasecurityFine grain security and encryption
for object serialization16
CVM Sizes Today
bull CVM onlyndash Static ROM + RAM req= 258 KB
bull Natives onlyndash Static ROM + RAM req= 124 KB
bull Porting layer onlyndash Static ROM + RAM req= 28 KB
bull CVM+natives+porting_layerndash Static ROM + RAM req= 410 KB
17
Foundation Profile APIsbull Defines core set of Java platform functionality
ndash No GUIndash Subset of JDK 13
bull Completes full functionality from CDCndash javalangRounds out full javalang(Compiler
UnknownError)ndash javautilAdds full zip support Timer etcndash javanetAdds TCP Socket and HTTPndash javaioRounds out full javaio (Readers and Writers)ndash javatextFull I18n (Annotation Collator Iterators etc)ndash javasecurityAdds Code Signing and Certificates
18
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-
CDC APIs
bull 1048576 Defines minimum set of APIs for Java VM supportndash javalang VM system classes (Object Thread etc)ndash javautilUnderlying utilitiesndash javanetUDP Datagram and File URLndash javaioFilendash javatextI18n support for Java VM error messagesndash javasecurityFine grain security and encryption
for object serialization16
CVM Sizes Today
bull CVM onlyndash Static ROM + RAM req= 258 KB
bull Natives onlyndash Static ROM + RAM req= 124 KB
bull Porting layer onlyndash Static ROM + RAM req= 28 KB
bull CVM+natives+porting_layerndash Static ROM + RAM req= 410 KB
17
Foundation Profile APIsbull Defines core set of Java platform functionality
ndash No GUIndash Subset of JDK 13
bull Completes full functionality from CDCndash javalangRounds out full javalang(Compiler
UnknownError)ndash javautilAdds full zip support Timer etcndash javanetAdds TCP Socket and HTTPndash javaioRounds out full javaio (Readers and Writers)ndash javatextFull I18n (Annotation Collator Iterators etc)ndash javasecurityAdds Code Signing and Certificates
18
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-
CVM Sizes Today
bull CVM onlyndash Static ROM + RAM req= 258 KB
bull Natives onlyndash Static ROM + RAM req= 124 KB
bull Porting layer onlyndash Static ROM + RAM req= 28 KB
bull CVM+natives+porting_layerndash Static ROM + RAM req= 410 KB
17
Foundation Profile APIsbull Defines core set of Java platform functionality
ndash No GUIndash Subset of JDK 13
bull Completes full functionality from CDCndash javalangRounds out full javalang(Compiler
UnknownError)ndash javautilAdds full zip support Timer etcndash javanetAdds TCP Socket and HTTPndash javaioRounds out full javaio (Readers and Writers)ndash javatextFull I18n (Annotation Collator Iterators etc)ndash javasecurityAdds Code Signing and Certificates
18
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-
Foundation Profile APIsbull Defines core set of Java platform functionality
ndash No GUIndash Subset of JDK 13
bull Completes full functionality from CDCndash javalangRounds out full javalang(Compiler
UnknownError)ndash javautilAdds full zip support Timer etcndash javanetAdds TCP Socket and HTTPndash javaioRounds out full javaio (Readers and Writers)ndash javatextFull I18n (Annotation Collator Iterators etc)ndash javasecurityAdds Code Signing and Certificates
18
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-
CVM Sizes with Foundation Profile APIs
bull CDC Java libraries (ROMized)ndash Static ROM + RAM req= 1011 KB
bull Foundation Java libraries (ROMized)ndash Static ROM + RAM req= 1564 KB
bull CDC TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1421 KB
bull Java libraries + natives for Foundation Profilendash Static ROM + RAM req = 553 KB
bull Foundation TOTAL (CVM+natives+porting+libraries)ndash Static ROM + RAM req= 1974 KB
19
- Java 2 Micro Edition (J2ME) and the world of java
- The J2ME Architecture
- Slide 3
- Configurations
- Profiles
- Optional Packages
- Slide 7
- Mobile Information Device Profile
- Related Technologies Java Cardtrade Technology
- Related Technologies EmbeddedJavatrade Technology
- J2MEtrade Connected Device Configuration
- Example J2MEtrade CDC Uses
- What Is CVM
- CVM features
- J2ME Profiles
- CDC APIs
- CVM Sizes Today
- Foundation Profile APIs
- CVM Sizes with Foundation Profile APIs
-