温县网站建设,网站设计与建设,网站建设要多久的,QQ空间可以建设网站吗从今天开始如何开始使用Java 9最酷的功能之一#xff1f; 上周末#xff0c;我终于开始尝试使用Java 9的早期访问版本了。第一站是JShell#xff0c;它也被称为Project Kulla。 首先让我鼓起勇气尝试早期访问Java版本的原因。 那就对了。 Java 9的正式发布日期当前设置为2… 从今天开始如何开始使用Java 9最酷的功能之一 上周末我终于开始尝试使用Java 9的早期访问版本了。第一站是JShell它也被称为Project Kulla。 首先让我鼓起勇气尝试早期访问Java版本的原因。 那就对了。 Java 9的正式发布日期当前设置为2016年9月但是早期访问版本已经具有功能完整的JShell版本。 它仍在开发中并且有一些古怪之处但这从来没有阻止过我们。 新话题9的Java早期访问一个动手的Session JShell -该#Java REPL http://t.co/F8cQ9X5dQM pic.twitter.com/JoWR6i8PSz — Takipitakipid 2015年7月7日 有趣的事实1 Kulla项目是开发JShell的团队的内部名称。 库拉Kulla是美索不达米亚神话中的建筑神的名字他在建筑工作完成后被驱逐。 暗示Kulla用例是一种学习工具吗 那么JShell是什么呢 JShell / Project Kulla是第一个正式的Java REPLRead-Eval-Print-Loop这是一个命令行工具使您可以自己运行Java语句而不必将它们包装在类或方法中。 与Python的解释器或其他本机支持REPL的其他JVM语言例如Scala和Groovy类似。 在Java 9即将发布的功能中它绝对是更有趣的功能之一。 要查看您附近的JDK即将推出的更多激动人心的功能除了Project Jigsaw您可以阅读有关Java 9的前5个功能的前一篇文章 这些文章将改变您的编码方式 。 到现在为止如果您想使用Java进行REPL则可以使用具有多种语言支持的repl.it之类的替代方案或者使用非官方的Java REPL项目。 不过在Java 9中REPL与langtools软件包一起捆绑在JDK中。 有趣的事实2 另一个带有神话名称的OpenJDK项目是Valhalla项目。 不仅限于Java 9还致力于诸如值类型和泛型泛型等功能。 绝对是坏蛋。 但是够了让我们启动它看看它能做什么。 在下面的简短终端编码中我们将使用JShell v0.61进行快速测试OSX 10.10.3存在一个已知问题其中提示与一些输出混合在一起所以请不要介意它将可能很快就会解决 启动并使用JShell 回顾我们刚刚看到的内容JShell的一些最有趣的功能 ** [8/7/2015]更新使用Oracle Java语言架构师Brian Goetz的注释进行编辑 1.在裸露的语句上分号是可选的 您好JShell 凭借REPL的快速和灵活特性我们可以放轻松一些而不必在声明的末尾添加分号 不这里没有分号 实际上这是我们围绕将来的Java功能进行的一项调查中的一个受欢迎的回答。 当然分号可以作为终止符或分隔符保留在这里。 REPL允许一次输入裸表达式和语句因此分号对于Jshell上的终止符用例而言是可选的。 2. REPL网络 使用JShell我们不仅限于我们的机器 还可以访问网络这带来了一些有趣的机会。 例如考虑将其用作与服务器通信的终端远程连接到服务器并从外部控制某些参数。 另一个选择是查询您的数据库这里的可能性确实是无限的。 显示通过JShell获取HTTP标头的简单示例 3.帮助 保存和加载工作区 除了运行和评估Java语句外JShell还支持一系列命令以帮助您了解和浏览REPL环境。 您可以保存和加载工作区使Java类似于脚本语言的工作区然后在执行所有代码后返回命令提示符实际上您可以在终端记录中看到我提到的OS X错误。 。 其他有用的命令是列出所有当前可用的变量和方法查看所有命令历史记录并列出到目前为止所编写的所有代码有时仍然有些怪异。 这是当前可用命令的完整列表 JShell的/帮助 4.没有检查过的异常 如果您担心被检查的异常会破坏您的REPL体验–不再害怕那么JShell会在后台为您包装这些异常。 在下面的示例中迫使我们捕获IOException的原因没有引起注意。 在这里我们在不处理IOException的情况下读取和打印文件 我们确实看到弹出一个检查到的异常的情况是当我们尝试运行线程并在其中使用Thread.sleep时。 由于它是一个完整的方法而不是单个裸语句因此它必须是完全有效的Java 继续进行一些其他未在终端录制中使用的功能 5. Java表达式 关于JShell终端的另一件事是它还可以在其上评估Java表达式。 字符串连接方法调用算术等。 基本上您可以在System.out.println/ *此处* /中包装的任何内容。 正如您可能已经在其他评估中注意到的那样它将立即将结果放入其自己的变量中并打印出来 6.转发参考 JShell对前向引用提供了相当不错的支持因此您可以定义引用其他方法或变量的函数这些方法或变量只会在以后定义。 这是AdoptOpenJDK的REPL教程中的示例 7. JShell API 除了用作独立的JDK工具外JShell还将提供一个API可将其所有功能开放给外部使用。 这意味着外部工具可以连接并使用JShell的功能并且突然出现了一些有趣的可能性例如将其包含在EclipseIntelliJ或Netbeans等IDE中。 该API更具创造性的用例可能包括使用它来扩展静态分析功能自动测试甚至可能挂接到实时JVM的工具。 8.随时更改定义 您可以重新声明变量方法和类而不必担心原始声明。 完成此操作后系统会提示您一条消息让您知道发生了什么但除此之外–一切照旧。 奖励您需要的只是爱 如果您深入研究/ repl / samples文件夹则会发现这个可爱的示例它将使用Swing吸引您3个小小的心 Java 如何独自上手 首先请查看伦敦Java社区LJC的“ 采用OpenJDK入门工具包”中的说明。 以下是对帮助您起步的步骤的简要概述尤其是如果您以前从未使用过早期访问JDK版本时尤其如此 安装Java 9抢先体验JDK 构建kulla-dev分支 hg clone http://hg.openjdk.java.net/kulla/dev kulla-dev
cd kulla-dev
bash configure –with-boot-jdk/path/to/jdk1.8.0
make clean images
make install optional 建立REPL cd langtools/repl
bash ./scripts/compile.sh 并且...现在您可以运行了 bash ./scripts/run.sh 对于OS X用户的重要说明在运行compile.sh和run.sh之前请编辑脚本并将/ usr / bin / sh更改为/ bin / sh 。 如果您对此过程有任何疑问请在下面的评论部分中发布它们我们将竭尽所能。 结论 令人兴奋的是库拉计划Project Kulla越来越接近成熟它将具有功能完善的状态。 JShell具有广泛的用例但首先它将帮助新老开发人员快速测试他们的新技能。 无论是基本的Java还是新的库您都刚刚开始思考。 而且JShell使Java与具有这些功能的语言相提并论已有一段时间了甚至还可以通过正式的API和流畅的命令行体验进一步推动Java的发展。 翻译自: https://www.javacodegeeks.com/2015/07/java-9-early-access-a-hands-on-session-with-jshell-the-java-repl.html