阅读更多

3顶
1踩

编程语言

原创新闻 Java 9 正式发布,终落地 Jigsaw 项目

2017-09-25 09:44 by 副主编 jihong10102006 评论(5) 有18159人浏览
引用
文章来源:CSDN博客

9 月 21 日,大家期待已久的 Java 9 终于正式发布了,本文与大家一起快速回顾一下 IntelliJ IDEA 中 Java 9 的支持,并了解 IntelliJ IDEA 2017.3 中针对 Java 9 的推出的新功能。

Jigsaw 和 JPMS

提及 Java 9,最大的功能莫过于 Jigsaw 项目下的核心 Java 平台模块化系统(JPMS,Java Platform Module System) 。 Jigsaw 本身是一项很有野心的项目,它的目标是改进 Java SE 平台,使其可以适应不同大小的计算设备;改进其安全性,可维护性,提高性能;简化各种类库和大型应用的开发和维护,包括 JDK 本身的模块化。

IntelliJ IDEA 支持具有许多功能的 Java 平台模块化系统。

首先开发者可以轻松地为 IntelliJ IDEA 模块创建一个 module-info.java 文件:

这将给出模块声明的基本结构,包括与 IntelliJ IDEA 模块名称相匹配的模块名称。 当开发者在 module-info.java 文件中编码时,代码会高亮显示。

倘若开发者从带有 module-info.java 文件的模块中运行代码,IntelliJ IDEA 将自动使用 -p 参数(模块路径)而不是 -classpath。

IntelliJ IDEA 也针对将代码迁移到 JPMS 时出现的常见问题提供了快速修复功能,比如添加“require”指令。

或自动检测重复的指令及其他可以修复的错误。

开发者还可以通过 IntelliJ IDEA 创建模块图,以可视化正在使用的模块。 此外,也能看到 JDK 模块、自己创建的模块等等,如下图所示。

当开发者开始使用模块化时,这些图表就能起到很好的作用,其可以帮助开发者了解正在使用哪些模块以及模块的架构,甚至可以直接从图中定位到具体的模块代码。

IntelliJ IDEA 也会帮助将代码迁移到 Java 9。例如,用户可以高亮显示使用的动态模块。

这意味着开发者可以看到一些并非是 Java 9 模块的内容。 这很重要,因为这些动态模块可能会随时间而改变。

了解有关 IntelliJ IDEA 中模块的基本支持的更多信息,以及模块图和其他快速修复

便利的工厂方法

Java 9 引入了许多小的 API 更改,使开发人员更轻松。 其中之一是简化具有固定内容集合的创建。在 IntelliJ IDEA 中可以查找到改功能。

如下图所示,高亮的代码即是使用 Java 9 的工厂方法简化之后的效果。

Thread.onSpinWait

Java 9 提供了 JVM 的提示。 具体来说,如果开发人员的代码在循环中等待,那么就可以使用 Thread.onSpinWait 来让运行时知道。 IntelliJ IDEA 查找代码,添加这个功能可能会使用到。

增强的弃用

在 Java 9 有一个看似较小的功能,但可以让开发人员更容易了解其代码的影响,这个就是增强的弃用。 现在,@Deprecated 标签支持两个有用的新属性:“since”和“forRemoval”。 在 IntelliJ IDEA 2017.3 中进行了新的检查,高亮显示使用已被标记为“forRemoval”的代码。

如果已经打开此检查并将其设置为“警告”(这是默认值),那么被标记为“forRemoval”的内容,在 IntelliJ IDEA 将以红色杠显示此方法,而不是以往的黑色。

JShell 工具

Java 9 首次提供 Java 的 REPL (Read-Eval-Print-Loop,读入-求值-打印-循环)功能,称为JShell 工具。它的目的在于以即时结果和反馈的形式,简化原型的实现并帮助我们探索语言在编码时的可选项。用户可以从命令行或 IntelliJ IDEA 中的终端运行 REPL。 此外,IntelliJ IDEA 2017.3 还具有一个基本控制台,可从 IDE 内部使用 JShell,类似于 Groovy Console。

开发者可以使用控制台来尝试代码片段,也可以选择运行此代码的模块路径。

该功能目前仅能在 2017.3 EAP 中可用。

无须额外的支持

Java 9 中有许多新功能,包括对 Streams API 的更改、可选的附加功能、接口上的私有方法等等。

如果项目 SDK 设置为 Java 9,那么这些新方法在编码期间都可以使用了。

另外,还可以使用 IntelliJ IDEA 常见功能来挖掘一些 Java 9 的功能。 比如,在生成文档时通过添加标志来生成 HTML 5 Javadoc。

开发者甚至可以使用 IntelliJ IDEA 创建 Multi-Release JAR 文件。 这也许是建立 Gradle、Maven 或 Ant 等工具的最佳选择,至于这些,未来可能在 IntelliJ IDEA 博客中更新。

最后,Oracle 宣布今后会按照每六个月一次的节奏进行发布!这意味着 Java 9 是最后一次“keystone”特性驱动的版本发布。Oracle还表示,Java 8 目前仍可继续使用,它的支持时间将延续到 2022 年。
  • 大小: 68 KB
  • 大小: 90.8 KB
  • 大小: 200.7 KB
  • 大小: 43.2 KB
  • 大小: 32.6 KB
  • 大小: 23.6 KB
  • 大小: 342.2 KB
  • 大小: 103.9 KB
  • 大小: 29.5 KB
  • 大小: 83.2 KB
  • 大小: 74.2 KB
  • 大小: 22.8 KB
  • 大小: 107.3 KB
  • 大小: 25.1 KB
  • 大小: 127 KB
  • 大小: 235.3 KB
  • 大小: 40.6 KB
  • 大小: 90.6 KB
  • 大小: 180.2 KB
3
1
评论 共 5 条 请登录后发表评论
5 楼 Lixh1986 2017-10-13 10:53
面向对象编程?
一切皆对象!才可以编程。
好麻烦啊!!
编程前得先定义好对象,才能编程。
好麻烦啊!!
4 楼 tedeum 2017-09-27 08:43
java 就喜欢简单事情复杂化,也许是我没接触过太大的项目,感觉用不上。
3 楼 zhangthe9 2017-09-25 12:15
很烦 lombok 的delombok 好像还没支持好
idea64.exe 启动,还没整明白如何用jre9作自身启动环境,idea.bat 启动是可以
2 楼 低调的江湖小生 2017-09-25 10:33
java SE 还没学会,又出了新玩意,这是要累死一头牛的节奏么??
1 楼 lixuejian 2017-09-25 10:20
   

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • java se 9_Java 9 正式发布,终落地 Jigsaw 项目

    9 月 21 日,大家期待已久的 Java 9 终于正式发布了,本文与大家一起快速回顾一下 IntelliJ IDEA 中 Java 9 的支持,并了解 IntelliJ IDEA 2017.3 中针对 Java 9 的推出的新功能。Jigsaw 和 JPMS提及 Java 9,最大的...

  • Java 9 正式发布,新特性研究

    2011年加入 Oracle Java 团队,经历了从 JDK 7 到 JDK 9 的研发过程,目前领导 Java 核心类库团队,专注于 JDK 核心类库新特性的测试和开发,希望对 Java 技术的演进和普及做出贡献。加入 Oracle 前,就职于 IBM,...

  • Java 9正式发布,新特性解读

    在历经多次跳票之后,Java 9 终于在千呼万唤中正式发布。从这个版本开始,Java 将每半年发布一个版本。作为霸占编程语言排行榜鳌头多年的老牌语言,Java 9 中有哪些不得不说的新特性?Java 语言的未来又将如何? ...

  • swift 4 java_Java 9 和 Swift 4 正式发布;PostgreSQL 1

    摘要本周热门软件更新 — 国内自主物联网操作系统 RT-Thread 3.0 发布;zbus 0.9.0 新版发布,MQ、RPC、...Gitlab 10.0发布,代码托管平台 终于,期待已久的 Java 9 正式发布了!经过 4 次跳票,历经曲折的 Java 9...

  • java 模块化系统_java9新特性-4-模块化系统: Jigsaw与Modularity

    产生背景及意义谈到 Java 9 大家往往第一个想到的就是 Jigsaw 项目。众所周知,Java 已经发展超过 20 年(95 年最初发布),Java 和相关生态在不断丰富的同时也越来越暴露出一些问题:①Java 运行环境的膨胀和臃肿。...

  • java9新特性(简述十大新特性)

    java 9 提供了超过 150 项新功能特性,包括备受期待的模块化系统、可交互的 REPL 工具:jshell,JDK 编译工具,Java 公共 API 和私有代码,以及安全增强、扩展提升、性能管理改善等。可以说 Java 9 是一个庞大的系统...

  • Java 9 模块化(Modular)介绍

    今年,2017年,我们将迎来 Java 语言的 22 岁生日,22岁,对于一个人而言,正是开始大展鸿图的年纪,可是对于日新月异的科技圈中的一门开发语言而言,却是一个傲视群雄的老态龙钟的年纪。 感谢 互联居 的技术分享...

  • 期待已久的Java 9 今日正式发布,新特性解读

    相关阅读:300本计算机编程的经典书籍下载45岁以后的IT人生三十岁还没做到管理层的人,后来都怎么样了?人们期待已久的Java SE 9.0将在2017年9月21日发布,...

  • java 9 新特性

    java 9经历了几次跳票后,最终在2017年9月21日发布。 1.1java 9 中提供了哪些新特性? java 9 提供了超过 150 项新功能特性,包括备受期待的模块化系统、可交互的 REPL 工具:jshell,JDK 编译工具,Java 公共 API...

  • Java 9 模块化 (Modular) 介绍

    前言今年,2017年,我们将迎来 Java 语言的 22 岁生日,22岁,对于一个人而言,正是开始大展鸿图的年纪,可是对于日新月异的科技圈中的一门开发语言而言,却是一个傲视群雄的老态龙钟的年纪。JVM 语言发展史JVM 家族...

  • Java9新特性系列(模块化系统: Jigsaw->Modularity)

    谈到Java9大家往往第一个想到的就是Jigsaw项目。众所周知,Java已经发展超过20年(95年最初发布),Java和相关生态在不断丰富的同时也越来越暴露出一些问题: Java运行环境的膨胀和臃肿 。每次JVM启动的时候,至少会...

  • 从 Java 9 开始,Java 就华丽的转身为微服务了…

    继 2014 年 3 月Java 8发布之后,时隔 4 年,2018 年 9 月,Java 11 如期发布,其间间隔了 Java 9 和 Java 10 两个非LTS(Long Term Support)版本。 作为最新的LTS版本,相比Java 8,Java 11 包含了模块系统、改用...

  • DeepSeek与AI幻觉-清华大学团队制作

    DeepSeek与AI幻觉-清华大学团队制作 一、什么是AI幻觉 (定义与基础概念) 二、DeepSeek为什么会产生幻觉 (聚焦特定AI模型的幻觉成因分析) 三、AI幻觉评测 (评估AI幻觉的频率、类型与影响的方法) 四、如何减缓AI幻觉 (解决方案与技术优化方向) 五、AI幻觉的创造力价值 (探讨幻觉在创新场景中的潜在益处,如艺术生成、灵感激发等)

  • 协同过滤算法商品推荐系统(源码+数据库+论文+ppt)java开发springboot框架javaweb,可做计算机毕业设计或课程设计

    协同过滤算法商品推荐系统(源码+数据库+论文+ppt)java开发springboot框架javaweb,可做计算机毕业设计或课程设计 【功能需求】 前台用户可以实现注册登录、商品浏览,在线客服,加入购物车,加入收藏,下单购买,个人信息管理,收货信息管理,收藏管理,评论功能。 后台管理员可以进行用户管理、商品分类管理、商品信息管理、订单评价管理、系统管理、订单管理。 【环境需要】 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.数据库:MySql 5.7/8.0等版本均可; 【购买须知】 本源码项目经过严格的调试,项目已确保无误,可直接用于课程实训或毕业设计提交。里面都有配套的运行环境软件,讲解视频,部署视频教程,一应俱全,可以自己按照教程导入运行。附有论文参考,使学习者能够快速掌握系统设计和实现的核心技术。

  • MES系统数字化工厂解决方案.pptx

    MES系统数字化工厂解决方案.pptx

  • MUI调用照片以及裁剪和图库照片上传到服务器

    MUI调用照片以及裁剪和图库照片上传到服务器

  • ChatGPT付费创作系统V3.1.3独立版 WEB端+H5端+小程序端 (新增DeepSeek高级通道+新的推理输出格式)

    GPT付费体验系统最新版系统是一款基于ThinkPHP框架开发的AI问答小程序, 是基于国外很火的ChatGPT进行开发的Ai智能问答小程序。这是一种基于人工智能技术的问答系统, 可以实现智能回答用户提出的问题。相比传统的问答系统,ChatGPT可以更加准确地理解用户的意图, 提供更加精准的答案。同时系统采用了最新的GPT3.5接口与GPT4模型,同时还支持型,文心一言,腾讯混元, 讯飞星火,通义千问,DeepSeeK,智普等等国内各种大模型,可以更好地适应不同的应用场景,支持站点无限多开, 可以说ChatGPT付费创作系统目前国内相对体验比较好的一款的ChatGPT及多接口软件系统。 新增接入DeepSeek-R1、DeepSeek-V3(Ollama自部署和第三方均支持)、高级通道增加DeepSeek、 支持AI接口输出的reasoning_content字段(新的推理输出格式)、更新模型库、修复导出Excel的bug等功能, 优化了云灵Midjourney接口,出图更快更稳定。小程序端变化不大该系统版本测试下来比较完美, 老版本升级时数据库结构同步下,同时把原来

  • 基于java的美食点餐管理平台设计的详细项目实例(含完整的程序,GUI设计和代码详解)

    内容概要:本文档详细介绍了一款基于Java技术的美食点餐管理平台的设计与实现。该平台旨在优化传统餐饮行业的服务流程,通过智能化的点餐系统、高效的订单处理、智能库存管理和数据分析等功能,为用户提供便捷高效的点餐体验,并提升餐厅管理效率和服务质量。系统涵盖了前端设计、后端开发、数据库设计等方面,采用了成熟的Java技术和现代Web开发框架,如Spring Boot、Vue.js或React,确保系统的高效性和稳定性。此外,文档还包括详细的用户界面设计、模块实现以及系统部署指南,帮助开发者理解和搭建该平台。 适合人群:具备一定的Java编程基础和技术经验的研发人员、IT从业者以及有意开发类似系统的企业和个人。 使用场景及目标:①为餐厅提供一个集点餐、订单处理、库存管理于一体的高效平台;②优化传统餐饮服务流程,提升客户服务体验;③利用大数据分析辅助决策,助力餐饮企业精细化运营;④通过集成多种支付方式和其他外部系统,满足多样化的商业需求。 其他说明:本项目不仅提供了完整的技术方案和支持文档,还针对实际应用场景提出了多个扩展方向和技术优化思路,旨在引导用户不断迭代和完善该平台的功能和性能。

  • 相场模拟与激光制造技术:选择性激光烧结、激光融覆中的凝固与枝晶生长研究,相场模拟与激光制造技术:选择性激光烧结、激光融覆及凝固过程中的枝晶生长研究,相场模拟 选择性激光烧结 激光融覆 凝固 枝晶生长

    相场模拟与激光制造技术:选择性激光烧结、激光融覆中的凝固与枝晶生长研究,相场模拟与激光制造技术:选择性激光烧结、激光融覆及凝固过程中的枝晶生长研究,相场模拟 选择性激光烧结 激光融覆 凝固 枝晶生长 ,相场模拟; 选择性激光烧结; 激光融覆; 凝固; 枝晶生长,相场模拟与激光工艺:枝晶生长的凝固过程研究

  • 基于ssh框架开发的厂区管理系统,集成增删改查功能。.zip

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行;功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

Global site tag (gtag.js) - Google Analytics