Java嵌入式开发之j2me--五

宜信数据中台全揭秘(一)数据中台整体介绍|分享实录 内容来源:宜信技术学院第11期技术沙龙|宜信数据中台全揭秘(一)数据中台整体介绍 主讲人:宜信数据中台解决方案架构师 裴国强 PPT下载:链接: https://pan.baidu.com/s/1eSkSdUo6FmYFmcE4xg0vjw 密码: 99uh 一、数据中台定位 1.1 ADX整体简介-中台定位 首先对中台的服务范围说明: 企业级:针对是整个企业的所有业务部门,横向贯穿整个业务线的数据,纵向贯穿整个数据生命周期,从最开始的数据采集(DB,日志,消息,文件),入湖,标准化,开发(批量. 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> MIDP要求平台设备提供一个机制用来储存简单的数据记录,通过正常的平台事件,比如重新启动和电池更新维护系统的完整性。 MIDP称一个持久数据库为 RecordStore。 在我们的示例中, MIDlet打开并添加一条记录到 " MutualFundQuotes " RecordStore。 正如我们的演示程序,能添加到 RecordStore中的唯一一种类型的记录是字节数组。 相同的 RecordStore是一个资源,它可以通过套件共享。 根据 MIDP规范, 当 MIDlet从平台中删除后,RecordStore也会被从平台中删除。

  PDA简表

  Palm公司是开发PDA简表规范的领头人, 这个简表也是完善了 CLDC,在相当长的一段时间内,它都将是 kjava类程序包的替代品。 Java规范建议这个 profile至少应当提供两个核心功能片段: 一个用户界面显示工具包,适合于 "有限的尺寸和深度显示 "和一个持久数据存储器机制。 显示工具包应该是抽象窗口工具包的一个子集, 而持久机制将为应用程序、数据、配置/环境信息提供简单的数据存储。

  Foundation简表

  下面三种简表不是非常常见, 这三种简表的职责都是为了完善 CDC。 Personal和 RMI简表实际上是 Foundation简表的扩展。 Foundation简表的任务是担任一个基础简表,便于以后开发出来的提供图形用户接口、 网络等功能的简表附着在它之上。 除了用于基础简表, Foundation简表还提供完整网络的支持,不管有没有使用图形用户接口。

  Personal简表

  在当前的规范需求下, Personal简表提供下一代 PersonalJava环境。这个简表允诺,提供互联网连接性和 Web保真度以及一个能够运行 Java applets的 GUI。

  RMI简表

  回想一下 CDC配置为共享的、固定网络连接信息设备提供最小的 Java环境。 RMI简表将通过提供 Java到 Java的RMI来协助提供更好的网络连接性。 通过使用 J2SE ( 1.2.x或更高版本的 ) RMI,这个简表将允许这些网络设备与其他系统应用程序交互操作 (这个系统不必也运行 J2ME )。

  kjava类

  正如前面提到的那样, kjava类是最初提供的一个供测试用的类,在 Palm设备上运行早期的 KVM和配置版本。 它们将被 PDA简表代替。 kjava类扩展了 CLDC并且提供一个图形用户接口、 Palm数据库访问,简单集合类和一个三角法计算器。

  在代码段2中,我使用 com.sun.kjava重写了 MIDP FundTracker程序,让它在 Palm上工作。 和前面的程序一样,这个简单的程序允许用户输入一个公基金代号并从WWW上的金融报价服务商那里取回报价。

  kjava应用程序被称作 spotlet。 事实上,一个应用程序可以由很多 spotlet组成,但是在任何时间只有一个 spotlet可以显示在 Palm屏幕上。 在我们的例子中,我们创建一个基本 spotlet-- RequestFormSpotlet.java,为我们的两个 spotlets子类提供用户界面。代码段 2扩展了基本的 RequestFormSpotlet以便得到并储存一个报价。 RetrieveSpotlet也扩展了基本 RequestFormSpotlet并允许储存的报价被取回(见图)

  代码段2

import com.sun.kjava.*;

public final class FundSpotlet extends RequestFormSpotlet {

public static void main (String args[]) {
new FundSpotlet().draw();
}

private void draw() {
initForm();
setTitle("Fund Quote Requested");
}

public void penDown(int x, int y){
if (getExitButton().pressed(x,y)){
getGraphic().playSound(Graphics.SOUND_CONFIRMATION);
System.exit(0);
}
if (getSymField().pressed(x,y))
getSymField().setFocus();
if (getGetButton().pressed(x,y)) {
quoteRequested();
}
}

private void storeQuote (String fund, String newQuote) {

int dbType = 0x46554e44;
int dbCreator = 0x43415454;
com.sun.kjava.Database quoteDB;

try {
quoteDB = new com.sun.kjava.Database(dbType,
dbCreator, com.sun.kjava.Database.READWRITE);
if (!quoteDB .isOpen()) {

com.sun.kjava.Database.create(0, "MutualFundQuotes",
dbCreator, dbType, false);
quoteDB = new com.sun.kjava.Database(dbType,
dbCreator, com.sun.kjava.Database.READWRITE);
}
byte[] data = (fund "#" newQuote).getBytes();
quoteDB.addRecord(data);
quoteDB.close();
}
catch (Exception recordException) {
System.out.println("Unable to store quote and/or use
Mutual Fund Quote database.");
}

}

private void getAndDisplayQuote() {
String fundSymbol = getSymField().getText();
if (fundSymbol.length() > 0) {
String theQuote = QuoteService.getQuote(fundSymbol);
if (theQuote != null) {
storeQuote(fundSymbol, theQuote);
message(theQuote);
}
else
message("No quote. Check Symbol");
}
}

private void quoteRequested() {
message("");
getGraphic().playSound(Graphics.SOUND_STARTUP);
if ((getSymField().getText().length() > 0)) {
getAndDisplayQuote();
} else
{
message("Symbol required!");
}
}

}


  在 RequestFormSpotlet程序中,类似于 MIDP中的 Display对象,单独的 Graphics管理许多 spotlet用户界面显示。它考虑到了屏幕会被清除,显示边界会被建立。 不象 MIDlet,没有屏幕或画布对象来让我们添加用户界面小组件, 取而代之的是按钮、文本字段等等,直接描画在 spotlet上。 paint()方法利用图形环境从独一无二的 Graphics在屏幕上显示小组件。

  我们的MIDP程序的 QuoteService类的大部分可以重新使用。 因为 kjava没有象 MIDP中HttpConnection这样特定的连接器界面,所以我们必须利用更多标准的一般的连接器结构表单获取 HTTP链接。 为了做到这一点,使用代码段 3中的代码替换 getQuotePage()方法。注意注意使用 Connector,就像在 MIDP中我们使用 HttpConnection一样。

  代码段3

private static String getQuotePage(String symbolString) {
StringBuffer quotePage = new StringBuffer();
int ch;
try {
InputStream in = Connector.openInputStream (
"testhttp://someurl/some_application?page= &mode=fund&symbol="
symbolString);
while ((ch = in.read()) > 0) {
quotePage.append((char)ch);
}
in.close();
return quotePage.toString();
} catch (IOException ex) {
System.out.println("Exception reading quote from
  HTTP Connection");
 return null;
 }
}


  Palm设备广泛利用数据库, 你的 Palm中的通讯簿、备忘录和记事本应用程序都与数据库有关。 kjava程序包提供了一个非常小的 Database类,不仅可以创建并保持应用程序数据,而且可以访问现有的数据库。 如果你熟悉 Palm数据库,你可能会对 kjava Database类提供的功能和信息感到失望。 然而,请再次记住, kjava只是一个演示的版本。

  在我们的例子中,我们的 spotlet访问一个 Palm数据库 (如果不存在的话,则创建一个新的数据库)来储存公基金报价。每个 Palm数据库都必须有名字、创建者 ID (一个 Palm登记的唯一的标识号 ) 和一个指定到某个单独应用程序的类型号。 试图打开数据库要通过尝试创建一个带有 ID信息的数据库实例来实现。 就象 MIDP RecordStore,记录被添加进 kjava数据库,通过把一个字节数组当成记录添加到数据库中的形式。
Java嵌入式开发之j2me--一 Java嵌入式开发之j2me--二 Java嵌入式开发之j2me--三 Java嵌入式开发之j2me--四 Java嵌入式开发之j2me--五 Java嵌入式开发之j2me--六
OpenClaw本地AI智能体可视化部署指南:零代码一键安装 AI智能体(AI Agent)是具备目标分解、工具调用与自主执行能力的自动化工作流引擎,其核心价值在于将大模型能力转化为可落地的系统级操作。OpenClaw作为专注本地化执行的轻量级Agent框架,通过操作系统原生集成(如AppleScript、COM、DBus)实现对Excel、微信、PDF等本地资源的直接访问,区别于Dify等云编排平台。其技术优势在于数据主权可控、执行闭环不依赖网络、且支持模型热切换与技能即插即用。ClawDeckX作为配套可视化平台,将复杂配置抽象为图形界面,覆盖服务管理、模型接入、 阅读详情

相关推荐

Rust + Dioxus + BLE:构建跨平台桌面空气质量监测应用

蓝牙低功耗(BLE)技术是实现物联网设备与主机间低功耗、短距离无线通信的核心协议,其基于GATT(通用属性配置文件)的服务与特征值模型,为传感器数据采集提供了标准化交互方式。在系统编程领域,Rust语言凭借其所有权系统和零成本抽象,为开发内存安全、高并发的底层驱动提供了理想工具,尤其适合处理BLE通信这类对稳定性和资源管理要求高的任务。结合Tokio异步运行时,可以高效管理I/O密集型操作,构建出响应迅速的事件驱动架构。在桌面应用开发中,跨平台GUI框架Dioxus利用声明式UI和响应式状态管理,能够快速构

weixin_34195364的博客 413

快速部署DBus体验实时数据流计算

拓展阅读: 如何基于日志,同步实现数据的一致性和实时抽取? 拆解大数据总线平台DBus的系统架构 一、环境说明 说明all in one是一个单机版本dbus环境,是给用户快速体验dbus的功能,只是一个简单体验版,不能用于其它环境或者用途,具体包括如下: 1)基础组建: zookeeper 3.4.6 kafka 0.10.0.0 storm 1.0.1 granfana 4.2.0 logs...

gao2175的博客 1527

基于Signal协议构建私有AI聊天机器人:开源项目signal-aichat深度解析

即时通讯协议与人工智能的融合正成为技术应用的新趋势。Signal协议以其端到端加密和开源特性,为构建安全、私密的通信应用提供了基础。通过协议层与业务逻辑的解耦设计,开发者能够将成熟的即时通讯能力与前沿的大语言模型服务高效集成,实现智能对话的私有化部署。这种架构不仅解决了数据隐私和安全传输的核心问题,还通过会话管理和上下文策略优化了连续对话体验。在实际工程实践中,利用signal-cli工具对接Signal协议,结合OpenAI、Claude或本地Ollama等AI服务,可以快速搭建开箱即用的智能聊天机器人。

weixin_30314793的博客 150

敏捷大数据与敏捷AI

前言 人工智能的诞生可以追溯到上世纪50年代,在达特茅斯会议上,麦卡锡提出了AI的概念,但在初期的热度过后,人工智能的发展经历了多次低谷,直到从90年代中末期开始至今的这近二十年的时间里,人工智能才真正迎来了黄金时期。尤其是在近10年来,各方面因素都推动其不断发展:理论上,机器学习,尤其是统计学习和神经网络理论不断突破,效果显著;外部环境上,软硬件技术的进步为人工智能模型的实现提供了足够的计算能...

gao2175的博客 923

i.MX 8M与Storyboard:构建高性能嵌入式UI的软硬协同实战

在嵌入式系统开发中,用户界面(UI)设计正从简单的字符显示向复杂的图形交互演进,这对硬件性能和软件开发流程提出了全新挑战。其核心原理在于通过异构计算架构,将图形渲染、实时控制与通用计算任务合理分配至不同处理单元,以保障流畅的交互体验。这一技术组合的价值在于,它解决了传统嵌入式开发中UI与逻辑紧密耦合、迭代效率低下的痛点,实现了设计工具与运行时引擎的高效协同。在应用场景上,它尤其适用于对图形性能与响应速度有严苛要求的领域,例如工业HMI、智能家居中控和4K流媒体设备。本文以NXP的i.MX 8M系列处理器和C

cuifan5176的博客 331

数据中台-宜信数据中台实践

1. 业务中台顶层设计:特定和需求 1.业务条线众多:普惠金融板块,财富管理板块,资产管理板块,金融科技板块等 2.技术选型众多:MySQL,Oracle,HBase,KUDU,Cassandra,Elasticsearch,MongoDB,Hive,Spark,Presto,Impala,Clickhouse等 3.数据需求多样:报表,可视化,服务,推送,迁移,同步,数据应用 4.数据需求多变:经常有周期产出数据需求和数据应用 5.数据管理考虑:数据元信息可查,数据定义和流程标准化,数据管理可控 6.数据

GIS摆渡人 610

WiFi6+蓝牙5.2二合一模组在IoT边缘计算中的创新应用

本文探讨了WiFi6+蓝牙5.2二合一模组AIC8800DC在IoT边缘计算中的创新应用。该模组支持双模并发、低延迟和高密度连接,特别适合与RV1106G3处理器组合应用于智能家居网关、工业传感器网络等场景。文章详细介绍了硬件架构、低功耗设计及性能优化策略,帮助开发者提升边缘设备的无线连接能力。

whisky的博客 830

数字IC笔记-逻辑单元库和库文件

逻辑单元库的建立: 一个完整的单元库是由不同的功能电路所组成,在芯片应用中可分为三类: 标准单元:反相器、与门、寄存器、选择器、全加器。组合逻辑电路和时序逻辑电路。互补,反向,非反向,其他。锁存器、寄存器。 模块宏单元:ROM、RAM 输入输出单元 库文件: 在逻辑综合产生门级网表和物理设计做布局布线的过程中需要两个重要的库文件,就是物理库(lef)和时序库(lib) 1.物理库LEF文件 LEF是版图级的抽象文件,主要用于布局和布线。目前普遍使用的是由Candence开发的LEF文件格式,以le

sinat_41774721的博客 9141

深度解析UI-TARS:视觉语言模型GUI Agent的技术架构与实战指南

在当今AI技术快速发展的时代,如何让AI真正理解并操作图形用户界面(GUI)成为了技术突破的关键点。传统AI模型虽然能够处理文本和图像,但在理解复杂的界面元素、执行精确的鼠标键盘操作方面仍面临巨大挑战。UI-TARS桌面应用作为一款基于视觉语言模型(VLM)的GUI Agent工具,通过创新的技术架构解决了这一难题,实现了自然语言指令到界面操作的直接映射,为AI界面控制领域带来了革命性的突破。

gitblog_00294的博客 687

BUUCTF逆向题Youngter-drive

其实线程一代码我自己也不大理解,看了正确的 flag 后,我自己推出来的是这样:在 couece 中取出字符,然后在 QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm 中找出一样的,取出该字符在 QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm 中的下标,如果取出的字符是大写则 在ASCII中找出【下标 - 38】值对应的字符替换couece中的字符,同理,小写就减 96。

于高山之巅,方见大河奔涌;于群峰之上,更觉长风浩荡。 1090

RS232/RS485/CAN_BUS 通信原理总结与通信波形分析

分析一:232串口信号要点:RS232,全双工,采用三线制传输分别为TXD\RXD\GND,其中TXD为发送信号,RXD为接收信号。在RS232中任何一条信号线的电压均为负逻辑关系。即:-15v ~ -3v 代表1 +3v ~ +15v 代表0测试结果与分析:如图所示,以传输一个8位二进制数值“01101010”为例,异步传输数据的一般格式为:起始位+校验位+数据位+停止位。其中,校验位为可选项。...

乔木鱼 1万+

UI-TARS桌面应用企业级部署架构深度解析:多模态智能体系统技术实践

UI-TARS桌面应用作为开源多模态AI代理栈的旗舰实现,通过视觉语言模型(VLM)与GUI智能体的深度融合,为企业级自动化场景提供了革命性的解决方案。该系统基于UTIO(Universal Task Input/Output)协议构建,实现了从自然语言指令到系统级操作的端到端自动化流程,将视觉识别、自然语言理解和任务执行三大核心能力整合为统一的技术架构。 ## 技术挑战与解决方案定位 传统G

gitblog_01075的博客 936

西门子博图TIA Portal V18实战:用LAD梯形图快速上手一个电机启停控制程序

本文详细介绍了如何在西门子博图TIA Portal V18中使用LAD梯形图快速实现电机启停控制程序。从项目创建、硬件组态到LAD编程和仿真调试,逐步引导读者掌握PLC编程的核心逻辑,特别适合工业自动化领域的初学者快速上手。

weixin_30617737的博客 690

构建企业级视觉智能体系统:UI-TARS桌面应用99.9%可用性完整部署方案

在数字化转型浪潮中,企业面临着日益复杂的GUI自动化需求,传统脚本化解决方案已难以应对动态界面和复杂业务流程。UI-TARS桌面应用作为开源多模态AI代理栈,通过视觉语言模型技术将自然语言指令转化为精准的系统级操作,为企业提供了革命性的智能自动化解决方案。本文将从技术架构设计、部署策略优化到企业级集成方案,为企业技术决策者和架构师提供完整的视觉智能体系统构建指南。 ## 技术价值定位与市场分析

gitblog_00999的博客 449

Windows 11任务管理器隐藏技能:一眼揪出内存泄漏的“元凶”(分页/非分页缓冲池详解)

本文详细介绍了Windows 11任务管理器中隐藏的分页缓冲池和非分页缓冲池功能,帮助用户精准定位内存泄漏问题。通过启用隐藏列、解读数据异常信号,并结合实战案例和高级工具推荐,为开发者和IT运维人员提供了高效的内存问题诊断与解决方案。

weixin_29284885的博客 623

13、深入理解 Microsoft 365 的安全与合规概念

本文深入探讨了 Microsoft 365 的安全与合规概念,涵盖文档存储、文件共享、审计、保留、eDiscovery、分类和保护以及网络等多个关键方面。通过合理配置这些功能,组织可以更好地管理和保护其数据资源,满足法规要求,并提升工作效率。文章还提供了最佳实践建议及流程图,帮助读者全面理解 Microsoft 365 的安全架构和管理策略。

k8s6orchestrator的博客 211

企业级视觉智能体系统:UI-TARS桌面应用的完整部署与架构指南

在AI技术快速发展的今天,**视觉语言模型**与**GUI自动化**的融合正在重新定义人机交互的边界。UI-TARS-desktop作为一款开源的**多模态AI代理栈**,通过将先进的视觉识别能力与自然语言指令处理相结合,为企业提供了从本地计算机控制到远程浏览器操作的完整**智能体解决方案**。本文将深入解析这一系统的核心价值、技术架构与实施路径,帮助技术决策者构建稳定可靠的**企业级视觉智能体*

gitblog_00927的博客 463

MobSF-v3源代码分析(一)

移动安全框架(MobSF)是一种自动化的移动应用程序(Android/iOS/Windows)测试框架,能够执行静态、动态和恶意软件分析。 它可用于Android、iOS和Windows移动应用程序的有效和快速安全分析,并支持二进制文件(APK,IPA和APPX)和压缩源代码。 MobSF可以在运行时为Android应用程序进行动态应用程序测试,并具有由CapFuzz(一种特定于Web API的安全扫描程序)提供支持的Web API模糊测试。MobSF旨在使您的CI/CD或DevSecOps管道集成无缝。

武天旭的博客 8960

开源AI招聘匹配教程:用Monolith三步搭出职位简历智能匹配引擎

Monolith是一个开源轻量级推荐系统框架(A Lightweight Recommendation System)。这篇文章带你把它改造成AI招聘匹配引擎:职位与简历怎么匹配、模型怎么实时更新、服务怎么部署到K8s。跟着做,你能拿到一套可运行的智能招聘系统骨架。 ## AI招聘匹配要解决什么招聘难题 - 候选人池越来越大,人工筛选跟不上,关键词匹配只找得到"看起来像"的人,找不准"真的合适

gitblog_00475的博客 731

Microsemi Libero使用技巧1——查看芯片资源占用情况

Microsemi Libero使用技巧——查看芯片资源占用情况 前言 与MCU不同,FPGA的资源主要包括:逻辑资源,IO资源,Flash大小,PLL资源,SoC硬核处理器资源等,其中逻辑资源和IO资源是我们主要关心的,本篇文章将介绍,如何通过Microsemi Libero IDE来查看工程的详细资源占用情况。 A2F200M3F的资源 以Microsemi SmartFusion系列A2F2...

whik1194的博客 5694

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

蓝牙SPP协议:树莓派与手机免配对通信背后的技术原理与演进

本文深入解析蓝牙SPP协议在树莓派与手机间实现免配对通信的技术原理。通过修改BlueZ蓝牙堆栈配置、启用NoInputNoOutput代理模式及设置SPP服务,绕过了传统蓝牙配对流程,为工业自动化和设备调试提供了高效便捷的无线通信解决方案。

net55的博客 640

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

BLE GATT通信实战:安卓连接英特尔Edison的嵌入式物联网方案

蓝牙低功耗(BLE)作为物联网设备间短距离通信的核心技术,其核心在于GATT(通用属性配置文件)模型。该模型定义了客户端与服务器之间结构化的数据交换方式,通过服务、特征值和描述符的层级关系,实现了低功耗、高效率的数据传输。在嵌入式Linux系统(如基于Yocto的英特尔Edison平台)中,通过BlueZ协议栈搭建GATT服务器,并结合安卓端的BluetoothGatt API进行连接与数据交互,能够为工业数据采集、边缘计算节点通信等场景提供稳定可靠的无线解决方案。本文以实际项目为例,详细解析了在复杂电磁环

weixin_30681121的博客 295

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: SUN培训服务介绍
下一篇: 类的深入研究
java169
博客等级 码龄18年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值