JavaSE:Java9 新特性

JavaSE:Java9 新特性1.Java9概述Java发布于2017年9月发布,带来了很多新特性,其中最主要的变化是模块化系统模块就是代码和数据的封装体,模块的代码被组织成多个包,每个包中包含java类和接口,模块的数据则

大家好,又见面了,我是你们的朋友全栈君。

1.  Java9概述

    Java发布于2017年9月发布,带来了很多新特性,其中最主要的变化是模块化系统

    模块就是代码和数据的封装体,模块的代码被组织成多个包,每个包中包含java类和接口,模块的数据则包括资源文件和其他静态信息

 

2.  模块化的使用

    <1>  语法格式

        在module-info.java文件中,我们可以用新的关键字module来声明一个模块。具体如下:
          

            module 模块名称 {

            }

 

    <2>  模块化的优势

          减少内存的开销

          可简化各种类库和大型应用的开发和维护

          安全性,可维护性,提高性能

 

    <3>  使用

<span role="heading" aria-level="2">JavaSE:Java9 新特性

 

 

<span role="heading" aria-level="2">JavaSE:Java9 新特性

 

 <span role="heading" aria-level="2">JavaSE:Java9 新特性

 

 <span role="heading" aria-level="2">JavaSE:Java9 新特性

 故进行如下的操作

 <span role="heading" aria-level="2">JavaSE:Java9 新特性

 

 <span role="heading" aria-level="2">JavaSE:Java9 新特性

 

 <span role="heading" aria-level="2">JavaSE:Java9 新特性

 

 <span role="heading" aria-level="2">JavaSE:Java9 新特性

 

 

3.  钻石操作符<>的使用升级

    在Java9中,允许在匿名内部类的使用中,使用钻石操作符<>

    代码

              <span role="heading" aria-level="2">JavaSE:Java9 新特性

 

 

 

4.  集合工厂方法

    <1>  基本概念

          Java9的List, Set 和 Map集合中,增加了静态工厂方法of,实现不可变实例的创建

          不可变体现在无法添加、删除和修改它们的元素

          不允许添加null元素对象

 

    <2>  实际意义

          保证线程安全:在并发程序中,既保证线程安全性,也大大增加了并发时的效率

          被不可信的类库使用时会很安全

          如果一个对象不需要支持修改操作,将会节省时间和空间的开销

          可以当作一个常量来对待,并且这个对象在以后也不会被改变

 

    <3>  代码

              <span role="heading" aria-level="2">JavaSE:Java9 新特性

 

 

5.  InputStream的增强

      <1> InputStream类中,提供了transferTo() 方法,实现将数据直接传输到OutputStream中

                    <span role="heading" aria-level="2">JavaSE:Java9 新特性

 

 

 

      <2> transferTo() 的内部

      <span role="heading" aria-level="2">JavaSE:Java9 新特性

 

 

        

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154294.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机主机号是什么意思,在一台计算机的IP地址中,网络号和主机号指的是什么?…「建议收藏」

    计算机主机号是什么意思,在一台计算机的IP地址中,网络号和主机号指的是什么?…「建议收藏」匿名用户1级2014-09-29回答根据子网掩码,如255.255.255.0的子网掩码,三个255对应的就是网络号,0对应的就是主机号,202.119.32.8就是202.119.32是网络号,8是主机号子网掩码(1)子网TCP/IP网间网技术产生于大型主流机环境中,它能发展到今天的规模是当初的设计者们始料未及的。网间网规模的迅速扩展对IP地址模式的威胁并不是它不能保证主机地址的唯一性,而是会…

    2022年6月24日
    43
  • 数据库中having用法[通俗易懂]

    数据库中having用法[通俗易懂]having经常与groupby和聚合函数(COUNT,SUM,AVG,MIN,orMAX)一起使用,用来过滤由GROUPBY语句返回的记录集。聚合函数通过作用于一组数据而只返回一个单个值,因此,在SELECT语句中出现的元素要么为一个聚合函数的输入值,要么为GROUPBY语句的参数,否则会出错。HAVING语句的存在弥补了WHERE关键字不能与聚合函数联合使用的不足。…

    2022年6月18日
    49
  • uniapp的swiper_vue轮播图插件

    uniapp的swiper_vue轮播图插件swiper详细数据参照uni-app官方swiper属性<!–swiper轮播图–><uni-swiper-dot:info=”bannerList”><swiperclass=”swiper-box” autoplay=”true” circular=”true” indicatorDots=”true” indicator-active-color=”#fcf6f3″ >

    2025年6月27日
    0
  • 于Linux-2.6.32内核上编译ipset-6.23的坎坷经历[通俗易懂]

    于Linux-2.6.32内核上编译ipset-6.23的坎坷经历[通俗易懂]新版本的ipset上周在儿童医院给小小看病等待叫号的间隙,收到了Netfilter邮件列表的推送消息,一览了ipset最新的6.23版本的新特性,很多正是我目前所需要的,特别是timeout和skbinfo参数的支持,具体的详情请自行查看manual,如果不想看那么多,我这里简单的贴一下:  timeout      All set types supportstheoptional

    2022年9月1日
    0
  • 通达信5分钟.lc5和.lc1文件格式

    通达信5分钟.lc5和.lc1文件格式一、通达信日线*.day文件文件名即股票代码每32个字节为一天数据每4个字节为一个字段,每个字段内低字节在前00~03字节:年月日,整型04~07字节:开盘价*100,整型08~11字节:最高价*100,整型12~15字节:最低价*100,整型16~19字节:收盘价*100,整型2…

    2022年7月24日
    86
  • hadoop2.0的datanode数据存储文件夹策略的多个副本

    hadoop2.0的datanode数据存储文件夹策略的多个副本

    2022年1月8日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号