Java回调~mqtt回调处理中的问题

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

1. java回调机制

回调方法的理解:

例子:

消防员给出一个电话号码119(这是每个人都知道的,119就相当于Java中的一个接口),并在每一个地方都设置一个发生火灾时的检测装置,如果危急到人们的人生安全时,那么市民就可以打119给消防员让消防员来处理。

分析:

消防部门给出的号码119就相当于是一个接口,发生火灾后,市民打电话叫消防员这个动作就是回调。回调的意思就是说:消防部门给我们一个火警电话,发生火灾时我们就可以用这个号码给消防员打电话,但最终处理问题的不是我们自己,而是消防员。我们就相当于是一个信息反馈者,只负责给消防员反馈信息,最终该处理者还是消防员。如下图

java回调机制

回调方法是把功能定义和功能实现分离的一种手段,是一种松耦合的设计思想。Android中的控件响应就是利用了回调方法。

模块之间总是存在这一定的接口,从调用方式上看,可以分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,也是我们在写程序中经常使用的;回调是一种双向的调用模式,也就是说,被调用的接口被调用时也会调用对方的接口;异步调用是一种类似消息或事件的机制,解决了同步阻塞的问题,举例来讲:A通知B后,他们各走各的路,互不影响,不用像同步调用那样,A通知B后,非得等到B走完后,A才继续走。回调是异步的基本。

2. 代码实现

  • I119_CallBack.java

package com.callback.test;

public interface I119_CallBack {

// 回调方法

public void callBack_119(int num);

}

  • Call119Listener.java

package com.callback.test;

public class Call119Listener implements I119_CallBack{

/**

  • 回调处理方法

  • 如果是119,消防人员出动

*/

public void callBack_119(int num) {

if(num==119){

System.out.println(“—>消防员出动.”);

} else {

System.out.println(“—>不在119职责范围内,请联系其他部门.”);

}

}

}

  • Caller.java

package com.callback.test;

/**

  • 电话设备

  • @author GeekHou

*/

public class Caller {

// 回调实现类,相当于手机卡或者电话线

private I119_CallBack callBack;

// 座机

public Caller() {

}

// 座机还需接上电话线,对吧

public void setCallListener(I119_CallBack callBack){

System.out.println(“—>座机”);

this.callBack = callBack;

}

// 手机

public Caller(I119_CallBack callBack) {

System.out.println(“—>手机”);

this.callBack = callBack;

}

// 拨号报警

public void callPolice(int num) {

System.out.println(“—>拨号:”+num);

callBack.callBack_119(num);

}

}

感受:

其实我投简历的时候,都不太敢投递阿里。因为在阿里一面前已经过了字节的三次面试,投阿里的简历一直没被捞,所以以为简历就挂了。

特别感谢一面的面试官捞了我,给了我机会,同时也认可我的努力和态度。对比我的面经和其他大佬的面经,自己真的是运气好。别人8成实力,我可能8成运气。所以对我而言,我要继续加倍努力,弥补自己技术上的不足,以及与科班大佬们基础上的差距。希望自己能继续保持学习的热情,继续努力走下去。

也祝愿各位同学,都能找到自己心动的offer。

分享我在这次面试前所做的准备(刷题复习资料以及一些大佬们的学习笔记和学习路线),都已经整理成了电子文档

拿到字节跳动offer后,简历被阿里捞了起来,二面迎来了P9"盘问"

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!
题复习资料以及一些大佬们的学习笔记和学习路线),都已经整理成了电子文档

[外链图片转存中…(img-6f1Nwfz2-1714443901218)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值