Appendix A. Packages in CLDC
Table A.1. Packages in CLDC
java.lang | Classes | Boolean Byte Character Class Integer Long Math Object Runtime Short String StringBuffer System Thread Throwable |
Interfaces | Runnable |
Exceptions | ArithmeticException ArrayIndexOutOfBoundsException ArrayStoreException ClassCastException ClassNotFoundException Exception IllegalAccessException IllegalArgumentException IllegalMonitorStateException IllegalThreadStateException IndexOutOfBoundsException InstantiationException InterruptedException NegativeArraySizeException NullPointerException NumberFormatException RuntimeException SecurityException StringIndexOutOfBoundsException |
Errors | Error OutOfMemoryError VirtualMachineError |
java.io | Classes | ByteArrayInputStream ByteArrayOutputStream DataInputStream DataOutputStream InputStream InputStreamReader OutputStream OutputStreamWriter PrintStream Reader Writer |
Interfaces | DataInput DataOutput |
Exceptions | EOFException InterruptedIOException IOException UnsupportedEncodingException UTFDataFormatException |
Errors |
java.util | Classes | Calendar Date Hashtable Random Stack TimeZone Vector |
Interfaces | Enumeration |
Exceptions | EmptyStackException NoSuchElementException |
Errors |
javax.microedition.io | Classes | Connector |
Interfaces | Connection ContentConnection Datagram DatagramConnection InputConnection OutputConnection StreamConnection StreamConnectionNotifier |
Exceptions | ConnectionNotFoundException |
Errors |
Appendix B. Extensions of CLDC Provided by MIDP
Table B.1. Extensions Provided by MIDP beyond CLDC
java.lang | Classes | None |
Interfaces | None |
Exceptions | IllegalStateException |
Errors | None |
java.io | Classes | None |
Interfaces | None |
Exceptions | None |
Errors | None |
java.util | Classes | Timer TimerTask |
Interfaces | None |
Exceptions | None |
Errors | None |
javax.microedition.rms | Classes | RecordStore |
Interfaces | RecordComparator RecordEnumeration RecordFilter RecordListener |
Exceptions | InvalidRecordIDException RecordStoreException RecordStoreFullException RecordStoreNotFoundException RecordStoreNotOpenException |
Errors | None |
javax.microedition.midlet | Classes | MIDlet |
Interfaces | None |
Exceptions | MIDletStateChangeException |
Errors | None |
javax.microedition.io | Classes | None |
Interfaces | HttpConnection |
Exceptions | None |
Errors | None |
javax.microedition.lcdui | Classes | Alert AlertType Canvas ChoiceGroup Command DateField Display Displayable Font Form Gauge Graphics Image ImageItem Item List Screen StringItem TextBox TextField Ticker |
Interfaces | Choice CommandListener ItemStateListener |
Exceptions | None |
Errors | None |
Appendix C. Jeode -D Properties
This appendix describes the properties you can set to alter JeodeRuntime jeode.evm.memory settings.
[1] Reproduced with permission from Insignia Solutions.
jeode.evm.memory.compaction
[2] Denotes a property group.
jeode.evm.memory.size
jeode.evm.memory.overallSize
jeode.evm.memory.sysLimit
jeode.evm.memory.sysStart
jeode.evm.memory.sysExtend
jeode.evm.memory.javaLimit
jeode.evm.memory.javaStart
jeode.evm.memory.javaExtend
jeode.evm.memory.stackSize
jeode.evm.memory.stackOverflowZone
jeode.evm.memory.size
The overall amount of memory in the target machine, in bytes
Type : String
Default Value : 16 m
This property value is not used directly by the EVM, but is used to define appropriate default values for the following other types of memory properties:
jeode.evm.memory.overallSize
jeode.evm.memory.sysLimit
jeode.evm.memory.javaLimit
jeode.evm.memory.stackSize
jeode.evm.compiler.ehSize
jeode.evm.compiler.dataSize
jeode.evm.compiler.codeBuffTotal
These default values represent Insignia's estimate of optimal generic settings for performance, based on this overall memory size. You can then alter these default values as required for your specific application and device.
jeode.evm.memory.stackOverflowZone
Size of the stack overflow zone
Type : Integer
Default Value : 16 k
Must be positive
When a thread enters this zone, a stack overflow exception will be thrown.This needs to be less than the stack size setting. A value of zero indicates that stack overflow checks should not be performed.
jeode.evm.memory.overallSize
The maximum amount of dynamic Java/System memory allowed
Type : Integer
Default Value : 15 m
Must be positive
This is the maximum amount of dynamic memory (in bytes) allowed at run-time for Java objects and EVM dataalso see notes for stack size. Dynamic memory use is that determined by JeodeRuntime at run-time, satisfied by dynamic memory allocation requests upon the target OS.
The dynamic memory acquired by JeodeRuntime is shared between:
Java memory : relocatable, garbage collectable Java heap objects
System memory : immovable Jeode "system" objects
Normally, either of these could (theoretically) occupy the whole of the dynamically allocated memory if run-time conditions required. You can also use the jeode.evm.memory.javaLimit and jeode.evm.memory.sysLimit properties to define ceiling values for Java or system memory usage if needed.
Note : To find static memory use (including the space occupied by the Jeode EVM executable and its predefined data structures), run a target-specific executable analyzer tool on your host (for example, objdump ).