现在asp做网站ai效果图网站

news/2025/9/30 16:17:51/文章来源:
现在asp做网站,ai效果图网站,免费网络密码,uc做购物网站0x01应用场景 获取JavaCard卡内剩余空间#xff0c;一方面是在评估一张卡的时候需要用到#xff0c;另一方面是在应用个人化或者运行时需要用到。 例如#xff1a;应用提供商为了保证自己的应用在卡内运行期间能够不受空间影响#xff0c;一般会在个人化(安装应用)的时候先…0x01应用场景 获取JavaCard卡内剩余空间一方面是在评估一张卡的时候需要用到另一方面是在应用个人化或者运行时需要用到。 例如应用提供商为了保证自己的应用在卡内运行期间能够不受空间影响一般会在个人化(安装应用)的时候先分配好需要用到的空间以免空间被后来应用占用导致运行失败。 0x02空间类型 卡内剩余空间包括获取卡内的剩余永久存储器(E2P or Flash还有获取易失性存储器空间(RAM)这里的RAM分为两部分一部分是在卡片复位时清零的内存CLEAR_ON_RESET缩写为COR或者RTR(Clear_on_Reset Transient RAM)另一部分为应用在取消选择的时候清零的内存CLEAR_ON_DESELECT缩写为COD或者DTRClear_on_Deselect Transient RAM。本文将通过实例获取卡内的这三种存储器剩余空间。 0x03获取接口 对于获取JavaCard内可用空间API提供了相应的接口JCSystem.getAvaliableMemory(byte memoryType) 位于javacard.framework包下如下所示引用自JCAPI v2.2.2。    getAvailableMemory public static short getAvailableMemory(byte memoryType)throws SystemException Obtains the amount of memory of the specified type that is available to the applet. Note that implementation-dependent memory overhead structures may also use the same memory pool. Notes: The number of bytes returned is only an upper bound on the amount of memory available due to overhead requirements.Allocation of CLEAR_ON_RESET transient objects may affect the amount of CLEAR_ON_DESELECT transient memory available.Allocation of CLEAR_ON_DESELECT transient objects may affect the amount of CLEAR_ON_RESET transient memory available.If the number of available bytes is greater than 32767, then this method returns 32767.The returned count is not an indicator of the size of object which may be created since memory fragmentation is possible.  Parameters:memoryType - the type of memory being queried. One of the MEMORY_TYPE_* constants defined above. See MEMORY_TYPE_PERSISTENT.Returns:the upper bound on available bytes of memory for the specified typeThrows:SystemException - with the following reason codes: SystemException.ILLEGAL_VALUE if memoryType is not a valid memory type.   根据接口描述如果可用字节数超过32767(0x3FFF)则只返回32767。那如何返回超过32767的空间可参考本文后面的代码实例。 0x04代码实例 1.获取DTR剩余空间 1 /**2 * 获取剩余MEMORY_TYPE_TRANSIENT_DESELECT空间3 * return4 */5 public int getFreeDTR(){6 //首先取得剩余空间大小7 short memsize JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_TRANSIENT_DESELECT);8 int allmemsize memsize;9 //如果返回值为0x3FFF则剩余空间大于此值可继续取得剩余空间 10 while(memsize (short)32767){ 11 JCSystem.makeTransientByteArray(memsize,JCSystem.MEMORY_TYPE_TRANSIENT_DESELECT);//不存储返回的数组对象 12 memsize JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_TRANSIENT_DESELECT); 13 allmemsize memsize; 14 } 15 return allmemsize; 16 }  2.获取RTR剩余空间 1 /**2 * 获取剩余的MEMORY_TYPE_TRANSIENT_RESET空间3 * return4 */5 public int getFreeRTR(){6 //首先取得剩余空间大小7 short memsize JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_TRANSIENT_RESET);8 int allmemsize memsize;9 //如果返回值为0x3FFF则剩余空间大于此值可继续取得剩余空间 10 while(memsize (short)32767){ 11 JCSystem.makeTransientByteArray(memsize,JCSystem.MEMORY_TYPE_TRANSIENT_RESET);//不存储返回的数组对象 12 memsize JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_TRANSIENT_RESET); 13 allmemsize memsize; 14 } 15 return allmemsize; 16 }  3.获取E2P/Flash的剩余空间 1 /**2 * 获取剩余的E2P/Flash空间如果剩余空间大于0x3FFF则此接口将创建数组然后再获取新的剩余空间3 * 数组对象头将占用几个字节(根据对象存储结构不一样可能占用字节数不同一般数组头为7字节)因此存在误差。4 * return5 */6 public int getFreePersistent(){7 //首先取得剩余空间大小8 short memsize JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_PERSISTENT);9 int allmemsize memsize; 10 //如果返回值为0x3FFF则剩余空间大于此值可继续取得剩余空间 11 while(memsize (short)32767){ 12 byte[] tmpnew byte[memsize]; //不存储返回的数组对象 13 memsize JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_PERSISTENT); 14 allmemsize memsize; 15 } 16 return allmemsize; 17 }  注意 1.获取剩余空间的应用自身的代码需要占用部分空间本例中的应用代码主468字节存储在卡内空间为 278 字节. 2.DTR与RTR可能使用同一块区域。 3.以上代码在使用converter转成cap文件时需要加上支持int类型的选项如果卡片本身不支持int则代码中相应的地方需要做调整譬如说如果卡内相应存储器空间大于0x3FFF时可以将每次取得的值存储在apdubuffer中一起返回到卡外然后再计算。  完整代码 1 package GetFreeSpacePkg;2 3 import javacard.framework.APDU;4 import javacard.framework.ISO7816;5 import javacard.framework.Applet;6 import javacard.framework.ISOException;7 import javacard.framework.JCSystem;8 9 /**10 * 获取卡内剩余空间包括E2P/Flash与RAM.11 * 对于E2P/Flash来说如果卡内剩余空间超过0x3FFF则此应用返回的数据会有较小的误差。12 * 测试命令13 * 14 * 8000000000 //get DTR15 * 8001000000 //get RTR16 * 8002000000 //get E2P/Flash17 * 18 * author SCPlatformoutlook.com19 */20 public class GetFreeSpaceApplet extends Applet {21 public static void install(byte[] bArray, short bOffset, byte bLength) {22 new GetFreeSpaceApplet().register(bArray, (short) (bOffset 1),bArray[bOffset]);23 }24 25 public void process(APDU apdu) {26 if (selectingApplet()) {27 return;28 }29 30 byte[] buf apdu.getBuffer();31 int iFreeSpace0; 32 switch (buf[ISO7816.OFFSET_INS]) {33 case (byte) 0x00://DTR34 iFreeSpace getFreeDTR();35 break;36 case (byte) 0x01://RTR37 iFreeSpace getFreeRTR();38 break;39 case (byte) 0x02://persistent40 iFreeSpace getFreePersistent();41 break;42 default:43 ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED);44 }45 JCSystem.requestObjectDeletion();46 buf[3](byte)(iFreeSpace);47 buf[2](byte)(iFreeSpace8);48 buf[1](byte)(iFreeSpace16);49 buf[0](byte)(iFreeSpace24);50 apdu.setOutgoingAndSend((short)0, (short)4);51 }52 /**53 * 获取剩余MEMORY_TYPE_TRANSIENT_DESELECT空间54 * return55 */56 public int getFreeDTR(){57 //首先取得剩余空间大小58 short memsize JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_TRANSIENT_DESELECT);59 int allmemsize memsize;60 //如果返回值为0x3FFF则剩余空间大于此值可继续取得剩余空间61 while(memsize (short)32767){62 JCSystem.makeTransientByteArray(memsize,JCSystem.MEMORY_TYPE_TRANSIENT_DESELECT);//不存储返回的数组对象63 memsize JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_TRANSIENT_DESELECT);64 allmemsize memsize;65 }66 return allmemsize;67 }68 69 /**70 * 获取剩余的MEMORY_TYPE_TRANSIENT_RESET空间71 * return72 */73 public int getFreeRTR(){74 //首先取得剩余空间大小75 short memsize JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_TRANSIENT_RESET);76 int allmemsize memsize;77 //如果返回值为0x3FFF则剩余空间大于此值可继续取得剩余空间78 while(memsize (short)32767){79 JCSystem.makeTransientByteArray(memsize,JCSystem.MEMORY_TYPE_TRANSIENT_RESET);//不存储返回的数组对象80 memsize JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_TRANSIENT_RESET);81 allmemsize memsize;82 }83 return allmemsize;84 }85 86 /**87 * 获取剩余的E2P/Flash空间如果剩余空间大于0x3FFF则此接口将创建数组然后再获取新的剩余空间88 * 数组对象头将占用几个字节(根据对象存储结构不一样可能占用字节数不同一般数组头为7字节)因此存在误差。89 * return90 */91 public int getFreePersistent(){92 //首先取得剩余空间大小93 short memsize JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_PERSISTENT);94 int allmemsize memsize;95 //如果返回值为0x3FFF则剩余空间大于此值可继续取得剩余空间96 while(memsize (short)32767){97 byte[] tmpnew byte[memsize]; //不存储返回的数组对象98 memsize JCSystem.getAvailableMemory(JCSystem.MEMORY_TYPE_PERSISTENT);99 allmemsize memsize; 100 } 101 return allmemsize; 102 } 103 }  0x05资料参考 1.Application Programming Interface Java Card™ Platform, Version 2.2.2转载于:https://www.cnblogs.com/SCPlatform/archive/2012/01/12/5125200.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/923054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 年氨分解设备厂家最新推荐榜单:含半导体 / 冶金 / 稀土行业专用设备及品牌综合实力排名

随着双碳目标深入推进,氨分解制氢技术在氢能产业中的应用愈发广泛,2025 年全球市场规模预计达 28.7 亿美元。然而,行业发展面临诸多痛点:催化剂性能与成本难以平衡,铁基催化剂转化率低、钌基催化剂成本高;设备能…

idea打包推送maven仓库及同时推送到不同的maven仓库,本地和云上的腾讯云

idea打包推送maven仓库及同时推送到不同的maven仓库,本地和云上的腾讯云idea打包推送maven仓库及同时推送到不同的maven仓库,本地和云上的腾讯云 idea客户端打包推送jar报错如下:Execution failed for task :scoote…

2025 阳台柜厂家最新推荐榜:企业资质 / 材质 / 服务全景解析,选对品牌少走弯路杭州阳台柜/浙江阳台柜厂家推荐

阳台已从传统功能区升级为 “家庭第二客厅”,但消费者选购阳台柜时仍面临多重困扰:部分产品在高湿高晒环境下易发霉变形,寿命不足 3 年;多数品牌缺乏全链条服务,设计与落地严重脱节;中间商溢价使性价比大打折扣,…

广州个人网站搭建天津招标信息网

前面两篇文章已经整理了CompletableFuture大部分的特性,本文会整理完CompletableFuture余下的特性,以及将它跟RxJava进行比较。 3.6 Either Either 表示的是两个CompletableFuture,当其中任意一个CompletableFuture计算完成的时候就会执行。 …

2025 年除湿机厂家最新权威推荐排行榜:实力厂家技术口碑评测及场景适配选购指南吊顶/泳池/车库/防爆/调温/新风除湿机厂家推荐

当前除湿机市场需求持续攀升,工业生产对湿度精度要求愈发严苛,民用场景也对环境舒适度有了更高追求,但行业乱象却让用户选购难度大增。一方面,大量产品缺乏核心技术,除湿效率低、能耗高,难以适配电子、制药、家用…

2025 年液氨蒸发器厂家联系方式,众众电热:多领域加热设备供应与定制化解决方案提供商

在政策支持与产业升级的双重驱动下,液氨蒸发器等工业加热设备市场持续扩容,2024 年上半年市场规模已突破 52.7 亿元,预计 2025 年末将增至 68.5 亿元。化工合成、制冷储能等领域的需求增长,以及智能化、低能耗的技…

debian11不进入桌面环境打开chromiu

debian11不进入桌面环境打开chromiu在Debian非桌面环境中,使用Wayland(Weston)打开Chromium并打开特定网页,可以按照以下步骤进行:安装Weston和Chromium启动Weston合成器在Weston环境中启动Chromium 1,安装chrom…

【Batch】批量修改文件后缀

批量修改文件后缀 @echo off for %%F in (*.jpg) do (ren "%%F" "%%~nF.png" )-------------------------------------------------------------------------------------如果万事开头难 那请结局…

【solace】基于docker部署solace环境

一、solace https://www.solace.dev/ solace是一款高性能的消息中间件二、部署脚本docker run -d \-p 8080:8080 \-p 55555:55555 \-p:8008:8008 \-p:1883:1883 \-p:8000:8000 \-p:5672:5672 \-p:9000:9000 \-p:2222:2…

2025 年阿里巴巴开通实力商家店铺开通代运营 / 阿里巴巴新手开店全托管代运营公司推荐:南鑫粤网络 —— 全域运营解决方案与实战服务优势解析

2025 年的阿里巴巴 1688 平台已成为超 2.5 亿活跃采购商与千万级供应商汇聚的核心 B2B 阵地,实力商家与超级工厂模式成为店铺基础建设的关键方向。但随着平台商家突破 2000 万,竞争从 “入驻” 转向 “运营”,企业普…

Vue-element-admin开发指南 - 教程

Vue-element-admin开发指南 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&…

2025 年国内工作服厂家最新推荐排行榜:聚焦工艺设计与服务,精选权威榜单助企业采购冬季/春季/工人/车间/防静电/餐饮/劳保工作服厂家推荐

当前工作服市场产品质量参差不齐,部分产品面料不达标、耐用性差,且多数供应商缺乏个性化定制能力,难以满足不同行业企业的特殊需求,如医疗行业的抗菌需求、户外作业的防水保暖需求等。同时,企业采购时还常面临交付…

邯郸做网站的公司wordpress表情按钮

高维高斯分布基础 多位高斯分布的几何理解 多维高斯分布表达式为: p(x∣μ,Σ)1(2π)p/2∣Σ∣1/2e−12(x−μ)TΣ−1(x−μ)p(x|\mu,\Sigma)\frac{1}{(2\pi)^{p/2}|\Sigma|^{1/2}}e^{-\frac{1}{2}(x-\mu)^{T}\Sigma^{-1}(x-\mu)} p(x∣μ,Σ)(2π)p/2∣Σ∣1/21​…

ClickHouse 窗口函数使用详解(一) - 若

ROW_NUMBER() OVER (PARTITION BY department ORDER BY salary DESC) 详解 一句话概括 "在每个部门内部,按工资从高到低给员工编号" 逐词解析 1. ROW_NUMBER()作用:生成顺序编号特点:从1开始,连续不重复…

学做网站容易吗源代码下载

一、文件读取 Client向NameNode发起RPC请求,来确定请求文件block所在的位置;NameNode会视情况返回文件的部分或者全部block列表,对于每个block,NameNode 都会返回含有该 block 副本的 DataNode 地址; 这些返回的 DN 地…

在 Vue 3 的 script setup 语法中,定义组件名称(name)

在 Vue 3 的单文件组件(SFC)中,使用 <script setup> 语法糖时,我们通常需要为组件指定一个名称(name),这在调试和递归组件中很有用。然而,由于 <script setup> 是一种编译时语法糖,它默认不提供直…

2025 年杀虫公司联系方式推荐 天津万康:靶向消杀 + 1 年质保 300 + 政企认可的虫害防控专家

行业背景随着公众健康意识提升与商业场景卫生标准升级,有害生物防制(PCO)行业迎来规范化发展新阶段。数据显示,国内餐饮、医疗、食品加工等领域因虫害问题引发的合规风险事件年均增长 12%,传统 “一次性消杀” 模…

即墨网站优化网站建设平台信息

在系统中缓存最常用的策略是&#xff1a;服务端需要同时维护DB和cache&#xff0c;并且是以DB的结果为准–Cache-Aside Pattern&#xff08;缓存分离模式、旁路缓存&#xff09; 读数据 单纯的读数据是不会产生数据不一致&#xff0c;只有并发下读和写才会存在数据不一致。 写…

2025 年最新 1688 代运营公司推荐榜单:助力企业突破电商困境,精选优质服务商阿里巴巴国际站代运营/新店起量代运营/数据分析代运营/爆款打造代运营公司推荐

在数字经济持续深化的 2025 年,1688 平台依旧是企业拓展线上销路、提升市场份额的核心阵地。但当前众多企业在 1688 店铺运营中,仍面临专业团队缺失、平台规则更迭应对不及时、流量获取与转化难、视觉营销效果不佳等…

ClickHouse 窗口函数详解:告别 GROUP BY 的局限性,实现灵活数据分析 - 若

什么是窗口函数? 窗口函数是 SQL 中一种强大的分析功能,它允许在对每一行进行计算时,能够访问到与当前行相关的多行数据。与 GROUP BY 不同,窗口函数不会将多行合并为一行,而是保留所有原始行,同时添加计算列。 …