java11 jshell_java11
01. JShell。(java9开始支持)
02. Dynamic Class-File Constants类文件新添的一种结构
1. JShell。
用过Python的童鞋都知道,Python 中的读取-求值-打印循环( Read-Evaluation-Print Loop )很方便。它的目的在于以即时结果和反馈的形式。
java9引入了jshell这个交互性工具,让Java也可以像脚本语言一样来运行,可以从控制台启动 jshell ,在 jshell 中直接输入表达式并查看其执行结果。当需要测试一个方法的运行效果,或是快速的对表达式进行求值时,jshell 都非常实用。
除了表达式之外,还可以创建 Java 类和方法。jshell 也有基本的代码完成功能。我们在教人们如何编写 Java 的过程中,不再需要解释 “public static void main(String [] args)” 这句废话。
02. Dynamic Class-File Constants类文件新添的一种结构
Java的类型文件格式将被拓展,支持一种新的常量池格式:CONSTANT_Dynamic,加载CONSTANT_Dynamic会将创建委托给bootstrap方法。
目标
其目标是降低开发新形式的可实现类文件约束带来的成本和干扰。
03. 局部变量类型推断(var ”关键字”)。
什么是局部变量类型推断?
var javastack = "javastack";
System.out.println(javastack);
大家看出来了,局部变量类型推断就是左边的类型直接使用 var 定义,而不用写具体的类型,编译器能根据右边的表达式自动推断类型,如上面的 String 。
var javastack = "javastack";
就等于:String javastack = "javastack";
在声明隐式类型的lambda表达式的形参时允许使用var
使用var的好处是在使用lambda表达式时给参数加上注解
(@Deprecated var x, @Nullable var y) -> x.process(y);
var 语法 : 局部变量的类型推断.
注意点 :
1) var a; 这样不可以, 因为无法推断.
2) 类的属性的数据类型不可以使用var.
有参数的lambda表达式使用
函数式接口 :
Consumer : 消费型函数式接口.
public void accept(T t);
Consumer consumer = t -> System.out.println(t.toUpperCase());
Consumer consumer = (var t) -> System.out.println(t.toUpperCase());
错误的形式: 必须要有类型, 可以加上var
Consumer consumer = (@Deprecated t) -> System.out.println(t.toUpperCase());
正确的形式:
Consumer consumer = (@Deprecated var t) -> System.out.println(t.toUpperCase());
java11 jshell_java11相关推荐
- 5分钟学会Java 9~Java11的七大新特性
Java11 发布了,然而很多公司还在用Java 8 ,本文会简要介绍Java 9 -11 引入的新语法和API. 本地变量类型推断 Java 10 就已经引入了新关键词var,该关键词可以在声明局部 ...
- java11 新特性 详解
为什么80%的码农都做不了架构师?>>> 引言: 点击-->java10 新特性 详解 点击-->java9 新特性 详解 点击-->java8 新特性 详解 ...
- java11正式发布了,让java代码更完美
主题互动 Java11已经发布了,我们今天聊聊大家还停留在哪个版本呢?大家对于新版本的迅速的发布有什么想说的呢? 09 月 25 日,Oralce 正式发布了 Java 11,这是据 Java 8 以 ...
- Java11震撼发布了,我们该怎么办?
点击上方"好好学java",选择"置顶公众号" 优秀学习资源.干货第一时间送达! 精彩内容 java实战练习项目教程 2018微服务资源springboot.s ...
- Java11正式发布了,我们该怎么办?
主题互动 Java11已经发布了,我们今天聊聊大家还停留在哪个版本呢?大家对于新版本的迅速的发布有什么想说的呢? 09 月 25 日,Oralce 正式发布了 Java 11,这是据 Java 8 以 ...
- Java11 新特性
Java 11新特性的详细解释.JDK 11已经于 2018年9月25日正式发布,那么Java 11主要包含哪些新特性呢? JDK 11是Java SE 11平台版本11的开源参考实现,由JSR 38 ...
- java11+osgi_错误学习:Java + OSGi
java11+osgi 最近,我致力于在OSGi环境中使Apache Hive工作. 虽然没有被证明是小菜一碟(软件对吗?..为什么我不感到惊讶? ),它引导我解决了各种Java和OSGi错误. 在这 ...
- java8中方法区的内存大小如何设置_从Java8升级到Java11
奇技 · 指南 为什么选择Java11? 容器环境支持,GC等领域的增强,仅通过切换到 Java 11 就有 16% 的改进. 进行了瘦身,更轻量级,安装包体积小. JDK11 是一个长期支持版. 1 ...
- JAVA11 - ZGC 特性
JAVA11 - ZGC 特性 快速开始 ZGC全称是Z Garbage Collector,是一款可伸缩(scalable)的低延迟(low latency garbage).并发(concurre ...
最新文章
- Codeforces Educational round 58
- web service
- np.concatenate
- boost库之tcp实例(同步方式)
- java第七章多线程_第七章 多线程
- VTK:图表之ShortestPath
- 日志文件切割服务logrotate配置及crontab定时任务的使用
- python-去重的三种方式-成员判断-索引判断-集合
- ASP.NET Aries 入门开发教程7:DataGrid的行操作(主键操作区)
- hbase集群 数据写入_HBase架构与原理详解
- 基于visual Studio2013解决C语言竞赛题之0203格式化输出
- 关于vue脚手架cli3.0版本的一篇有关配置的文章,可以借鉴
- mysql根据用户经纬度查询附近商家,mysql根据经纬度获取附近的商家
- 在这做一个词云图生成器来送给大家(附代码),建议收藏
- offer和面经分享(内含offer截图)
- Vue.js---关闭语法检查
- C#方法讲解——飞行棋画地图
- 在Oracle中使用脏读,ORACLE 事务处理
- 哈佛结构和冯·诺依曼结构
- 当iPod Touch来临,你是否也开始心动?