文 by / 林本托

在第一部分中,主要讲解如下内容:

JDK 9 包含了哪些内容

运行代码的系统要求

如何安装 NetBeans

1 JDK 介绍

JDK 9是Java开发工具包的第九个主要版本,计划于2017年7月下旬发布。它带来了许多令人兴奋的新功能。 本套教程主要介绍Java开发人员在日常编程中有用的功能。 你可以在http://openjdk.java.net/projects/jdk9/上找到所有功能的完整列表。

JDK 9最重要和最令人激动的功能之一是模块系统,该模块系统是以代码名称Jigsaw的项目开发的。 JDK设计人员一直在努力将模块系统引入Java平台超过10年。 它计划是以前的几个JDK版本的一部分,后来被删除。Jigsaw 项目也多次延迟了JDK 9版本的发布。 不过Jigsaw 最近正在积极行动,发布新的JDK版本。

Tips

Jigsaw是OpenJDK项目下的一个子项目,旨在为Java SE平台设计、实现一个标准的模块系统,并应用到该平台和JDK中。

Jigsaw项目遇到了什么困难导致这么多年才完成?Jigsaw的主要目标是为Java开发人员提供一种称为模块的软件组件,来开发应用程序的方法。模块可以将其API导出以供公众使用并封装其内部。模块还可以声明对其他模块的依赖,并且可以在启动时验证这些依赖关系,从而在运行时避免发生类型缺失的错误。 JDK本身被分成一系列相互交互的模块。这提供了一个可扩展的运行时。如果你的应用程序使用JDK的子集,则可以创建包含应用程序和应用程序模块中使用的JDK模块的运行时映像。模块系统的所有这些功能看起来都很正常。一直困扰着JDK设计师的主要问题是模块系统的向后兼容性和迁移。 Java已经存在了20多年了。任何重大的特性,包括模块系统,都必须轻易应用。根据Java社区的反馈,重新设计和改进了几次迭代,最后走到了现在这一步。

JDK 9的另一个重要补充是JShell,它是Java的交互式编程环境。 JShell是一个命令行工具和API,它允许执行一段代码并获得即时反馈。 在JShell之前,你必须编写一个完整的程序,编译它并运行它来获得结果。 JShell是你在日常开发中使用的工具。 JShell对初学者至关重要,可以帮助他们快速学习Java语言,而无需了解程序结构的细节,如模块和程序包。

Tips

关于JShell相关知识,可以在博客园或简书中搜索“Java 9 尝鲜之交互式编程环境”这篇文章,里面有详细介绍。

除此而外,JDK 9还增加了其他一些新特性使你的开发变得更轻松。 例如,Reactive Streams API,集合工厂方法,筹划中的HTTP/2 Client API,Stack-Walking API,Platform Logging API和统一的JVM logging。

2 运行代码的系统要求

首先,你需要下载JDK 9 (Java Development Kit 9) ,目前可以直接去 Oracle 官网下载。

首先需要先同意许可协议,然后就可以下载了。Java 9 可以运行在很多平台上:

Windows 32-bit

Windows 64-bit

macOS 64-bit (formerly known as Mac OS X * or simply OS X)

Linux 32-bit

Linux 64-bit

Linux on ARM 32-bit

Linux on ARM 64-bit

下一步需要配置环境变量。跟之前的 JDK 配置方法相同。这里,我以 macOS 10.12 版本为例,在 Macbook 上的配置。这里会需要 vi 的一些基本操作,可以去网上查找如何使用。

下载完 JDK 后,直接运行。然后安装目录在:/library/Java/JavaVirtualMachines/jdk-9.jdk/

在 Terminal 下,进入到你的用户的当前目录下(一打开就是你的用户默认目录,实在不清楚在命令行敲入cd

则会切换到默认目录下)。在命令行中执行ls -a命令,列出当前目录下的包括隐藏的文件或目录。

4.找到 .bash_profile文件,此文件会影响你当前用户的配置信息,并执行vi .bash_profile 命令编辑此文件。

5.进入编辑页面后,配置 Java Home 和 Path 环境变量:

配置 Java 环境变量

6.配置完以后,使用esc键退出编辑状态,输入“:wq”,保存并退出。并执行. .bash_profile,使配置文件立刻生效。在命令行下执行javac -version,如果输出如下信息,则说明 JDK 配置正确。

至此,JDK 配置完成。

3 如何安装 NetBeans

如果要编译并运行Java 程序程序,需要在计算机上安装集成开发环境(IDE),例如NetBeans或Eclipse。 目前没有IDE完全支持JDK 9中的模块系统。但是,NetBeans支持每个NetBeans项目创建一个模块。 也就是说,如果要在NetBeans中创建三个Java模块,则需要创建三个NetBeans Java项目。 一个Java模块可以使用NetBeans中的项目依赖关系来引用其他Java模块。 目前,NetBeans不支持多模块Java项目。 可以在wiki页面上找到有关NetBeans中模块系统支持的最新信息:http://wiki.netbeans.org/JDK9Support。

你可以从以下链接下载最新的支持JDK 9的NetBeans版本:http://bits.netbeans.org/download/trunk/nightly/latest/。里面有很多NetBeans版本供我们下载,为了方便,我们直接下载“All”的这个版本。

至此,JDK 9的配置已经完成,NetBeans也已经下载,关于NetBeans的详细配置,会在后面的章节中介绍。

java nep_Java 9 揭秘(1. 入门介绍)相关推荐

  1. Java中的模块(Module)入门介绍

    Java中的模块(Module)入门介绍 在Java 9版本中Java 语言引入了一个非常重要的概念:模块(module).module引入了Java代码分组的另一个级别.每个module都包含许多子 ...

  2. 初识Java 超详细的万字入门介绍

    目录 -------------初识Java --------数据类型与变量 1. 字面常量 2. 数据类型 3. 变量 3.1.整型变量 3.2.长整型变量 3.3. 短整型变量 3.4. 字节型变 ...

  3. unformat方法java_快速入门介绍Java中强大的String.format()

    快速入门介绍Java中强大的String.format() 发布于 2020-12-12| 复制链接 摘记: 前言从 Java 5.0 开始,String 类新增了一个强大的字符串格式化方法 form ...

  4. Java JPA快速入门介绍

    JPA快速入门介绍 一:什么是JPA JPA的英文全称是Java PersistenceAPI, 目的是给Java开发者提供对象关系映射工具用于在 Java应用程序开发中来管理关系数据(RDBMS). ...

  5. 【Java基础教程】(一)入门介绍篇 · 上:快速掌握核心概念,开启Java世界的探索之旅!这篇Java入门宝典助你翱翔~

    Java基础教程之入门介绍 · 上 本节学习目标 1️⃣ Java发展简史 1.1 诞生 1.2 发展 1.3 分支 2️⃣ 特征 3️⃣ 代码执行过程

  6. SpringBoot 2.0 系列001 -- 入门介绍以及相关概念

    为什么80%的码农都做不了架构师?>>>    SpringBoot 2.0 系列001 -- 入门介绍以及相关概念 什么是SpringBoot? 项目地址:http://proje ...

  7. Tomcat容器入门介绍

    Tomcat容器入门介绍 Tomcat环境配置 PS:JDK的安装这里就不讲了,找到安装包直接下一步下一步就行了. 1.配置JDK 在Windows10下,找到环境变量 在环境变量中添加JDK主目录 ...

  8. Spring入门介绍:

    Spring入门介绍 Spring诞生: 创建Spring的目的就是用来替代更加重量级的的企业级Java技术 简化Java的开发 基于POJO轻量级和最小侵入式开发 通过依赖注入和面向接口实现松耦合 ...

  9. Java 定时任务调度(8)--ElasticJob 入门实战(ElasticJob-Lite使用)

    ElasticJob 是一个分布式调度解决方案,由 2 个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成.本文主要介绍 ElasticJob-Lite 的 ...

最新文章

  1. PHP 删除数组中元素的方式
  2. 实例详解 EJB 中的六大事务传播属性--转
  3. [转帖]虚拟内存探究 -- 第二篇:Python 字节
  4. php注册树模式,php设计模式-注册树模式
  5. db2表名大小写问题
  6. 网易云音乐下线所有明星艺人榜单,对数字专辑及单曲限购
  7. 向前欧拉公式例题_小学语文阅读理解答题万能公式,简单实用!
  8. 自学前端1年,靠着这份面试题和答案,我找到了20K工作
  9. Ultra-QuickSort(离散化)
  10. CentOS系统优化
  11. Chrome插件管理、在线离线安装方式、部分插件介绍
  12. SSM框架整合详细过程
  13. 【R】ggplot2_堆积图
  14. RFID室内定位技术原理浅析-RFID室内人员定位-新导智能
  15. number of lines annotated by git is not equal to number of linus in the file .check file encoding an
  16. 记一次授权的APK渗透测试
  17. 杰理AC692X---红外按键介绍
  18. Java学习之路1——安装JDK1.8||安装idea2022||Java项目创建【重拾Java】
  19. 网易发布第四季度财报 营收28.9亿美元
  20. 法雷奥ScaLa核心人物加入:如何带领速腾聚创踏上车规激光雷达量产之路?

热门文章

  1. php submit 不要刷新,php实现保存submit内容之后禁止刷新
  2. 纸板箱机器人制作比例图纸_造一个黄油机器人(Butter Robot)
  3. 3.1.10 OS之基本分段存储管理(段表、地址变换、信息共享)
  4. php将文件夹打包zip文件,php将文件夹打包成zip文件
  5. ARM 之七 主流编译器(armcc、iar、gcc for arm、LLVM(clang))详细介绍
  6. 计算机网络体系结构(OSI七层、TCP/IP四层、五层协议)
  7. html编写程序常用的,html编写简洁页面表单验证程序.doc
  8. OS / CPU是如何访问内存的?
  9. OpenLDAP / ubuntu 18.04 下源码编译及安装说明
  10. JavaScript / Electron / ipcMain,ipcRenderer