java新特性
清风不灭
这个作者很懒,什么都没留下…
展开
-
java9 创建只读数组
java9之前只读集合的创建方式 借助Collections提供的静态方法进行操作:创建只读List public static <T> List<T> unmodifiableList(List<? extends T> list) 创建只读Set public static <T> Set...原创 2020-01-23 01:52:59 · 1019 阅读 · 0 评论 -
Java9 String底层数组的变化
java9之前String底层数组的实现采用的是char数组在这种方式下,每一个字符都将占用两个字节的空间。而在java9之后,String底层采用byte数组和编码标识来识别coder的用法:当检测到变量按照latin1或ISO进行标识时,会为其分配一个字节大小的空间; 当检测到变量按照utf-16进行标识时,会为其分配而两个字节大小的空间。同样地,与String...原创 2020-01-23 01:40:45 · 3671 阅读 · 0 评论 -
java9 try语法变化
java7之前 try的使用 这里主要突出必须对资源(比如说IO流)进行显式关闭。 java8 中try的新用法 这里突出,资源不需要在进行显式关闭,只需要将资源的实例化对象放在try后面的括号中,使用结束后便会自动关闭。 java9 中try的变化 可在try后面的括号中放入已经实例化过的对象。但是需要注意的是:...原创 2020-01-23 01:00:04 · 948 阅读 · 0 评论 -
java9 REPL和jshell命令
交互式编程环境REPL以交互式的方式对语句和表达式进行求值。开发者只需输入一些代码,就可以在编译前获得对程序的反馈。而之前的java版本想要执行代码,必须创建文件、声明类、提供测试方法方可实现。在java中要实现REPL需要提供java9(或以上的版本)提供的jshell命令。jshell命令位置:jdk\binjshell命令的使用win+R调出命令行窗口输入jshel...原创 2020-01-21 16:44:33 · 294 阅读 · 0 评论 -
java9 模块化系统
为什么要引入java模块化系统 Java 运行环境的膨胀和臃肿。 每次 JVM 启动的时候,至少会有 30 ~ 60MB 的内存加载,主要原因是 JVM 需要加载 rt.jar ,不管其中的类是否被 classloader 加载,第一步整个 jar 都会被 JVM 加载到内存当中去(而模块化可以根据模块的需要加载程序运行需要的 class )。 当代码库越来越大,创建复杂,这些...原创 2020-01-21 15:57:57 · 667 阅读 · 0 评论 -
java9 jdk,jre目录的改变
java9 jdk,jre目录的改变原创 2020-01-20 17:25:19 · 762 阅读 · 0 评论 -
java8 接口的变化
java8之前的接口中都有哪些方法?常量(public static final) 抽象方法(public abstract)在java8中新加入的有:默认方法,静态方法 默认方法 (1)默认方法的基本使用 ...原创 2020-01-20 16:37:14 · 491 阅读 · 0 评论 -
java8 Stream API详解
目录一、Stream流概述二、创建Stream的方式相关API三、Stream的中间操作筛选与切片 映射排序四、终止操作第一大类API(太过简单)第二大类AP归约收集一、Stream流概述1、java8中有两大最为重要的改变,第一就是Lambda表达式,另一个则是Stream API。2、Stream API真正把函数式编程风格引...原创 2020-01-20 16:02:57 · 1016 阅读 · 0 评论 -
java8 方法引用详解
一、方法引用概述(这些话理解起来非常费劲,后面会结合具体情形讲解)1、方法引用(Method References) 当要传递给Lambda体的操作,已经有了实现方法,可以使用方法引用。2、方法引用可以看做是Lambda表达式的深层次的表达。换句话说,方法引用就是Lambda表达式,也就是函数是接口的一个实例。3、要求:实现接口的抽象方法的参数列表和返回值类型,必须与方...原创 2020-01-19 20:27:08 · 5233 阅读 · 0 评论 -
java8 Lambda表达式和函数式接口
一、Lambda表达式Lambda表达式其实是一种借鉴,在其他的语言中早已出现。python属于函数式编程思维,Lambda在里面是函数,但是java提倡“万事万物皆对象”,所以在java中,Lambda表达式不是函数而是对象。Lambda表达式的本质Lambda的本质是java中接口的一个实例(接口的实现类的具体对象)。可通过下图形象理解。Lambda表达式语法语法...原创 2020-01-19 16:00:25 · 896 阅读 · 0 评论