网站的空间与域名北京专门做网站的

web/2025/10/1 0:48:46/文章来源:
网站的空间与域名,北京专门做网站的,小型网站用typescript,手机优化大师怎么卸载因为是我的书包#xff0c;所以我喜欢JavaScript 。 实际上#xff0c;我已经开始喜欢JavaScritp的面向异步回调的编程风格 。 因此#xff0c;当我发现自己处于非JavaScript环境中时#xff08;例如Java#xff09; #xff0c;我往往会错过使用回调的机会。 好消息是… 因为是我的书包所以我喜欢JavaScript 。 实际上我已经开始喜欢JavaScritp的面向异步回调的编程风格 。 因此当我发现自己处于非JavaScript环境中时例如Java 我往往会错过使用回调的机会。 好消息是您可以在Java中模拟异步回调。 实际上我最近在一个我称为Ahoy的图书馆中做到了 这是适用于AWS的Java SQS库的异步SQS适配器 。 对于初学者来说 SQS是一个基于云的消息传递平台 –使用SQS您可以创建队列并将消息放入这些队列然后可以稍后或通过其他某个过程或相同的确切过程读取这些消息。 所有这些都利用Amazon的大规模冗余架构在面对并发访问时提供了极高的可用性。 Java中的异步回调可以通过两个功能实现匿名类包含一个方法和Java的java.util.concurrent包。 因为Java不允许您轻松地将函数或方法作为参数传递以模拟回调所以您可以创建一个包含一个方法的接口该方法基本上模仿一个函数。 对于Ahoy有两个接口 MessageSendCallback和MessageReceivedCallback –都有一个方法分别是onSend和onReceive 。 因此Ahoy的主要类被称为SQSAdapter SQSAdapter公开了两个简单的方法 send和receive并且都采用了它们相关的回调接口。 要理解的最直接的回调是receive方法。 可以想象 receive是为了处理从特定队列接收到消息时的行为。 因此 receive方法定义如下 SQSAdapter的接收方法 public void receive(final MessageReceivedCallback callback) {} MessageReceivedCallback接口如下所示 MessageReceivedCallback接口 public interface MessageReceivedCallback {public void onReceive(String messageId, String message); } 请注意 onReceive方法需要一个消息ID特定于SQS和消息本身-在SQS的情况下它始终是一个String 请记住 String可以容纳您想要的任何内容JSONXML字节序列等。 至此客户淘 在收到消息时提供消息的预期行为。 此行为可能是将某些内容写入数据库生成另一条消息然后将其发送到另一个队列您命名。 现在有趣的部分是Ahoy的receive方法的实现。 为了实现异步性我使用了Java的java.util.concurrent包可悲的是它似乎不受欢迎。 接收方法的实现与回调被调用 private void receive(final AmazonSQS sqs, final String queueURL, final MessageReceivedCallback callback) {pool.execute(new Runnable() {public void run() {final ListMessage messages sqs.receiveMessage(new ReceiveMessageRequest(queueURL).withMaxNumberOfMessages(10).withWaitTimeSeconds(20)).getMessages();if (messages.size() 0) {for (final Message message : messages) {callback.onReceive(message.getMessageId(), message.getBody());sqs.deleteMessage(new DeleteMessageRequest(queueURL, message.getReceiptHandle()));}}}}); } 使用固定的线程池将创建一个线程该线程等待消息到达特定队列。 当显示一条消息时将为每条消息调用传入的MessageReceivedCalledback 。 有关如何对Ahoy客户端进行工作的示例下面是一个测试用例用于验证回调的执行 接收方法已实现 final boolean[] wasReceived {false}; ahoy.receive(new MessageReceivedCallback() {public void onReceive(String messageId, String message) {wasReceived[0] true;assertNotNull(message id was null, messageId);assertEquals(message wasnt origMessage, origMessage, message);} }); 同样发送消息也很相似–创建一个新的Runnable实例该实例发送特定的消息并调用MessageSentCallback的onSend方法中传递的onSend 并传递新发送的消息的ID。 send方法也是异步的 private void send(final AmazonSQS sqs, final String queueURL, final String message, final MessageSentCallback callback) {pool.execute(new Runnable() {public void run() {SendMessageResult res sqs.sendMessage(new SendMessageRequest(queueURL, message));if (callback ! null) {callback.onSend(res.getMessageId());}}}); } 顺便说一下AWS Java SDK 确实提供了一个异步客户端 。 但是此客户端的实现利用了Java的Futures 。 尽管Futures是一个简洁的概念 但Ahoy的实现比Futures更方便 至少对我来说以及我使用SQS的方式 因为一旦发送或接收消息就不会涉及任何轮询。 虽然不一定在Java中本地支持回调但是您可以很好地模拟它们并实现与JavaScript相同的代码简洁性。 而且如果您需要方便的方法来与AWS SQS进行交互请给Ahoy 尝试一下 你能挖出来吗伙计 参考 嗨那里有回调 从我们的JCG合作伙伴 Andrew Glover在The Disco Blog博客中获得。 翻译自: https://www.javacodegeeks.com/2013/10/ahoy-there-callbacks.html

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

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

相关文章

网站经常修改好不好建设项目环境影响评价公示网站

删除排序链表中的重复元素 题目要求 解题思路 一次遍历 由于给定的链表是排好序的,因此重复的元素在链表中的出现的位置是连续的,因此我们只需要对链表进行一次遍历,就可以删除重复的元素。 具体地,我们从指针cur指向链表的头节…

北京市住房及城乡建设部网站金湖网站制作

源码分析: ThreadLocal中定义了ThreadLocalMap静态内部类,该内部类中又定义了Entry内部类。 ThreadLocalMap定了 Entry数组。 Set方法: Get方法: Thread中定义了两个ThreaLocalMap成员变量: Spring使用ThreadLocal解…

怎么用手机做网站国内最好的网站服务器

目录概述进制运算二进制数据宽度无符号数和有符号数原码、反码、补码位运算位运算实现加减乘除汇编学习环境和必要说明汇编语言通用寄存器内存未完待续概述 为什么要学习汇编语言 进制运算 运算的本质是查表 二进制 略 为什么要学习理解二进制? 寄存器、内存、…

网站程序制作可以做外链的视频网站

当我学习到这个知识点的时候十分困惑,因为从名字中我完全无法理解这个什么东西。于是呢我就去问了一下维基百科,下面是他的回答: 特征工程(英语:feature engineering)又称特征提取(英语&#xf…

jsp网站开发实训报告查域名服务器地址

这么多名称,python到底有几种参数: 2种:普通参数(即位置参数,靠位置先后来指定参数),关键字参数(即命名参数,靠名字来指定参数)。 常说的可变参数也就是普参的…

域名验证网站网络规划设计师教程第二版pdf下载

python3学习笔记《目录》 PyCharm和git安装教程 git入门教程 python3学习笔记 Mooc学习Python3笔记 python3字符串处理,高效切片 三国演义人物出场统计 统计哈姆雷特文本中高频词的个数 python3制作动态二维码 python的文件操作 简单的爬虫笔记 爬虫实战项…

广告设计与制作工资做网站关键词优化的公司

一、基础概念   要理解范式,首先必须对知道什么是关系数据库,如果你不知道,我可以简单的不能再简单的说一下:关系数据库就是用二维表来保存数据。表和表之间可以……(省略10W字)。   然后你应该理解以下…

如何优化网站打开速度企业营销型展厅设计价目表

文章目录 算术运算符比较运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符优先级 算术运算符 # 加法 print(5 3) # 输出: 8# 减法 print(5 - 3) # 输出: 2# 乘法 print(4 * 3) # 输出: 12# 除法(结果为浮点数) print(8.0 / 3) # 输出: 2.6…

公司网站建设哪家好南宁网站推广方案如何做

起因是实验室的主机USB驱动或者供电有问题,部分主机频繁出现USB断连的情况,通过dmesg查看报错 xHCI host controller not responding, assume dead 几经波折终于找到了拯救方案——https://bbs.archlinux.org/viewtopic.php?id236536 但是!…

庐山市建设规划局网站如何做自己的小说网站

1. Spring Boot 的自动装配特性 Spring Boot 的自动装配(Auto-Configuration)是一种特性,它允许您在应用程序中使用默认配置来自动配置 Spring Framework 的各种功能和组件,从而减少了繁琐的配置工作。通过自动装配,您…

最简单的网站建设如何远程登录网站服务器

Leetcode 93. 复原 IP 地址 题目链接 93 复原 IP 地址 本题目也是分割的典型题目,属于分割回文子串的升级版,大概的思路都是一样的,注意几点,第一个是对ip地址正确与否的条件,第二个插入逗点后,下一个子串…

创意合肥网站建设成都注册公司代理公司

C语言实现简单的栈结构今天看到一个问题是要交换两个变量的值并且不能使用中间变量,首先想到的方法就是用数学的方法:int a 10,b 12;a a b; // 求和b a - b; // 和减去b得到的是a的值a a - b; // 和减去a(此时的b是最初a的值)得到b 的值这种方法很…

中企高呈建设网站国产免费crm系统有哪些

据外媒爆料,亚马逊正在训练他的第二个大语言模型——Olympus,很有可能在今年12月份上线。亚马逊计划将Olympus接入在线零售商店、Echo等设备上的Alexa语音助手,并为AWS平台提供新的功能。据说这个大语言模型规模达到2万亿(2000B&a…

网站开发公司 苏州lda模型 文本建模 wordpress

常见的状态码及其原因: 状态码说 明详 情100继续请求者应当继续提出请求。服务器已收到请求的一部分,正在等待其余部分101切换协议请求者已要求服务器切换协议,服务器已确认并准备切换200成功服务器已成功处理了请求201已创建请求成功并且服务器创建了新…

怎么做买东西的网站福建住房与城乡建设网站

编程控制垃圾收集器 System.GC类型为应用程序提供了直接控制垃圾收集器的一些方法,可以通过GC.MaxGeneration来查询托管堆支持的最大代龄,目前为2。 通过下面方法执行垃圾收集器 GC.Collect(int);传递代龄,传递0,收集0代&#xff…

温州网站设计定制小程序开发公司网

1、*p 与 *(p)的区别 因为“”的优先级大于“*”,所以*p 相当于*(p)。 但是p表示先运算再,所以*p或者*(p),其实等价于“先(*p),然后再p”。 注意,“先(*p),然后再p”不能表示成“ (*p)”,因为(*…

怎样进行网站推广wap网站自动

for循环功能for 循环是一种迭代循环机制,迭代即重复相同的逻辑操作,每次的操作都是基于上一次的结果而进行的。并且for循环可以遍历任何序列的项目,如一个列表或者一个字符串语法for 循环的一般格式如下:for in 注释:v…

网站备案 新增接入如何开网店0基础教程

排序是我们编程时的常用操作,实现方式也有很多种,本篇文章列举几种我常用的用法,希望对大家有用! 01 数组排序 最常见的排序是对一个数组排序,比如: int[] aArray new int[8] { 18, 17, 21, 23, 11, 31…

学校网站模板wordpress软件开发外包是什么工作

休息片刻之后,我最近一直在使用Neo4j导入工具 ,并遇到了我最初不理解的有趣的错误消息。 我有一些CSV文件,其中包含要导入Neo4j的节点。 它们的内容如下所示: $ cat people_header.csv name:ID(Person)$ cat people.csv "…

前端网站如何做全景图360浏览器个别网页打不开怎么解决

http://blog.csdn.net/seusoftware/archive/2010/04/24/5524414.aspx引用一、综述命名和编码过程中,定义有意义的名称,以易于理解、方便书写为原则。(1)避免使用中文,尽量使用全拼音或全英文,以方便国际化;(2)避免拼音…