课程咨询 :136-6976-6643

长沙Java培训 > 达内新闻 > Java8中你可能不知道的新特性(上)
  • Java8中你可能不知道的新特性(上)

    发布:长沙web培训      来源:techug      时间:2016-10-11

  • lambda表达式,lambda表达式,还是lambda表达式。一提到Java 8就只能听到这个,但这不过是其中的一个新功能而已,Java 8还有许多新的特性——有一些功能强大的新类或者新的用法,还有一些功能则是早就应该加到Java里了。

    这里达内长沙java培训介绍它的10个值得了解的新特性。总会有一款适合你的,开始来看下吧。

    default方法

    这是Java语言的一个新特性,现在接口类里可以包含方法体(这就是default方法)了。这些方法会隐式的添加到实现这个接口的每个子类中。

    这使得你可以在不破坏代码的前提下扩展原有库的功能。它绝对是个利器。但从另一个方面来说,这使得接口作为协议,类作为具体实现的界限开始变得有点模糊。但好处就是,它通过一个很优雅的方式使得接口变得更智能,同时还避免了代码冗余,并且扩展类库。不好的地方就是,达内长沙java培训估计很快就会看到有在接口方法里获取this引用然后强制转化成某个具体类型的写法了。

    终止进程

    一旦启动外部进程的话,当这个进程崩溃,挂起,或者CPU到达100%的时候,你就得回来擦屁股了。Process类现在增加了两个新的方法,可以来教训下那些不听话的进程了。

    第一个是isAlive()方法,有了它你可以判断进程是否还活着。第二个方法则更加强大,它叫destroyForcibly(),你可以用它来强制的杀掉一个已经超时或者不再需要的进程。

    StampedLock

    提到这个不禁有点小激动。没有人会喜欢在代码中使用同步。用了它肯定会降低程序的吞吐量,更糟糕的话还会导致进程挂起。尽管这样,有时候你却不得不选择它。

    当多个进程访问一个资源的时候,有多种方法可以进行同步。其中用得最多的一种是ReadWriteLock以及基于它的几种实现。它通过阻塞写线程 的方式来允许多个线程并发的读,这样减少了线程之间的竞争。听起来还不错,但实际上这个锁实在是太太太慢了,尤其是当有许多写线程的时候。

    因此Java 8引入了一个新的读写锁,叫做StampedLock。它不仅更快,同时还提供了一系列强大的API来实现乐观锁,这样如果没有写操作在访问临界区域的话,你只需很低的开销就能获取到一个读锁。访问结束后你可以查询锁来判断这期间是否发生了写操作,如果有的话再选择进行重试,升级锁,或者放弃这个操作。

    并发计数器

    这是多线程程序会用到的另一个小工具。它提供了简单高效的新接口来实现多线程的并发读写计数器的功能,和AtomicInteger比起来,它要更快一些。相当赞的工具。

    推荐文章

上一篇:检查Linux服务器性能的10条命令(三)

下一篇:Java8中你可能不知道的新特性(下)

最新开班日期  |  更多

Java--大数据业余制班

Java--大数据业余制班

开班日期:3月31日

Java--大数据全日制班

Java--大数据全日制班

开班日期:3月31日

Java--零基础业余班

Java--零基础业余班

开班日期:3月31日

Java--零基础全日制班

Java--零基础全日制班

开班日期:3月31日

  • 网址:http://cs.java.tedu.cn     地址:长沙市雨花区芙蓉中路二段359号佳天国际新城北栋28楼
  • 课程培训电话:136-6976-6643     全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56