ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java面向对象知识点归纳总结2

2021-12-06 13:02:56  阅读:139  来源: 互联网

标签:知识点 异步 Java 订阅 对象 JMS 接收者 面向对象 消息


Java 是面向对象的编程语言,对象就是面向对象程序设计的核心。所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。在这里插入图片描述
定义:以基于对象的思维去分析和解决问题,万物皆对象对象有以下特点:对象具有属性和行为。对象具有变化的状态。对象具有唯一性。对象都是某个类别的实例。一切皆为对象,真实世界中的所有事物都可以视为对象。类对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
类:类是一个模板,它描述一类对象的行为和状态。
类的基本结构属性:对象数据的描述方法:对象的行为构造方法:用于实例化对象内部类:在类中声明的类(inner class)块:分静态块与实例块类的声明:(访问权限修饰符public.default(可忽略不写,为默认))(修饰final.abstract.synchronized)class 类名{ 类体 }类的作用:类就是一个模板,定义多个对象共同的属性和方法 如:学生类(张三,李四) 手机类(华为.oppo)属性属性可理解为对象的数据。注:属性有称成员变量,是声明在类中的变量,在方法体中声明的变量称为局部变量或临时变量。声明方式:(访问权限修饰符)(修饰符)数据类型 属性名(=初值)
Java 消息服务
Java消息服务指的是两个应用程序之间进行异步通信的API,它为标准消息协议和消息服务提供了一组通用接口,包括创建、发送、读取消息等,用于支持JAVA应用程序开发。在J2EE中,当两个应用程序使用JMS进行通信时,它们之间并不是直接相连的,而是通过一个共同的消息收发服务连接起来,可以达到解耦的效果。优点异步:JMS天生就是异步的,客户端获取消息的时候,不需要主动发送请求,消息会自动发送给可用的客户端。
可靠:JMS保证消息只会递送一次。大家都遇到过重复创建消息问题,而JMS能帮你避免该问题。JMS消息传送模型点对点消息传送模型在点对点消息传送模型中,应用程序由消息队列,发送者,接收者组成。每一个消息发送给一个特殊的消息队列,该队列保存了所有发送给它的消息(除了被接收者消费掉的和过期的消息)。点对点消息模型有一些特性,如下:每个消息只有一个接收者;消息发送者和接收者并没有时间依赖性;当消息发送者发送消息的时候,无论接收者程序在不在运行,都能获取到消息;当接收者收到消息的时候,会发送确认收到通知(acknowledgement)。发布/订阅消息传递模型在发布/订阅消息模型中,发布者发布一个消息,该消息通过topic传递给所有的客户端。在这种模型中,发布者和订阅者彼此不知道对方,是匿名的且可以动态发布和订阅topic。topic主要用于保存和传递消息,且会一直保存消息直到消息被传递给客户端。发布/订阅消息模型特性如下:一个消息可以传递给多个订阅者发布者和订阅者有时间依赖性,只有当客户端创建订阅后才能接受消息,且订阅者需一直保持活动状态以接收消息。为了缓和这样严格的时间相关性,JMS允许订阅者创建一个可持久化的订阅。这样,即使订阅者没有被激活(运行),它也能接收到发布者的消息。接收消息同步 使用同步方式接收消息的话,消息订阅者调用receive()方法。在receive()中,消息未到达或在到达指定时间之前,方法会阻塞,直到消息可用。异步 使用异步方式接收消息的话,消息订阅者需注册一个消息监听者,类似于事件监听器,只要消息到达,JMS服务提供者会通过调用监听器的onMessage()递送消息。JMS编程接口JMS应用程序由如下基本模块组成:管理对象(Administered objects)-连接工厂(Connection Factories)和目的地(Destination)连接对象(Connections)会话(Sessions)消息生产者(Message Producers)消息消费者(Message Consumers)消息监听者(Message Listeners)

标签:知识点,异步,Java,订阅,对象,JMS,接收者,面向对象,消息
来源: https://blog.csdn.net/qq_64924154/article/details/121744439

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有