通过SmartInvoke运用java与flex轻松构建cs程序(理解SmartInvoke的运行原理)

宇树机器人G1二次开发:导览、起始点、目的地与完整示例 通过宇树G1 SDK的导航接口,开发者可以高效地实现机器人的自主移动功能。连接 -> 设置目标点 -> 发送命令 -> 监控状态。本文提供的完整示例涵盖了从环境搭建到代码实现的全部步骤,并解释了起始点、目的地等关键概念。开发者可以在此基础上,结合多目标点巡逻、动态避障(需高级配置)等功能,构建更复杂的机器人应用。建议读者先在小范围、熟悉的平坦环境中测试,成功后再逐步扩展到更复杂的场景。 阅读详情

 三种对象(理解这三种对象的概念是掌握SmartInvoke的关键):
 服务对象:
      即实现了IServiceable接口或注册到ITypefactory字典标记为服类型的类;
 代码实现如下:

  1. public   class  CFile  implements  IServerObject  

或:

  1. TypeFactory.getInstance().addServerCls( "test.CFile" );  


服务端维护一个服务对象池,客户端是通过服务对象在池中的ID获取服务对象
并调用其方法的。

代理对象:
  

都是继承于RemoteObject的类,代理对象在SmartInvoke中扮演着相当重要的角色,
它是实现不同平台之间相互调用的桥梁,我们正是通过调用代理对象的相应方法,
来实现对指定服务对象的调用的。

简单的Bean对象:
    
即简单的数据对象,此类型对象在SmartInvoke中担负着封装业务模型数据,
 简化方法声明的作用。 如test.Address.java类就是一简单的Bean类,

  1.    
  2.       package  test;  
  3. /**  
  4. * 简单bean对象,在这里的Address对象  
  5. * 代表一个地址信息  
  6. * @author pengzhen  
  7. *  
  8. */   
  9. ublic class  Address {  
  10.    private  String city= null ; //城市名称   
  11.    private  String street= null ; //街道名称   
  12.    private   int  zip= 0 ; //邮政编码   
  13. public  Address() {  
  14.       
  15. }  
  16.    /**只有设置了对应的公共访问器方法(public setter/getter)才被SmartInvoke认为  
  17.     * 是bean对象的属性,因为Address类的zip属性没有设置对应的访问器方法,  
  18.     * 所以SmartInvoke认为它不是Address类的属性  
  19.     * */   
  20. public  String getCity() {  
  21.     return  city;  
  22. }  
  23. public   void  setCity(String city) {  
  24.     this .city = city;  
  25. }  
  26. public  String getStreet() {  
  27.     return  street;  
  28. }  
  29. public   void  setStreet(String street) {  
  30.     this .street = street;  
  31. }  
  32.   
  33.   
  34.        

总之,实现IServiceable接口或注册到ITypefactory 字典中的类都是服务类,继承于RemoteObject
的类都是代理类,其他类都被SmartInvoke看做简单的Bean对象。最后请记住所有的Bean对象都应该确保有一个默认构造函数。

两个平台:


即两个不同的平台,如:java与flex,java需要调用flex平台中的org.test.User类型对象,java平台需要存在与该org.test.User类型 对应的代理类型,java通过该代理类型对象来实现对flex中的org.test.User类型对象的调用。java中的User代理类型对象与flex中的User服务 类型对象是一一对应的关系,所以两个不同的User对象分别与flex中的两个User对象对应,它们互相不影响对方。

一个模式:


这里所说的模式是代理模式,即:代理对象负责对服务对象的调用,它封装了对服务对象的调用细节
所有对服务对象的调用都是通过调用代理对象来实现的。 代理对象与服务对象的方法是一一对应的,当客户端创建一代理对象时,此代理对象会自动 调用服务端创建一对应类型的服务对象。

流程图如下:

此后该代理对象就与此服务对象关联,客户端对 该代理对象的所有调用,实际上都是对此服务对象的调用。

客户端通过代理对象调用服务端服务对象的流程图如下:

下载 http://smartinvoke.cn/

 

用一台笔记本跑起 SAP HANA:从 express edition 的定位,到本地硬件门槛与安装实操 SAP HANA是面向个人开发者、初创团队与教学科研场景的精简发行版,保留了in-memory列存引擎、SQLScriptAFLGraphSpatial等核心能力,可免费用于开发与一定规模的生产用途(上限为 32 GB RAM)。它最大的特征,是能在资源受限的laptop或上快速落地,让你在本地完成从建模、开发到测试的完整闭环。SAP在交付形态上,提供了多种安装包:预配置的VM OVA、面向Linux的二进制安装包,以及历史上出现过的容器化方案;你可以按现有设备与熟悉的运维方式择优选择。官方文档把VM。 阅读详情

相关推荐

电流镜结构实战:从零理解MOS管偏置电路设计(附吴金课程补充)

本文深入解析电流镜结构在MOS管偏置电路设计中的关键作用,从基本原理到实战应用全面覆盖。通过分析偏置电路的核心原理、破解设计难题的实用技巧,以及进阶优化策略,帮助工程师掌握这一模拟电路设计的核心技术。特别适合需要理解电流镜结构和基准电路设计的读者参考学习。

ujm5678901的博客 256

smartinvoke中文API及演示程序

java部分API: http://smartrcp.org/doc/java/   Flex部分API: http://smartrcp.org/doc/flex/   示例程序 下面所介绍的示例程序都可以从http://smartrcp.googlecode.com/files/demos.zip下载到。 SmartInvoke媒体播放器,可以播放flex所支持的媒体格式。它...

smartinvoke的专栏 247

【信息安全】seed-labs实验-Firewall Exploration Lab

本实验主要就是基于LKM和Netfilter实现简单的防火墙,重点是后者。路由器是有两个ip的,一个是外网ip,一个是内网ip每一次做完实验,都要做好收尾工作(比如:模块装入之后,要记得移除;iptables命令设置完规则之后,要把对应规则删掉)

可乐大牛的博客 5995

smartinvoke入门系列10——多窗口的实现与互调

SmartInvoke还可以轻松的帮助你实现多窗口的功能。窗口之间可以方便的互调。首先我们点击eclipse工具栏上的图标:  打开新建对话框,输入如下内容:   点击完成后eclipse会在First_项目下新建一个SubWin.mxml文件。如下图:   我们在SubWin.mxml文件中添加一公共方法供FirstWin调用。内容如下:            public f...

smartinvoke的专栏 270

SpringBoot 指标监控——Actuator

1、 访问:localhost:8000/actuator 设置健康监控显示具体情况 metrics http://localhost:8000/actuator/metrics/jvm.gc.live.data.size 定制化health信息 //利用构造器,在注册中心中添加cityService.saveCity.count指标 public CityServiceImpl(MeterRegistry meter...

weixin_44302046的博客 4629

小米路由器R1D进阶玩法:MIXBOX工具箱安装与插件管理指南

本文详细介绍了为小米路由器R1D安装MIXBOX工具箱的完整指南。通过开启SSH、执行一键安装脚本,用户可以轻松解锁路由器的进阶功能,如安装离线下载、内网穿透等插件,从而将旧设备转变为强大的家庭网络服务中心。

weixin_29292431的博客 1114

通过SmartInvoke运用java与flex轻松构建cs程序(映射服务类型与异种平台类型对应规则)

  本篇首先介绍   怎样将没有实现IServiceObject接口的类映射为服务类。 然后介绍   怎样修改默认的类型对应规则。   映射服务类型: 如果Java中的test.CFile类没有实现IServiceObject接口,而我们又 要flex的test.CFile代理类实例访问到该test.CFile类实例。

smartinvoke的专栏 555

ffmpeg在windows的安装、合并、切片、.m4s、.m3u8处理

自己处理视频,我用的工具是 ffmpeg,因为涉及到.m3u8格式和.m4s格式的一些操作。ffmpeg的介绍我就不多说了,这里是它的官网地址: https://ffmpeg.org/ ,这里是文档: https://ffmpeg.org/documentation.html (看的头大,没咋看下去)...

一只爱吃糖的小羊 2689

关于smartinvoke开发工具的操纵

关于开发工具的安装: 入门视频教程:http://v.youku.com/v_show/id_XMTY1MzAxNDg4.html入门文档教程:http://smartinvoke.group.iteye.com/group/wiki/3026-smartinvoke-java-flex 在http://smartrcp.org/invoke/?page_id=16下载完cn.smarti

乱世情郎 631

ShardingJDBC支持批量插入数据

最近在进行分库分表,但是有张表,里面有一些批量的插入。 也就是: insert xxx values(...),(...),(...) 这样的语句。 开始我的依赖是: <dependency> <groupId>io.shardingjdbc</groupId> <artifactId>sharding-jdbc-core</artifactId> <v

谙忆-陈浩翔 9766

设备接入与APP(应用程序)接入华为云iotDA平台的详细操作步骤及获取方式

设备及APP(应用程序) 登录 IoTDA 平台所需的 入场与操作清单内容,提供逐项详细操作步骤和获取方式,并穿插贴士便于理解与实际操作落地。内容基于 华为云 IoTDA 控制台 和 IAM 控制台 的实际使用路径整理。

hy行者勇哥的博客 3059

Adobe AIR这个鸡肋,我有话说

背景: 大约在09年的下半年用Adobe AIR技术做公司的BI系统,因为看重它在图表,地图上的优势。 刚刚开始还比较顺利,界面漂亮,与后台服务器交互有AMF。一起都是那么的顺利,可随着项目 的扩大,代码的增加,问题就暴露出来了,表现在:   1:内存占用非常大     随着打开模块数量的增加,使用时间的增长,程序占用的内存不断发展壮大,一般都保持在  700MB到1GB多,一般的...

smartinvoke的专栏 462

用Obsidian搭建个人知识库:AI时代如何构建你的第二大脑

AI 时代,真正有价值的不只是获取知识,而是沉淀属于自己的知识体系。本文从 Obsidian 安装、目录设计、双向链接、插件推荐到 AI 联动、多端同步,手把手教你打造高效、可持续进化的个人知识库,让知识真正为你所用。🧠

XiaoqiangClub的博客 471

smartrcp入门视频系列一(hello world)

    swf文件下载地址:http://smartrcp.googlecode.com/svn/org.smartrcp.demo/src/vedios/vedio1.swf

smartinvoke的专栏 190

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

通过SmartInvoke运用java与flex轻松构建cs程序(两分钟轻松上手)

 原文地址http://smartinvoke.cn/pages/disArticel.jsp?id=13大家都知道flex的web application不能操作和访问本地文件,我们今天就通过 smartInvoke让flex可以轻松的访问到本地文件。 一:在java应用程序中创建一操作本地文件的test.CFile类,创建几个对文件进

smartinvoke的专栏 633

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

smartinvoke入门系列2——smartinvoke轻松上手

 简介: 本篇为smartinvoke开发系列的第一篇,主要让大家对smartinvoke有一个整体的认识,能够开发出简单独立的smartinvoke可运行桌面程序。 创建SmartInvoke项目: 依次选择Eclipse菜单栏中的 :文件 -&gt; 新建 -&gt; 其他 打开新建对话框,找到smartinvoke节点,选择New Project 节点,打开新建smartinvoke...

smartinvoke的专栏 242

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

smartinvoke入门系列1——smartinvoke的安装

首先确保你已正确安装了flash builder4的插件版,不是插件版的同学可以安装插件版,或者添加Java开发工具JDT插件到你的flash builder中。   然后到http://smartrcp.googlecode.com/files/cn.smartinvoke.ide.zip下载smartinvoke开发工具,下载完毕后解压该zip文件后,将得到的所有jar文件拷贝到flash...

smartinvoke的专栏 223

smartinvoke入门系列9——窗口类型FlashShell与事件

SmartInvoke使用cn.smartinvoke.gui.shell.FlashShell类管理应用程序打开的窗口,通过该对象,用户可以设置窗口的标题,位置,大小,是否可以,透明度等属性,还可以监听窗口的 CShellEvent.Event_Activated,CShellEvent.Event_Closed,CShellEvent.Event_Deactivated, CShellEve...

smartinvoke的专栏 279

通过SmartInvoke运用java与flex轻松构建cs程序(数据类型的传递)

 下载地址 http://smartinvoke.cn/pages/download.jsp 原文地址 http://smartinvoke.cn/pages/disArticel.jsp?id=18通过SmartInvoke运用java与flex轻松构建cs程序(数据类型的传递) flex与java基本类型对照关系如下:SmartInvoke对以下所列的基本数据类型做

smartinvoke的专栏 569

smartrcp入门视频系列五(flex调用IE浏览器)

本段视频通过演示使用smartrcp让flex调用IE浏览器内核, 实现了动态执行浏览器js代码等高级功能。   效果图如下:       视频下载地址:  http://smartrcp.googlecode.com/svn/org.smartrcp.demo/src/vedios/browser.swf smartrcp下载地址:http://smartinvo...

smartinvoke的专栏 198

smartinvoke入门系列4——Java与Flex传递复杂类型

在Flex调用Java方法时,不仅可以传递基本数据类型,而且可以传递自定义复杂的数据类型。在这里我们把这种类型称作Bean Class Type,它的作用类似于J2EE里的Bean Class,只起着组织复杂数据的作用。 在eclipse 工具栏上点击 在Flex调用Java方法时,不仅可以传递基本数据类型,而且可以传递自定义复杂的数据类型。在这里我们把这种类型称作Bean Class Typ...

smartinvoke的专栏 176

关于smartinvoke开发工具的操作

关于开发工具的安装:          在http://smartrcp.org/invoke/?page_id=16下载完cn.smartinvoke.ide.zip文件后,解压后得到: cn.smartinvoke.ide.jar cn.smartinvoke.ide.parse.jar cn.smartinvoke.ide.update.jar cn.smartinvok...

smartinvoke的专栏 220

InnoDB 内存结构总览:Change Buffer、AHI 与 Log Buffer

本文系统梳理InnoDB内存结构中的ChangeBuffer、Adaptive Hash Index(AHI)与LogBuffer。ChangeBuffer缓存二级索引页不在内存时的变更,减少随机IO,仅在页加载时合并;聚簇索引修改立即执行,因数据本身不可延后。AHI基于高频等值查询自动构建哈希索引,加速定位,仅支持等值操作。LogBuffer为redo log内存缓冲,配合磁盘日志实现崩溃恢复。三者均服务于性能优化,其中ChangeBuffer与AHI共享BufferPool空间,而LogBuffer独立

bksczm的博客 289

V8 机制、手写核心函数与 TypeScript 类型体操

或固定初始化(如数组先定长、对象先给全字段)保持类型与形状稳定;这些都比"换框架"更基础。只能处理纯数据(丢函数、Date、RegExp、循环引用报错)。生产级深拷贝要处理:原始值短路、循环引用、V8(Chrome / Node 的 JS 引擎)不是"解释一行跑一行"那么简单,它用。图:V8 执行流程——解释执行 + 热点优化,优化失败会 Deopt 回退。JS 内存自动管理,但"自动"不等于"不会漏"。是"固定间隔最多执行一次"。手写 Promise 是"懂异步"的试金石。是"停下后才执行最后一次",

qq_38468358的博客 346

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

Java EE 进阶:8.MyBatis 操作数据库(入门)(第一弹)

要努力去发光,而不是被照亮~ 130

Spring Boot 数据源与 MyBatis(-Plus) 自定义配置详解

本文详解 Spring Boot 中单数据源环境下 HikariCP 与 MyBatis-Plus 的自定义配置。通过手动声明 SqlSessionFactory,实现下划线转驼峰、日志输出、一级缓存策略等精细化控制。结合 HikariCP 核心参数调优(如最大连接数、连接生命周期),确保高性能与稳定性。适用于仅需访问单一数据库的场景,避免多数据源复杂性,兼顾性能与可维护性。

BADAO_LIUMANG_QIZHI的博客 198
上一篇: 通过SmartInvoke运用java与flex轻松构建cs程序(数据类型的传递)
下一篇: 通过SmartInvoke运用java与flex轻松构建cs程序(映射服务类型与异种平台类型对应规则)
smartinvoke
博客等级 码龄17年 4粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值