J2me平台

踩坑记录:Clawdbot 对接 Minimax 报错 “401 token is unusable (1004)“ 的终极解决方案 如果你也在配置 Clawdbot 对接 Minimax 模型时,明明 API Key 是新申请的,却死活报错 `401 Unauthorized`,错误码 `1004`,提示 `token is unusable`——那么恭喜你,来对地方了。 阅读详情

     

       Sun凭借最新的Java技术试图将其进一步实现为开发者的目标平台,然而Java平台自身却分成了三种平台:Standard版、Enterprise版和Micro版。Micro版,也就是所谓的J2ME,从问世伊始就专门设计为供内存量小和处理能力较低的移动设备作为Java开发平台使用。

从表面上看,这样做对那些希望提升应用程序的移动计算能力的开发者来说是一件好事。然而,移动设备这个术语却涵盖了相当广泛的领域,包括传统的个人数字助理(PDA)、所谓的智能电话、传呼机乃至GPS单元等,它们都具有各不相同的硬件配置。同样的,这类设备的市场也支离破碎,同一供应商的两种设备之间都还存在兼容性问题,更别说不同供应商的设备产品了,在很多情况下简给这些五花八门的移动设备提供一种普遍适用的开发平台看来多半是不可能的了。所以J2ME定义了两种类型的规范,它们携手提供一种移动Java平台,这两种规范就是configurations profilesConfigurationprofile规范提出了相当多的技术术语,下面我们就来讨论一些。

 

 

 

 

 

Configuration

 

 

 

 

 

J2ME通过对Configuration的抽象来处理大量千差万别的移动设备硬件功能。J2ME configuration定义了特定设备可用的虚拟机和低级API,同时提供相应的开发基础。目前可用的Configuration有两种,它们是连接设备配置CDCConnected Device Configuration)和连接有限设备配置CLDCConnected Limited Device Configuration)。

 

 

 

 

 

连接设备配置

 

 

 

 

 

CDC应用于相对内存量较大、更强处理器的移动设备。CDC规范采用了内存优化的虚拟机,也就是所谓的CVM,通过它提供等同标准JVM的特性。按照Sun的文档说明, CDC针对新型PDA、智能通讯设备和机顶盒之类的高端设备。为了能够受到CDC支持,移动设备必须至少具备以下条件:

 

 

 

 

 

  • 用于CVMJava API库的2 MB内存。

     

  • 32位微处理器或者控制器。

     

  • 可用网络连接,最好是高带宽连接。

     

连结有限设备配置

 

 

 

 

 

CDC的要求有利于昂贵的移动电话、IR扫描仪或类似产品。CLDC则主要针对那些更轻便、更便宜、不能满足CDC要求的设备。

 

 

 

 

 

CLDC采用了更轻型的虚拟机,设计为在较低内存环境下运行。这种JVM的参考实现也就是所谓的KVM,为什么要叫KVM呢?这是因为这种虚拟机的大小是以千字节度量的。CLDC 的设备需求如下:

 

 

 

 

 

  • 最低160KB的内存,其中128KB用于KVM和运行时库

     

  • 最低1625-MHz处理器

     

  • 有限的用户界面功能

     

  • 没有(或者间歇的)低带宽网络连接

     

由于受到严格的内存容量限制,KVM因此缺乏一些完整JVM所提供的特性,这就是说,你可能得改变自己的编程风格了。KVM在如此低内存要求下不得不在浮点数学计算、反应和对finalizers类的支持等方面对性能折中。使用CLDC的开发者在编译程序之后必须预先采用J2ME开发工具包所提供的一种检查工具对他们的源代码进行校验。

 

 

 

 

 

profile

 

 

 

 

 

如果说配置为应用程序提供了基础,那么profile则提供了应用程序的框架。profile定义了一整套J2ME应用程序可用的API类而且专门针对给定配置创建。Sun推出了2种可用的参考J2ME profile:基础(Foundation)和移动信息设备profileMIDPMobile information Device Profile)。

 

 

 

 

 

基础profile主要用于CDC配置,因而其虚拟机几乎等同于标准的虚拟机。这意味着,使用基础profile的开发人员必须访问完整实现的J2SE特性集。

 

 

 

 

 

MIDP连同功能较低的CLDC配置一道为开发今天的移动设备应用程序提供了你最可能用到的Java平台。MIDP支持J2SE类库的有限子集而且为在CLDC配置上使用定义了定制的用户接口和输入/输出类。

 

 

 

 

 

编写一次到处可行?

 

 

 

 

 

兼容性如何呢?J2SE应用程序能在J2ME平台上运行吗?这些问题的答案主要取决于配置和profile的具体应用了。J2SE代码无须或者很少修改即可采用CDC和基础profile运行。然而,正如我们在这里所讨论的那样,由于主机硬件受到限制,CLDCMIDP profile只提供了很有限的功能集合。因此它J2SE应用程序不大可能在不加修改的情况下就运行在这类平台上,除非它把自己限制在两种平台的API交集之内(严重地限制了其功能)。因为CIDC的要求对应了今天大多数手持设备的功能,所以任何J2SE应用软件想不经修改就运行在给定的设备上是值得怀疑的。你多半得修改需要移植到J2ME的应用软件。但也别紧张。从保住饭碗的角度看这未尝不是好事。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

YOLOv11 改进 - 特征融合 | 小目标检测救星:DySample动态上采样减少特征丢失 本文介绍了超轻量且高效的动态上采样器DySample与YOLOv11的结合,以解决传统上采样器工作负载大、应用场景受限的问题。DySample从点采样角度构建上采样,绕过动态卷积,使用PyTorch标准内置函数实现,无需定制CUDA包,能大幅减少参数、FLOPs等资源消耗。我们将DySample代码集成进YOLOv11。实验脚本显示,结合DySample的YOLOv11在多个密集预测任务中或表现出色。 阅读详情

相关推荐

J2ME版增强型俄罗斯方块:移动游戏开发实战

本文还有配套的精品资源,点击获取 简介:本项目是一款使用Java Micro Edition(J2ME平台开发的俄罗斯方块游戏,它针对移动设备和嵌入式系统进行了优化。游戏可能包含更高的难度和创新玩法,例如加快的方块下落速度和独特的游戏机制。开发者利用NetBeans IDE创建了这个项目,并提供详尽的代码注释,使其成为初学者学习J2ME游戏开发的优质资源。项目包含了游戏的...

weixin_29903713的博客 1202

揭开J2ME平台的神秘面纱

      做J2ME应用开发的程序员也许经常会被一些名词或者概念所迷惑,比如Personal Basic Profile和Personal Profile有什么关系?基于CLDC的应用程序能够无修改的移植到基于CDC的设备上嘛?要回答这些问题并不容易,因为你必须首先揭开J2ME平台的神秘面纱。       2000年当J2ME平台的CLDC发布的时候,所有的java开发者都为之兴奋不已。SUN也

mingjava的专栏 1万+

J2ME平台简介的一篇文章(J2ME走向成熟)

较早的一篇介绍J2ME平台的文章,介绍了J2EE/J2SE/J2ME的关系,以及J2ME的配置和简表,以及配置和简表所包括的类库。

理解J2ME平台

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/java

java专栏 380

Eclipse平台J2ME开发之整合

使用Eclipse开发J2ME时,最好能将常用的一些厂商的模拟器都整合进去,比较方便。本文简要介绍一下如何将Nokia,索爱,三星的模拟器整合到Eclipse环境中。注意我使用的EclipseMe版本为0.4.3,新的版本可能会有点变化,希望我抛砖引玉,能有人补充更正。  厂商提供的开发包大概有三种形式: 一是提供一个厂商版本的WTK,比如索爱,这个WTK里面包含了SDK和模拟器,开发者直接使用这

hmpop的专栏 1176

一个onblur事件的奇怪现象

  今天在写个简单的JS时出现了个很奇怪的问题,类似如下:    1 <script type = "text/javascript">2 function blur(){3 alert(1);4 }5 </script>6 <input type = "text" onblur = "blur();" /> ...

weixin_33862188的博客 125

调用RemoteObject时一个很奇怪的现象

不知为什么每次在调用ReomteObject时,都会出现这种错误: [RPC Fault faultString="No destination with id 'userRO' is registered with any service." faultCode="Server.Processing" faultDetail="null"], 意思大概是说,userRO这个service没注...

178

关于线程死循环使用static变量的一个奇怪现象

关于线程死循环使用static变量的一个奇怪现象 在说这个奇怪现象之前,我们先来看一段有关volatile修饰变量的案例,代码如下 package com.leo.thread.t01; import com.leo.util.CommonUtil; /** * @Author: duan * @Date: Create in 17:00 2021/4/28 * */ public class DamenThreadTest { private static /*volatile*/ b

李端的博客 387

关于fail-safe一个很奇怪的现象

好好

qq_44809634的博客 190

关于proxy的一个奇怪现象

关于proxy的一个奇怪现象 其实也不算是proxy的问题,我在上篇文章中提到的getonenet 程序,在新建的测试程序中能正常返回json数据,但是一到了我搭建好的平台上就不行了。虽然请求成功,但是却给我个错误返回值。 Object {errno: 5108, error: "invalid parameter: api-key or Authorization should choose ...

unimpossibles的博客 677

关于JAVA线程的一个奇怪的现象

在学习JAVA线程时候的遇到一个很奇怪的现象。让我们先来看代码 public class TestThread { public static void main(String[] args) { IRun ir = new IRun(); Thread it = new Thread(ir); it.start(); t

fengdavid的专栏 667

hql一个奇怪的现象

某天,我在编码时写了这样一个Entity:@Entity@Table(name = "T_INT_PHYSICLINK")public class PhysicLink extends BaseEntity {    ...    /**     * 物理连接a端实体类型     */    private int aType;        /**     * 物理连接a端实体id 

IamHades的专栏 1264

一个奇怪的现象

我删除了在windows中创建的性能收集器。随之oracle的数据文件就消失了。 这个现象是说明了我删除windows的性能收集器,就自带的把oracle的数据文件给删除了吗? 可是我并没有手动的删除oracle数据文件啊。可是只有我一个人在这个机器上操作。 程序之前跑过一遍不至于使应用程序挂掉。 种种现象表明是由于我的性能收集器删除操作造成的oracle的程序文件不见了。 可能的原因是...

weixin_30611509的博客 88

一个奇怪的语言现象

和老外MSN聊天以及邮件来往比较多,发现他们有时把than拼写成then,而有时又把then拼写成than。今天在看FE的compiler资料的时候也发现了这个现象,终于觉得那不是偶然的情况而是比较普遍的情况了。是他们拼错了呢还是我搞错了?我希望什么时候聊天遇到这种情况的时候能问一问。 MSN聊天的内容:congratulations too than!!这是FE的资料里面的话:So, you ...

编程开发资料库 216

windows的又一个奇怪现象

昨天偶然一个事件,让我发现了一个奇怪的现象。看下面的截图,可以看到,汉字大写的“一”字,在windows文件名中是错误显示,下面截图显示了在txt和doc文件的文件名。为了便于比较,我使用windows的放大镜将局部放大了。不知道这个该如何解释,是windows错误,还是我电脑本身字体有问题?

人在旅途 939

mmc-hvdc 柔性直流输电系统模型+方法介绍.zip

mmc-hvdc 柔性直流输电系统模型设置方法价绍mmc-hvdc 柔性直流输电系统模型mmc-hvdc 柔性直流输电系统模型设置方法价绍

下一篇: 冷枫简介
JavaProgramers
博客等级 码龄22年 660粉丝 304原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值