SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
CLDC
Connected, Limited Device Configuration




                  Cornelius Koo - 2005
CLDC Devices Characteristics
• 160 - 512 kb total memory available for
  java platform
• 16 bit / 32 bit processor
• low power consumption, often battery
  powered
• intermitten network connectivity (often
  wireless), limited bandwith
Hardware Requirements
• CLDC doesnt have specific hardware
  requirements
• Minimal memory requirements :
• 128 kb - for running the JVM and CLDC libraries.
  This memory must preserve its content, even
  when the device is powered off. (Nonvolatile
  memory)
• 32 kb - available during application runtime for
  allocation of objects. (Volatile memory / heap)
Software Requirements
• The Operating System must be able to
  running JVM and managing Java
  applications on the device including :
  Select and launch application
  Remove application
JVM Specification
       for
      CLDC
Java Language for CLDC
• CLDC doesn’t support floating point type.
  (double and float)
• CLDC doesn’t support finalize()
  method.
• CLDC only support limited set of
  Exception classes for error handling.
Java Virtual Machine for CLDC
• JVM doesn’t support floating point operation.
• JVM doesn’t support native interface and native
  method invocation.
• Reflection is not available.
• JVM must implement the classloader.
• finalize() method is not available.
• JVM doesn’t suport ThreadGroup class.
• JVM doesn’t support weak references.
Weak References
• Garbage collector recognizes that an
  object is being referenced, yet the object is
  still a candidate for garbage collection.
Security Handling
• Any devices running Java application will
  need protection from malicious codes that
  may access system information or
  resources.
• This “Low Level” protection is
  implemented through class file verification.
CLDC Class File Verification
• Class file verification is done in 2 steps in
  CLDC.
• 1st Step is pre-verification.
• 2nd Step is in-device verification.
Pre-Verification
• Pre-verification :
• A software program is run to insert additional
  attributes into the class file.
• Class file will be approximately 5% larger after
  pre-verification.
• Done as part of development process or before
  a class file is loaded on a device.

• A "Stack Maps" is added to the class file,
  describing what variables and operands are art
  of the interpreter stack space.
In-Device Verification
• In-Device verification :
• Once a device loads a pre-verified class file, the
  in-device verifier runs through each instruction.
• There are several checks done to validate the
  code.
• At any point the verifier can report and reject the
  class file.

• Code verifier program for KVM is in the range of
  10kb and less than 100 bytes of heap space
  required.
CLDC Package
Java Classes
System Classes
•   java.lang.Class
•   java.lang.Object
•   java.lang.Runnable
•   java.lang.Runtime
•   java.lang.String
•   java.lang.StringBuffer
•   java.lang.System
•   java.lang.Thread
•   java.lang.Throwable
Data Type Classes
•   java.lang.Boolean
•   java.lang.Byte
•   java.lang.Character
•   java.lang.Integer
•   java.lang.Long
•   java.lang.Short
Collection Classes
•   java.util.Enumeration
•   java.util.Hashtable
•   java.util.Stack
•   java.util.Vector
I/O Classes
•   java.io.ByteArrayInputStream
•   java.io.ByteArrayOutputStream
•   java.io.DataInput
•   java.io.DataInputStream
•   java.io.DataOutput
•   java.io.DataOutputStream
•   java.io.InputStream
•   java.io.InputStreamReader
•   java.io.OutputStream
•   java.io.OutputStreamWriter
•   java.io.PrintStream
•   java.io.Reader
•   java.io.Writer
Calendar and Time Classes
• java,util.Calendar
• java.util.Date
• java.util.TimeZone
Utility Classes
• java.util.Math
• java.util.Random
Exception Classes
•   java.io.EOFException
•   java.io.InterruptedIOException
•   java.io.IOException
•   java.io.UnsupportedEncodingException
•   java.io.UTFDataFormatException
•   java.lang.ArithmeticException
•   java.lang.ArrayIndexOutOfBoundsException
•   java.lang.ArrayStoreException
•   java.lang.ClassCastException
•   java.lang.ClassNotFoundException
•   java.lang.Exception
•   java.lang.IllegalAccessException
•   java.lang.IllegalArgumentException
Exception Classes
•   java.lang.IllegalMonitorStateException
•   java.lang.IllegalThreadStateException
•   java.lang.IndexOutOfBoundsException
•   java.lang.InstantiationException
•   java.lang.InterruptedException
•   java.lang.NegativeArraySizeException
•   java.lang.NullPointerException
•   java.lang.NumberFormatException
•   java.lang.RuntimeException
•   java.lang.SecurityException
•   java.lang.StringIndexOutOfBoundsException
•   java.util.EmptyStackException
•   java.util.NoSuchElementException
Error Classes
• java.lang.Error
• java.lang.OutOfMemoryError
• java.lang.VirtualMachineError
Internationalization
• java.io.InputStreamReader
• java.io.OutputStreamWriter

• both can be used to convert from bytes
  to/from unicode.
Reference
• Core J2ME Technology and MIDP. John
  W. Muchow. Prentice Hall PTR, 2002.
• Enterprise J2ME: Developing Mobile
  Java Applications. Michael Juntao Yuan.
  Prentice Hall PTR, 2003.
• J2ME in A Nutshell. Kim Topley. Oreilly,
  2002.
• Wireless J2ME Platform Programming.
  Vartan Piroumian. Prentice Hall, 2002.

Weitere ähnliche Inhalte

Was ist angesagt?

Java Virtual Machine - Internal Architecture
Java Virtual Machine - Internal ArchitectureJava Virtual Machine - Internal Architecture
Java Virtual Machine - Internal Architecturesubnesh
 
White and Black Magic on the JVM
White and Black Magic on the JVMWhite and Black Magic on the JVM
White and Black Magic on the JVMIvaylo Pashov
 
Pj01 2-install java and write first java program
Pj01 2-install java and write first java programPj01 2-install java and write first java program
Pj01 2-install java and write first java programSasidharaRaoMarrapu
 
Java Virtual Machine (JVM), Difference JDK, JRE & JVM
Java Virtual Machine (JVM), Difference JDK, JRE & JVMJava Virtual Machine (JVM), Difference JDK, JRE & JVM
Java Virtual Machine (JVM), Difference JDK, JRE & JVMshamnasain
 
QA / Testing Tools, Automation Testing, Online & Classroom Training
QA / Testing Tools, Automation Testing, Online & Classroom Training QA / Testing Tools, Automation Testing, Online & Classroom Training
QA / Testing Tools, Automation Testing, Online & Classroom Training AnanthReddy38
 
Java SE 7 New Features and Enhancements
Java SE 7 New Features and EnhancementsJava SE 7 New Features and Enhancements
Java SE 7 New Features and EnhancementsFu Cheng
 
JVM- Java Virtual Machine
JVM- Java Virtual MachineJVM- Java Virtual Machine
JVM- Java Virtual MachineManasvi Mehta
 
BI, Integration, and Apps on Couchbase using Simba ODBC and JDBC
BI, Integration, and Apps on Couchbase using Simba ODBC and JDBCBI, Integration, and Apps on Couchbase using Simba ODBC and JDBC
BI, Integration, and Apps on Couchbase using Simba ODBC and JDBCSimba Technologies
 
Architecture diagram of jvm
Architecture diagram of jvmArchitecture diagram of jvm
Architecture diagram of jvmhome
 
Introduction To Core Java - SpringPeople
Introduction To Core Java - SpringPeopleIntroduction To Core Java - SpringPeople
Introduction To Core Java - SpringPeopleSpringPeople
 
Why scala - executive overview
Why scala - executive overviewWhy scala - executive overview
Why scala - executive overviewRazvan Cojocaru
 
20140228 fp and_performance
20140228 fp and_performance20140228 fp and_performance
20140228 fp and_performanceshinolajla
 
Alberto Paro - Hands on Scala.js
Alberto Paro - Hands on Scala.jsAlberto Paro - Hands on Scala.js
Alberto Paro - Hands on Scala.jsScala Italy
 
WALA Tutorial at PLDI 2010
WALA Tutorial at PLDI 2010WALA Tutorial at PLDI 2010
WALA Tutorial at PLDI 2010Julian Dolby
 

Was ist angesagt? (20)

Java Virtual Machine - Internal Architecture
Java Virtual Machine - Internal ArchitectureJava Virtual Machine - Internal Architecture
Java Virtual Machine - Internal Architecture
 
White and Black Magic on the JVM
White and Black Magic on the JVMWhite and Black Magic on the JVM
White and Black Magic on the JVM
 
QSpiders - Jdk Jvm Jre and Jit
QSpiders - Jdk Jvm Jre and JitQSpiders - Jdk Jvm Jre and Jit
QSpiders - Jdk Jvm Jre and Jit
 
Java virtual machine
Java virtual machineJava virtual machine
Java virtual machine
 
What's Inside a JVM?
What's Inside a JVM?What's Inside a JVM?
What's Inside a JVM?
 
Pj01 2-install java and write first java program
Pj01 2-install java and write first java programPj01 2-install java and write first java program
Pj01 2-install java and write first java program
 
Java Virtual Machine (JVM), Difference JDK, JRE & JVM
Java Virtual Machine (JVM), Difference JDK, JRE & JVMJava Virtual Machine (JVM), Difference JDK, JRE & JVM
Java Virtual Machine (JVM), Difference JDK, JRE & JVM
 
QA / Testing Tools, Automation Testing, Online & Classroom Training
QA / Testing Tools, Automation Testing, Online & Classroom Training QA / Testing Tools, Automation Testing, Online & Classroom Training
QA / Testing Tools, Automation Testing, Online & Classroom Training
 
Java SE 7 New Features and Enhancements
Java SE 7 New Features and EnhancementsJava SE 7 New Features and Enhancements
Java SE 7 New Features and Enhancements
 
JVM- Java Virtual Machine
JVM- Java Virtual MachineJVM- Java Virtual Machine
JVM- Java Virtual Machine
 
QSpiders - Memory (JVM architecture)
QSpiders - Memory (JVM architecture)QSpiders - Memory (JVM architecture)
QSpiders - Memory (JVM architecture)
 
BI, Integration, and Apps on Couchbase using Simba ODBC and JDBC
BI, Integration, and Apps on Couchbase using Simba ODBC and JDBCBI, Integration, and Apps on Couchbase using Simba ODBC and JDBC
BI, Integration, and Apps on Couchbase using Simba ODBC and JDBC
 
Architecture diagram of jvm
Architecture diagram of jvmArchitecture diagram of jvm
Architecture diagram of jvm
 
Introduction To Core Java - SpringPeople
Introduction To Core Java - SpringPeopleIntroduction To Core Java - SpringPeople
Introduction To Core Java - SpringPeople
 
Java Online Training
Java Online TrainingJava Online Training
Java Online Training
 
Inside the jvm
Inside the jvmInside the jvm
Inside the jvm
 
Why scala - executive overview
Why scala - executive overviewWhy scala - executive overview
Why scala - executive overview
 
20140228 fp and_performance
20140228 fp and_performance20140228 fp and_performance
20140228 fp and_performance
 
Alberto Paro - Hands on Scala.js
Alberto Paro - Hands on Scala.jsAlberto Paro - Hands on Scala.js
Alberto Paro - Hands on Scala.js
 
WALA Tutorial at PLDI 2010
WALA Tutorial at PLDI 2010WALA Tutorial at PLDI 2010
WALA Tutorial at PLDI 2010
 

Andere mochten auch

Andere mochten auch (9)

Strata G Capabilities
Strata G CapabilitiesStrata G Capabilities
Strata G Capabilities
 
06 Eclipse ME
06 Eclipse ME06 Eclipse ME
06 Eclipse ME
 
MOTOR
MOTORMOTOR
MOTOR
 
07 Midlet On The Web
07 Midlet On The Web07 Midlet On The Web
07 Midlet On The Web
 
05 J2ME Wtk Command Line
05 J2ME Wtk Command Line05 J2ME Wtk Command Line
05 J2ME Wtk Command Line
 
Basic JSTL
Basic JSTLBasic JSTL
Basic JSTL
 
Expression Language in JSP
Expression Language in JSPExpression Language in JSP
Expression Language in JSP
 
13 Low Level UI Event Handling
13 Low Level UI Event Handling13 Low Level UI Event Handling
13 Low Level UI Event Handling
 
JSP
JSPJSP
JSP
 

Ähnlich wie 02 cldc

Jakarta EE Test Strategies (2022)
Jakarta EE Test Strategies (2022)Jakarta EE Test Strategies (2022)
Jakarta EE Test Strategies (2022)Ryan Cuprak
 
JAVA-History-buzzwords-JVM_architecture.pptx
JAVA-History-buzzwords-JVM_architecture.pptxJAVA-History-buzzwords-JVM_architecture.pptx
JAVA-History-buzzwords-JVM_architecture.pptx20EUEE018DEEPAKM
 
1 java programming- introduction
1  java programming- introduction1  java programming- introduction
1 java programming- introductionjyoti_lakhani
 
basic core java up to operator
basic core java up to operatorbasic core java up to operator
basic core java up to operatorkamal kotecha
 
Oracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuningOracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuningMichel Schildmeijer
 
A begineers guide of JAVA - Getting Started
 A begineers guide of JAVA - Getting Started A begineers guide of JAVA - Getting Started
A begineers guide of JAVA - Getting StartedRakesh Madugula
 
Introduction to java by priti sajja
Introduction to java by priti sajjaIntroduction to java by priti sajja
Introduction to java by priti sajjaPriti Srinivas Sajja
 
1. JAVA_Module_1-edited - AJIN ABRAHAM.pptx.pdf
1. JAVA_Module_1-edited - AJIN ABRAHAM.pptx.pdf1. JAVA_Module_1-edited - AJIN ABRAHAM.pptx.pdf
1. JAVA_Module_1-edited - AJIN ABRAHAM.pptx.pdf10322210023
 
Introduction to java (revised)
Introduction to java (revised)Introduction to java (revised)
Introduction to java (revised)Sujit Majety
 
What’s expected in Java 9
What’s expected in Java 9What’s expected in Java 9
What’s expected in Java 9Gal Marder
 
Preparing for java 9 modules upload
Preparing for java 9 modules uploadPreparing for java 9 modules upload
Preparing for java 9 modules uploadRyan Cuprak
 
1 Module 1 Introduction.pptx
1 Module 1 Introduction.pptx1 Module 1 Introduction.pptx
1 Module 1 Introduction.pptxBhargaviDalal3
 

Ähnlich wie 02 cldc (20)

Jakarta EE Test Strategies (2022)
Jakarta EE Test Strategies (2022)Jakarta EE Test Strategies (2022)
Jakarta EE Test Strategies (2022)
 
Presentation on java
Presentation  on  javaPresentation  on  java
Presentation on java
 
JAVA PROGRAM CONSTRUCTS OR LANGUAGE BASICS.pptx
JAVA PROGRAM CONSTRUCTS OR LANGUAGE BASICS.pptxJAVA PROGRAM CONSTRUCTS OR LANGUAGE BASICS.pptx
JAVA PROGRAM CONSTRUCTS OR LANGUAGE BASICS.pptx
 
JAVA-History-buzzwords-JVM_architecture.pptx
JAVA-History-buzzwords-JVM_architecture.pptxJAVA-History-buzzwords-JVM_architecture.pptx
JAVA-History-buzzwords-JVM_architecture.pptx
 
1 java programming- introduction
1  java programming- introduction1  java programming- introduction
1 java programming- introduction
 
oop unit1.pptx
oop unit1.pptxoop unit1.pptx
oop unit1.pptx
 
CS8392 OOP
CS8392 OOPCS8392 OOP
CS8392 OOP
 
basic core java up to operator
basic core java up to operatorbasic core java up to operator
basic core java up to operator
 
Oracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuningOracle WebLogic Diagnostics & Perfomance tuning
Oracle WebLogic Diagnostics & Perfomance tuning
 
A begineers guide of JAVA - Getting Started
 A begineers guide of JAVA - Getting Started A begineers guide of JAVA - Getting Started
A begineers guide of JAVA - Getting Started
 
Introduction to java by priti sajja
Introduction to java by priti sajjaIntroduction to java by priti sajja
Introduction to java by priti sajja
 
JVM.pptx
JVM.pptxJVM.pptx
JVM.pptx
 
1. JAVA_Module_1-edited - AJIN ABRAHAM.pptx.pdf
1. JAVA_Module_1-edited - AJIN ABRAHAM.pptx.pdf1. JAVA_Module_1-edited - AJIN ABRAHAM.pptx.pdf
1. JAVA_Module_1-edited - AJIN ABRAHAM.pptx.pdf
 
Tools for static analyses of Java af Hans Søndergaard, ViaUC
Tools for static analyses of Java af Hans Søndergaard, ViaUCTools for static analyses of Java af Hans Søndergaard, ViaUC
Tools for static analyses of Java af Hans Søndergaard, ViaUC
 
Introduction to java (revised)
Introduction to java (revised)Introduction to java (revised)
Introduction to java (revised)
 
01 java intro
01 java intro01 java intro
01 java intro
 
06.1 .Net memory management
06.1 .Net memory management06.1 .Net memory management
06.1 .Net memory management
 
What’s expected in Java 9
What’s expected in Java 9What’s expected in Java 9
What’s expected in Java 9
 
Preparing for java 9 modules upload
Preparing for java 9 modules uploadPreparing for java 9 modules upload
Preparing for java 9 modules upload
 
1 Module 1 Introduction.pptx
1 Module 1 Introduction.pptx1 Module 1 Introduction.pptx
1 Module 1 Introduction.pptx
 

Mehr von corneliuskoo

12 High Level UI Event Handling
12 High Level UI Event Handling12 High Level UI Event Handling
12 High Level UI Event Handlingcorneliuskoo
 
04 J2ME Wireless Tool Kit
04 J2ME Wireless Tool Kit04 J2ME Wireless Tool Kit
04 J2ME Wireless Tool Kitcorneliuskoo
 
02a cldc property support
02a cldc property support02a cldc property support
02a cldc property supportcorneliuskoo
 
01 java 2 micro edition
01 java 2 micro edition01 java 2 micro edition
01 java 2 micro editioncorneliuskoo
 

Mehr von corneliuskoo (8)

Html Hands On
Html Hands OnHtml Hands On
Html Hands On
 
12 High Level UI Event Handling
12 High Level UI Event Handling12 High Level UI Event Handling
12 High Level UI Event Handling
 
09 Display
09 Display09 Display
09 Display
 
08 Midlet Basic
08 Midlet Basic08 Midlet Basic
08 Midlet Basic
 
04 J2ME Wireless Tool Kit
04 J2ME Wireless Tool Kit04 J2ME Wireless Tool Kit
04 J2ME Wireless Tool Kit
 
03 midp
03 midp03 midp
03 midp
 
02a cldc property support
02a cldc property support02a cldc property support
02a cldc property support
 
01 java 2 micro edition
01 java 2 micro edition01 java 2 micro edition
01 java 2 micro edition
 

Kürzlich hochgeladen

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Kürzlich hochgeladen (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

02 cldc

  • 1. CLDC Connected, Limited Device Configuration Cornelius Koo - 2005
  • 2. CLDC Devices Characteristics • 160 - 512 kb total memory available for java platform • 16 bit / 32 bit processor • low power consumption, often battery powered • intermitten network connectivity (often wireless), limited bandwith
  • 3. Hardware Requirements • CLDC doesnt have specific hardware requirements • Minimal memory requirements : • 128 kb - for running the JVM and CLDC libraries. This memory must preserve its content, even when the device is powered off. (Nonvolatile memory) • 32 kb - available during application runtime for allocation of objects. (Volatile memory / heap)
  • 4. Software Requirements • The Operating System must be able to running JVM and managing Java applications on the device including : Select and launch application Remove application
  • 5. JVM Specification for CLDC
  • 6. Java Language for CLDC • CLDC doesn’t support floating point type. (double and float) • CLDC doesn’t support finalize() method. • CLDC only support limited set of Exception classes for error handling.
  • 7. Java Virtual Machine for CLDC • JVM doesn’t support floating point operation. • JVM doesn’t support native interface and native method invocation. • Reflection is not available. • JVM must implement the classloader. • finalize() method is not available. • JVM doesn’t suport ThreadGroup class. • JVM doesn’t support weak references.
  • 8. Weak References • Garbage collector recognizes that an object is being referenced, yet the object is still a candidate for garbage collection.
  • 9. Security Handling • Any devices running Java application will need protection from malicious codes that may access system information or resources. • This “Low Level” protection is implemented through class file verification.
  • 10. CLDC Class File Verification • Class file verification is done in 2 steps in CLDC. • 1st Step is pre-verification. • 2nd Step is in-device verification.
  • 11. Pre-Verification • Pre-verification : • A software program is run to insert additional attributes into the class file. • Class file will be approximately 5% larger after pre-verification. • Done as part of development process or before a class file is loaded on a device. • A "Stack Maps" is added to the class file, describing what variables and operands are art of the interpreter stack space.
  • 12. In-Device Verification • In-Device verification : • Once a device loads a pre-verified class file, the in-device verifier runs through each instruction. • There are several checks done to validate the code. • At any point the verifier can report and reject the class file. • Code verifier program for KVM is in the range of 10kb and less than 100 bytes of heap space required.
  • 15. System Classes • java.lang.Class • java.lang.Object • java.lang.Runnable • java.lang.Runtime • java.lang.String • java.lang.StringBuffer • java.lang.System • java.lang.Thread • java.lang.Throwable
  • 16. Data Type Classes • java.lang.Boolean • java.lang.Byte • java.lang.Character • java.lang.Integer • java.lang.Long • java.lang.Short
  • 17. Collection Classes • java.util.Enumeration • java.util.Hashtable • java.util.Stack • java.util.Vector
  • 18. I/O Classes • java.io.ByteArrayInputStream • java.io.ByteArrayOutputStream • java.io.DataInput • java.io.DataInputStream • java.io.DataOutput • java.io.DataOutputStream • java.io.InputStream • java.io.InputStreamReader • java.io.OutputStream • java.io.OutputStreamWriter • java.io.PrintStream • java.io.Reader • java.io.Writer
  • 19. Calendar and Time Classes • java,util.Calendar • java.util.Date • java.util.TimeZone
  • 21. Exception Classes • java.io.EOFException • java.io.InterruptedIOException • java.io.IOException • java.io.UnsupportedEncodingException • java.io.UTFDataFormatException • java.lang.ArithmeticException • java.lang.ArrayIndexOutOfBoundsException • java.lang.ArrayStoreException • java.lang.ClassCastException • java.lang.ClassNotFoundException • java.lang.Exception • java.lang.IllegalAccessException • java.lang.IllegalArgumentException
  • 22. Exception Classes • java.lang.IllegalMonitorStateException • java.lang.IllegalThreadStateException • java.lang.IndexOutOfBoundsException • java.lang.InstantiationException • java.lang.InterruptedException • java.lang.NegativeArraySizeException • java.lang.NullPointerException • java.lang.NumberFormatException • java.lang.RuntimeException • java.lang.SecurityException • java.lang.StringIndexOutOfBoundsException • java.util.EmptyStackException • java.util.NoSuchElementException
  • 23. Error Classes • java.lang.Error • java.lang.OutOfMemoryError • java.lang.VirtualMachineError
  • 24. Internationalization • java.io.InputStreamReader • java.io.OutputStreamWriter • both can be used to convert from bytes to/from unicode.
  • 25. Reference • Core J2ME Technology and MIDP. John W. Muchow. Prentice Hall PTR, 2002. • Enterprise J2ME: Developing Mobile Java Applications. Michael Juntao Yuan. Prentice Hall PTR, 2003. • J2ME in A Nutshell. Kim Topley. Oreilly, 2002. • Wireless J2ME Platform Programming. Vartan Piroumian. Prentice Hall, 2002.