JDK 9中已弃用Java的Observer和Observable

在博客文章《 应用JDK 9 @Deprecated增强功能》中 ,我讨论了JDK 9中 @Deprecated批注中对forRemoval()和since()可选元素(方法)的添加 。 我在那篇文章中说:“在Java SE API上应用新的JDK 9 @Deprecated方法还可以指导如何使用它们。” 在本文中,我将研究增强的@Deprecated批注对JDK类java.util.Observable的应用 。

几乎从一开始就存在java.util.Observable类(自Java 1.0起)。 从JDK 9开始,它将被标记为已弃用。 以下屏幕快照显示了Web浏览器中此类的Javadoc表示形式的一部分。

这是我上一篇博文中描述的类别“不推荐使用,无拆除计划”的示例。 since()的存在提供了有关何时不推荐使用的信息(JDK 9),而缺少forRemoval()表明缺少具体的计划来实际删除该类。 还以类似的方式弃用了java.util.Observer接口 ,并且其文档引用了Observable类的文档。

Observable文档不仅在不推荐使用时进行中继,而且还记录了Observable的问题,这些问题使不推荐使用,并提供了有关可能使用的替代Observable重要信息:


此类和Observer接口已被弃用。 Observer和Observable支持的事件模型非常有限,Observable传递的通知顺序未指定,并且状态更改与通知不一一对应。 对于更丰富的事件模型,请考虑使用java.beans包。 为了在线程之间进行可靠且有序的消息传递,请考虑使用java.util.concurrent包中的并发数据结构之一。 有关反应式流样式的编程,请参阅Flow API。

这是一个很好的例子,说明Java开发人员如何使用Javadoc标记@deprecated来提供与弃用相关的更详细的信息,甚至可以使用增强的@Deprecated注释来提供。 JEP 277 (“增强的弃用”)明确列出了统一的Javadoc标签@deprecated和注释@Deprecated为“非目标”:“该项目的目标不是将@deprecated的Javadoc标签与@Deprecated注释统一。 ”

可以弃用ObservableObserver其他详细信息可以在JDK-8154801中找到(“弃用Observer和Observable”)。 Josh Bloch 于19992月发表了一个引用,作为JDK-4180466的一部分(“为什么java.util.Observable类不能序列化。”):


此类不再处于积极开发中。 它在JDK中基本上未使用,并且在大多数情况下已被1.1 Beans / AWT事件模型所取代。 …可观察性已被废弃,并且不再处于活跃状态。

在大多数情况下,似乎ObserverObservable的使用并不多 ,因此弃用不应该是一个大问题,尤其是考虑到没有明确的计划将其完全删除时。

翻译自: https://www.javacodegeeks.com/2017/05/javas-observer-observable-deprecated-jdk-9.html

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

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

相关文章

理解依赖注入(IOC)和学习Unity

IOC:英文全称:Inversion of Control,中文名称:控制反转,它还有个名字叫依赖注入(Dependency Injection)。 作用:将各层的对象以松耦合的方式组织在一起,解耦,各层对象的调…

java中怎样验证重复文件_java – 如何在下载之前检查URL中的重复文件

如果您有基本URL并存储具有相同文件名的文件.由于文件修改时间和If-Modified-Since HTTP Header,您可以询问服务器是否值得再次下载映像.File f new File();// the file to downloadHttpURLConnection con (HttpURLConnection) new URL("http://www.test.com/"f.ge…

Jason是炮王

Jason是炮王 转载于:https://www.cnblogs.com/TankJam/p/11203636.html

事件传递 java_将事件传递/发送到父组件?

在Angular中,我可以创建一个发出动作的子组件:Component({...template: Click Me})export class ChildComponent {Output() onChildAction new EventEmitter();childAction() {this.onChildAction.emit();}}以及处理它的父组件 . 就像是:Com…

mongodb身份验证_MongoDB身份验证

mongodb身份验证我最近更新了Mongometer ,使其更加灵活。 发布新版本后不久,其中一位用户通过在帖子中发表评论来反馈问题。 我启动了我的机器,打开了我的IDE,发现了问题,并在半小时内将修补程序推送到了github 。 这不…

mysql列类型

http://hi.baidu.com/b37798969/item/429fb25f838f1d3233e0a99b MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供…

Java13的API_JAVA基础--JAVA API常见对象(其他API)13

一、其他API1.System类system类中的方法和成员变量都是静态的, 不需要创建System对象就可以直接使用。1 /*2 * 演示System的使用3 */4 public classSystemDemo {5 public static voidmain(String[] args) {67 /*8 * System类中的静态成员变量: out 和 er…

适用于Java开发人员的Elasticsearch:简介

本文是我们学院课程的一部分,该课程的标题为Java开发人员的Elasticsearch教程 。 在本课程中,我们提供了一系列教程,以便您可以开发自己的基于Elasticsearch的应用程序。 我们涵盖了从安装和操作到Java API集成和报告的广泛主题。 通过我们简…

人民邮电出版社图灵公司的两本SQL Server 2005图书诚征译者

人民邮电出版社图灵公司介绍(来自http://www.turingbook.com/) 北京图灵文化发展有限公司成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统…

java容器类继承_JAVA容器 - weslie - OSCHINA - 中文开源技术交流社区

一、 数组1、数组是保存一组对象的最有效的方式。但数组有固定的尺寸而受限(p216)2、数组与其他种类的容器之间的区别有三方面:效率、类型和保存基本类型的能力。在Java中,数组是一种效率最高的存储和随机访问对象引用序列的方式。数组就是一个简单的线性…

前端通信

Node中的net模块提供的前端通信 H5提供的 webSocket 【 常用于 移动端 】pc端低版本浏览器使用 socket.io 通信- 服务端: 总的服务器 举例: 腾讯的qq服务器 1个整体- 客户端: 单个用户使用应用 举例: 每个人的qq 多个client.js 客…

java定位线程阻塞_Arthas - 定位 Java 性能问题原来这么简单

目录:一、Arthas 介绍二、Arthas 使用场景三、Arthas怎么使用四、Arthas 定位性能问题定位Java代码导致占用CPU高的问题线程死锁前言:在做性能测试的过程中,当遇到Java性能问题,比如CPU飙升,负载突高,内存溢…

SVN 本地文件锁/服务端文件锁清除步骤

1.本地文件锁,直接cleanup,cleanup界面选择break locks即可 2.服务端文件锁,本地文件右击没有release lock或者break lock的选项时 方法1:右键,svn选择browser repo,找到该文件,右击&#xff0c…

java 对象复活_Java对象复活

java 对象复活总览 收集覆盖了finalize()的对象之后,将其添加到终结处理队列中,以在调用每个对象的finalize()方法之后进行清理。 如果您复活了物体,会发生什么? 何时定案&#xff…

a b和c 15 java_1011. A+B和C (15)

给定区间[-231, 231]内的3个整数A、B和C&#xff0c;请判断AB是否大于C。输入格式&#xff1a;输入第1行给出正整数T(<10)&#xff0c;是测试用例的个数。随后给出T组测试用例&#xff0c;每组占一行&#xff0c;顺序给出A、B和C。整数间以空格分隔。输出格式&#xff1a;对…

深入浅出《设计模式》之工厂模式(C++)

前言 模式介绍 在之前简单工厂模式中&#xff0c;我们介绍了简单工厂模式的缺陷是违背了开放-封闭原则。如果在面馆中添加了烤海参&#xff0c;那将会修改waiter工厂类。违背了类内封闭原则。 还以面馆为例&#xff0c;现在两种面&#xff0c;用一个服务员来卖就可以&#xff0…

当心Spring缓慢的事务回调

TL; DR 如果您的应用程序无法获得新的数据库连接&#xff0c;则重新启动ActiveMQ代理可能会有所帮助。 有兴趣吗 性能问题 几个月前&#xff0c;我们经历了生产中断。 大家都很熟悉&#xff0c;许多请求都失败了&#xff1a; java.sql.SQLTransientConnectionException: Hika…

jmeter学习笔记(八-1)

Jmeter中有较多需要参数化测试的地方&#xff1a; 1.从一个用户登录的接口获取登录后的token值&#xff0c;取值后用于后续接口调用 2.获取用户浏览后的cookies信息&#xff0c;需要用到HTTP Cookie 管理器来为同一线程组提供通用的cookies信息 Jmeter中通过${}形式来取参数值 …

python 对象转dict_如何将python dict对象转换为java等效对象?

总是有jython。这里有一点来自this article&#xff0c;它提供了python/java的良好并排视图The Jython analogues to Javascollection classes are much moretightly integrated into the corelanguage, allowing for more concisedescriptions and useful functionality.For e…

NOIP模拟测试5「星际旅行·砍树·超级树」

星际旅行 0分 瞬间爆炸。 考试的时候觉得这个题怎么这么难&#xff0c; 打个dp&#xff0c;可以被儿子贡献&#xff0c;可以被父亲贡献&#xff0c;还有自环&#xff0c;叶子节点连边可以贡献&#xff0c;非叶子也可以贡献&#xff0c;自环可以跑一回&#xff0c;自环可以跑两回…