当前位置: 首页 > news >正文

介绍J2ME的几个重要概念

作者:mingjava 文章来源:http://www.j2medev.com/Article/ShowArticle.asp?ArticleID=12

J2ME平台中有几个重要的概念,例如内存、CLDC、MIDP等。初学J2ME往往对这些概念理解不深,甚至出现偏差。本文的目的在于对J2ME中的相关重要概念进行阐述。

1. 内存
我们一直在强调,移动信息设备的内存非常小,使用起来应该加倍的珍惜,但是我们却很少知道这些内存是如何分类的,下面将做详细的介绍。事实上MIDP设备的内存分为三种,Programme Memory、Heap、persistent Storage。
Programme Memory是移动信息设备分配给MIDlet suite的空间,因为MIDlet suite是以jar文件进行发布的,所以这个文件的大小可以认为是Programme Memory的大小。一些厂商对Programme Memory的最大值是有限制的,例如我的Nokia 6108的最大值是 64k,超过的话将不能进行安装。减小MIDlet suite的大小非常重要,一个便捷的方法就是使用混淆器对应用程序进行混淆,这样可以减小jar文件的大小。在以后的文章中我会谈到如何使用Proguard。
Heap是应用程序在运行过程中存放所创建的对象的存储空间,本地变量和成员变量也是放在Heap上的,MIDP设备中提供的Heap空间大概在几十k到几百K。
Persistent Storage的空间是用来实现MIDP应用程序的本地数据持久性存储的,在Record Management System从入门到精通中我做了详细的介绍这里就不再多说了。

2. Connected Limited Device Configuration

CLDC包括一个Java虚拟机和一系列的基础类,J2ME的专家组经过对移动信息设备进行硬件抽象后得到他们的特点,然后设计并实现了在移动信息设备上运行的java虚拟机,通常我们把它叫做KVM。在CLDC1.0还同时提供了由java.io、java.lang、javax.microediton.io、java.util组成的基础类。在CLDC1.1里面添加了java.lang.ref。

3. Mobile Infomation Device Profile

MIDP是运行在CLDC基础之上的,在MIDP中定义了应用程序的生命周期、用户图形界面、数据管理系统等子集,从而构建起了J2ME平台。通常,J2ME平台由一个CLDC和一个或者多个Profile构成。

关于J2ME平台更详细的介绍,请参考IBM developerworks中的一篇文章

相关文章:

  • 谷歌浏览器插件
  • 基于MIDP实现ResourceBundle类
  • Node.js 基础-01
  • vscode保存代码,自动按照eslint规范格式化代码设置(vscode最新版配置)
  • 关注J2ME WTK2.2新特性
  • 高级前端面试题
  • 介绍MIDP的属性问题
  • 破解 vue3.x 新特性
  • UniJa2.1声音播放问题(MIDI格式)
  • 在MIDP2.0中调用平台服务
  • 前端模块化
  • 搭建OTA下载服务器
  • Promise的理解
  • 介绍J2ME的安全结构
  • react面试总结
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • CentOS从零开始部署Nodejs项目
  • Create React App 使用
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • Javascript 原型链
  • JavaScript对象详解
  • JS专题之继承
  • laravel 用artisan创建自己的模板
  • PHP的类修饰符与访问修饰符
  • python 学习笔记 - Queue Pipes,进程间通讯
  • Redux系列x:源码分析
  • spark本地环境的搭建到运行第一个spark程序
  • 日剧·日综资源集合(建议收藏)
  • 微信开放平台全网发布【失败】的几点排查方法
  • 微信开源mars源码分析1—上层samples分析
  • 用jquery写贪吃蛇
  • 字符串匹配基础上
  • 最近的计划
  • ​Linux·i2c驱动架构​
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #{}和${}的区别?
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (Oracle)SQL优化技巧(一):分页查询
  • (ros//EnvironmentVariables)ros环境变量
  • (ZT)薛涌:谈贫说富
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (算法)Game
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (转)memcache、redis缓存
  • ***测试-HTTP方法
  • .Mobi域名介绍
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET CLR基本术语