「java模型怎么发送」java内存模型
本篇文章给大家谈谈java模型怎么发送,以及java内存模型对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java实时数据字符串对象怎么在线程间传递
- 2、java怎么同步发送及异步发送短信例子解析
- 3、java的IO流怎么发送json? 请具体分步哦,打好了有悬赏。
- 4、java如何用x-www-formdata发送对象
- 5、现在我用java写了一个arp包发送到网络中。
- 6、push message (短消息推送) 技术Java怎么实现,有没有大神可以讲解一下
java实时数据字符串对象怎么在线程间传递
实际上并不是那么简单的用管道流实现的,当然如果你能保证同步的话可以直接用管道
线程这个东西本来就是共享进程资源的,所以没有特殊的传送机制,直接使用就行了。在java中就是直接使用对象里的字段。
你这个就是一个生产者消费者模型,可以用一个队列实现,接受socket作为生产者往一个队列中存字符串,然后唤醒发送socket(也就是消费者了),消费者在一个无限循环中读取队列中的字符串,并且以其作为信号量实现同步
java怎么同步发送及异步发送短信例子解析
发送短信的接口
根据自己的情况选择服务商。
开发文档
从开发文档中我们可以看到. 可以直接使用http请求也可以使用WebService请求发送短信. 由于DEMO文件夹下的java和jsp文件夹中的代码都是使用http请求发送短信. 所以这里就不再细说了, 我们使用WebService的方式演示发送短信.
生成客户端代码
从接口文档中我们知道它的WebService的WSDL的url为: 那么我们可以执行下面的命令生成客户端代码:
wsimport -keep
其中wsimport是JDK自带的工具, -keep url选项是"保留生成的文件". 该命令会在当前目录下生成sms.cn.ihuyi._106包, 以及众多的类. 接下来开始编写我们自己的代码.
定义接口
为了方便, 这里我们首先定义一个接口:
Sms.java
public interface Sms {
/**
* 向mobile发送短信, 内容为message
*
* @param mobile 手机号
* @param message 短信内容
* @return 成功返回-1, 否则返回其他值
*/
int sendMessage(String mobile, String message);
}
这个接口很简单, 只有一个方法. 这个方法用来发送短信.
同步发送短信
接下来我们首先实现一个同步发送短信的类:
IhuyiSmsImpl.java
public class IhuyiSmsImpl implements Sms {
private String account;
private String password;
public void setAccount(String account) {
this.account = account;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public int sendMessage(String mobile, String message) {
cn.ihuyi._106.Sms factory = new cn.ihuyi._106.Sms();
SmsSoap smsSoap = factory.getSmsSoap();
SubmitResult submit = smsSoap.submit(account, password, mobile, message);
int code = submit.getCode();
if(code == 2){
return -1;
}
System.out.println("发送短信失败, code:" + code);
return code;
}
}
异步发送短信
由于发送短信涉及到网络通信, 因此sendMessage方法可能会有一些延迟. 为了改善用户体验, 我们可以使用异步发送短信的方法. 原理很简单: 如果用户请求发送短信, 我们不是直接调用IhuyiSmsImpl的sendMessage方法, 而是将请求保存起来(生产者), 然后告诉用户: 短信发送成功. 之后有若干个消费者取出任务, 调用sendMessage方法发送短信.
这里, 我使用线程池完成上面的任务:
AsyncSmsImpl.java
public class AsyncSmsImpl implements Sms {
public Sms sendSms;
private ExecutorService executorService = Executors.newFixedThreadPool(3);
public void setSendSms(Sms sendSms) {
this.sendSms = sendSms;
}
@Override
public int sendMessage(String mobile, String message) {
try {
executorService.submit(() - sendSms.sendMessage(mobile, message));
}
catch(Exception e) {
Sysemt.out.println("提交任务时发生错误" + e);
return 0;
}
return -1;
}
public void destroy(){
try{
executorService.shutdown();
}
catch(Exception e){}
}
}
在第17行, 我们获得远程对象的一个代理对象. 之后就可以通过这个代理对象进行发送短信, 查询账户余额等操作.
第18行, 使用该代理对象的submit方法提交了短信内容. 该方法的参数信息及返回值含义在接口文档中有详细的说明.
第19行我们获得了结果的状态码. 根据文档上的说明, 状态码为2说明提交成功. 简单起见, 这里我们只关注提交成功的情况. 需要注意的是, 状态码为2只是说明提交成功. 根据官网上的"3-5秒内响应、100%到达", 我们可以推测. 如果提交成功, 那么基本上3-5秒内,短信就会发送成功, 根据用户的网络情况, 可能稍有延迟用户就可以收到短信.
使用这段代码发送短信也很简单, 直接new一个对象, 设置好账号和密码就可以发送短信了.
代码很简单, 直接将Sms接口的sendMessage(mobile, message)方法作为一个任务加到线程池的任务队列中. 这样等到有空闲线程时, 就会执行sendSms.sendMessage(mobile, message)发送短信. 这里我们假设只要保存到线程池就可以成功发送短信. 因为发送失败的情况实际上很罕见.
java的IO流怎么发送json? 请具体分步哦,打好了有悬赏。
首先封装的数据,MAP/String/XML等等格式。举个例子
String putData = "这是我要发送的数据";
JSONObject json= new JSONObject();
json.put("datas",putData);
PrintWriter out = response.getWriter();
out.println(json.toString());
java如何用x-www-formdata发送对象
JAVA调用远程接口时模拟发送数据-json格式、x-www-form-urlencoded格式、文件+参数格式
实习期结束,总结一下实习时遇到的一些以前不常用的代码,以方便下次用到时取用,代码不涉及公司机密,需要根据自己的需要进行一定的修改!如有错误欢迎指正!
一个需求是项目的某些接口需要调用外部的接口,由于发送的数据格式各不相同,写了一个工具类根据需要调用,以下是工具类中几个函数。
现在我用java写了一个arp包发送到网络中。
java的底层能力非常有限的 要使用系统层的API,即是要JNI、JNA编程
push message (短消息推送) 技术Java怎么实现,有没有大神可以讲解一下
push message (短消息推送) 技术Java怎么实现步骤如下:
1、手机客户端client1发送一条“msg1”的文本消息到服务器;
2、服务器收到来自client1的“msg1”消息后,把它add进messageList里面;
3、服务器检测到messageList里面含有消息(开启服务器时就新建里一个检测messageList的线程,线程里面有一个死循环,用于不停检测messageList是否含有消息);
4、服务器读取消息数据,如读取到来自client1发给client2的消息“msg1”,那么服务器就把“msg1”推送到client2上;
5、client2检测到服务器推送的消息,做出相应的操作(如:震动、铃声、显示消息等);
6、client2接收到来自服务器推送的“msg1”消息后,client2也回复一条文本消息“msg2”给client1,此过程和client1发送消息给client2一样。
7、最后,client2就可以显示来自client1发送的消息“msg1”,而client1则可以显示来自client2的回复消息“msg2”
短消息推送使用极光推送更方便。正确的使用好推送,活跃度的提升十分明显是工具类。极光个性化推送满足用户多种推送需要,有效提升用户体验,利用大数据人工智能技术,实现智能用户分群,提升消息点击率,推送安全包确保推送内容准确,拒绝运营事故。
关于java模型怎么发送和java内存模型的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。