当前位置: 首页 > news >正文

优化方案化学顺德网站优化公司

优化方案化学,顺德网站优化公司,公众号平台有哪些,四川省建设厅网站在线申报java语言一直在进化#xff0c;java类库也越来越庞大#xff0c;给人的感觉是一直在做加法。 有没有做减法呢#xff1f;当然也有#xff0c;一些是设计失误需要撤回的#xff0c;如可能引起线程安全问题的Thread.stop()等方法#xff1b;还有是随着时代发展而被淘汰的java类库也越来越庞大给人的感觉是一直在做加法。 有没有做减法呢当然也有一些是设计失误需要撤回的如可能引起线程安全问题的Thread.stop()等方法还有是随着时代发展而被淘汰的比如曾被寄予厚望的Applet。 java类库中这些废弃的内容有没有地方统一归档方便我们的查找假如我们要升级java版本而找出当前代码中使用了哪些新版本废弃的API就能让准备更加充分。 答案是有的。 java9之后的java API文档贴心地单独为废弃的内容做了一个页面。如java 21版本对应的链接是 Deprecated List (Java SE 21 JDK 21)。 顶上有个过滤功能可以按特定版本来分别过滤该版本废弃了哪些其中的others选项包含了11之前所有版本的废弃内容。 接下来是目录根据类型分为接口、非异常类、异常类、字段、方法、常量、枚举常量这七种。而最上面的终将废弃 Terminally Deprecated和下面的七种并不是并列关系而是将下面七种类型中最终会被删除的部分提取复制出来单独放在这里。 为什么这样做因为废弃的含义分为两种一种是后续版本要删除的即终将废弃如果你的代码使用了这样的API如果后续升级类库你的代码就可能无法通过编译。而另一种是不会删除的API但不建议你使用后续版本也会保留升级类库不会编译失败。作为类库的用户显然更关注第一种所以就单独放了一份。更多可参考 JEP 277: Enhanced Deprecation 接下来就是具体的内容分别是名称、版本号和描述并支持按名称或版本号进行排序。按版本号排序很实用描述的内容也值得参考里面会提供废弃的原因是否有替代品等信息。 简单地浏览一部分 终将废弃并删除的 java.lang.Thread.stop() 等 还有resume、suspend 以及 ThreadGroup类对应的方法。早在1.2就废弃了。 参考 Java Thread Primitive Deprecation (Java SE 21 JDK 21) (oracle.com)https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/doc-files/threadPrimitiveDeprecation.html java.applet.Applet等 java9废弃早就没人用了 java.lang.Boolean(boolean) 等构造函数 还有Byte、Character、Double等基本类型的包装类它们的构造函数都在java 9废弃了。改用静态工厂方法可以参考 Effective Java 的第一条建议。 java.lang.Object.finalize() 一直没存在感的方法终于在java 9 废弃了减少了记忆学习的负担。虽然这里建议改用 Cleaner但 Effective Java 3 第八条告诉我们Cleaner最好也别去碰。 javax.security.cert.Certificate 等 其实是转正了包名从 javax... 换成了 java.security.cert 。可见网络安全的地位从可选变成了必选。java 9 废弃。 java.lang.SecurityManager 及其相关 java 17废弃。这安全也是当年java的一大卖点现在也没落了。 这个的确很少用页面中给出了废弃原因的链接 JEP 411。 主要就是说一是用于客户端代码安全但Servlet早就没人用了二是用于服务端代码安全可实际上基本没什么人用。 java类库越来越大要管的东西太多我们维护起来太累放弃了。 另外2020年CWE的top 25安全漏洞Security Manager有19个都管不了还要它干嘛感觉这个有点强词夺理也没指望人一个机制能解决所有层面上的漏洞 发明了20多年但业界太少人用了除了少量软件如ElasticSearch和Tomcat。 甚至.NET都不支持了java废弃它的理由就更充分啦。 废弃但不删除的 java.util.Observer 接口 和 java.util.Observable 类 java9 废弃理由是功能太局限。 如果要更丰富的事件模型用 java.beans包。如果要可靠有序用 java.util.concurrent 包。如果要用响应式流风格编程用 Flow API。 java.util.Date.getDate() 等方法 从1.1版本起就废弃了。 废弃的有 get/set 年月日时分秒等方法以及转换成字符串的方法。废弃的原因是这些api不支持国际化。所以要获取年月日等信息要用Calendar类而格式化或者日期解析要用 DateFormat类。 Date类本身剩下的非废弃方法就两三个只能用于比大小功能非常有限感觉类似于废弃。构造函数只剩两个一个是无参根据当前时间构造对象另一个是long毫秒数为参数。还有个java 8加入的静态工厂方法根据Instant对象生成Date对象。 java.lang.Class.newInstance() 方法 java 9废弃。这个方法用来调用某个类的无参构造器如果构造器有异常则newInstance方法会原样抛出来。但newInstance方法本身只声明了两个 checked 异常InstantiationException 和 IllegalAccessException。这个和java语言规定的“方法必须声明所有自己可能抛出的checked异常”就矛盾了等于绕过了编译器的校验。 建议改用 Constructor.newInstance  方法它会把构造器的异常包装成 InvocationTargetException 抛出来而且也在方法中声明了。 java.lang.Runtime.exec(String)等方法 java 18废弃。并不是所有exec都废弃了只是废弃了其中几个容易出问题的 java.lang.Thread.getId() java19废弃。因为它不是final可能被覆写。现在加final又太迟了。建议改用 Thread.threadId()。 java.util.Locale的构造器 所有构造器全部在java 19废弃了。替代方式有很多比如 Local.Builder还有两个静态工厂方法或者常量以及匹配/过滤/查找等方法。 java.net.URL的构造器 所有构造器全部在java 20废弃了。改用URI或URL的一些静态工厂方法。
http://www.zqtcl.cn/news/180835/

相关文章:

  • 有没有专门做中考卷子的网站网络公司推广公司
  • 网站建设费用如何列支wordpress页面构建
  • 用dw做网站怎么做出下拉菜单企业进行网站建设的方式有( )
  • 纯静态网站索引怎么做如何用wampp 做网站
  • 怎样做网站吸引人wordpress数据可视化插件
  • 网站运营管理教材中国设计之窗官方网站
  • 高端网站设计高端网站制作P2P网站怎么建设
  • 一般网站建设的流程故事app怎么制作
  • 一般在什么网站上做电子请帖国外产品设计网
  • 成都网站建设987netADPR国际传媒网站建设
  • 网站开发培训光山价格低
  • 营销型企业网站诊断网站开发图片侵权
  • 电商货源网站大全HTML网站页面建设
  • 购物网站建设款流程html博客转wordpress
  • 泉州建设培训中心网站大连云购物app下载安装到手机
  • 美食网站建设策划书帮人恶意点击网站
  • 网站项目合同永久免费的网站软件
  • 门户网站有哪些局限性wordpress 登录信息
  • 某网站项目策划书怎么做一个简单的网站
  • 建设网站 翻译黑色网站配色
  • 企网官方网站建筑工程网上备案流程
  • 南京建设网站公司深圳国际红树林中心
  • 网站备案去哪小制作小发明手工小学生
  • 三木做网站学校网站的常规化建设
  • 短网址转换器seo网络运营
  • 汇邦团建网站谁做的郑州中心城区
  • 苏州瑞熙网站建设网站建设技术团队
  • 响应式 网站 开发百度投诉中心电话24个小时
  • 河南建设网站公司简介苏州建设网站价格
  • pc网站 手机网站电商小程序免费开店