Java技能树之“Java8的特性”-1

举报
Mr.Z事顺意 发表于 2023/03/18 19:35:53 2023/03/18
【摘要】 知识体系函数编程面向对象编程是对数据进行抽象;函数式编程是对行为进行抽象。Lambda 表达式的特点Lambda 表达式使用和Stream下的接口函数接口定义和使用,四大内置函数接口Consumer,Function,Supplier, Predicate.Comparator排序为例贯穿所有知识点。Optional类这是一个可以为null的容器对象。如果值存在则isPresent()方法会...

知识体系

函数编程

面向对象编程是对数据进行抽象;函数式编程是对行为进行抽象。

  • Lambda 表达式的特点
  • Lambda 表达式使用和Stream下的接口
  • 函数接口定义和使用,四大内置函数接口Consumer,Function,Supplier, Predicate.
  • Comparator排序为例贯穿所有知识点。

Optional类

这是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。

  • Optional类的意义
  • Optional类有哪些常用的方法
  • Optional举例贯穿所有知识点
  • 多重类嵌套Null值判断

default方法

默认方法给予我们修改接口而不破坏原来的实现类的结构提供了便利,目前java 8的集合框架已经大量使用了默认方法来改进了,当我们最终开始使用Java 8的lambdas表达式时,提供给我们一个平滑的过渡体验。

  • 为什么会出现默认方法?
  • 接口中出现默认方法,且类可以实现多接口的,那和抽象类有啥区别?
  • 多重实现的默认方法冲突怎么办?

类型注解

那充满争议的类型注解究竟是什么? 复杂还是便捷?

  • 注解在JDK哪个版本中出现的,可以在哪些地方用注解?
  • 什么是类型注解?
  • 类型注解的作用是什么?
  • 为什么会出现类型注解(JSR308)?

重复注解

  • Java8之前对重复注解是怎么做的?
  • Java8对重复注解添加了什么支持?

类型推断

导致类型间互相转换的问题困扰着每个java程序员,通过编译器自动推断类型的东西可以稍微缓解一下类型转换太复杂的问题。

  • 什么是泛型?
  • Java7对泛型推断做了哪些优化?
  • Java8对此有做了哪些优化?

JRE 精简

模块化特性是javaer所期待的特性, 一个占用资源少的JRE运行环境,紧凑的JRE特性的出现,能带来以后的物联网的发展,甚至还是会有大量的java应用程序出现在物联网上面。

  • 为什么精简Java8 JRE,及好处是啥?
  • 紧凑的JRE分3种,分别是compact1、compact2、compact3,他们的关系是?
  • 在不同平台上如何编译等?

LocalDate/LocalDateTime

Date/Calendar槽点, java8对其进行了重写。

  • Java8之前的Date有哪些槽点? (Calendar的所有属性都是可变的,SimpleDateFormat的线程不安全性等)
  • Java8之前使用哪些常用的第三方时间库?
  • Java8关于时间和日期有哪些类和方法,变比Java8之前它的特点是什么?
  • 其它语言时间库?

JavaFX

JavaFX主要致力于富客户端开发,以弥补swing的缺陷,主要提供图形库与media库,支持audio,video,graphics,animation,3D等,同时采用现代化的css方式支持界面设计。同时又采用XUI方式以XML方式设计UI界面,达到显示与逻辑的分离。

  • javaFX发展历程?
  • Java8对其增加了哪些特性?

PermGen移除

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。PermGen space是Oracle-Sun Hotspot才有,JRockit以及J9是没有这个区域。

  • Java8之前 “java.lang.OutOfMemoryError: PermGen space”是怎么引起的,怎么解决的?
  • 新增加的元空间(Metaspace)包含哪些东西,画出图
  • 元空间(Metaspace)和PermGen对比

StampedLock

  • 为什么会引入StampedLock
  • 用Lock写悲观锁和乐观锁举例
  • 用StampedLock写悲观锁和乐观锁举例
  • 性能对比

其它更新

  • Java8 还有哪些其它更新
    • 字符串
    • Base64
    • Random
    • Nashorn
    • ...
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。