【java9】java9新特性之改进JavaDocs

Java9在JavaDocs方面的主要新特性是,其输出现在符合兼容HTML5标准。在之前的版本中,默认的HTML版本是 HTML4.01,但在Java9及之后的版本中,JavaDocs命令行工具将默认使用HTML5作为输出标记语言。这意味着,使用JavaDocs工具生成的文档将具有更现代、更丰富的样式和功能,同时保持与现有HTML5浏览器的兼容性。

此外,JavaDocs的输出结构也保持不变,仍然由三个框架组成的结构构成,即使是以HTML5输出的Java帮助文档也保持相同的结构。这意味着,尽管在底层技术上有所更新,但生成的文档对于用户来说仍然是非常熟悉和直观的。

总的来说,Java9在JavaDocs方面的改进使得生成的文档更加现代化和兼容,同时也保持了用户的体验一致性。这些改进有助于提高文档的可读性和可用性,使得开发人员更容易理解和使用Java API。

java8生成的html4文档

例如有下面一个简单测试类:

package com.morris.java9;

/**
 * <p>This is a test doc class.</p>
 *
 * @author morris131
 * @version 1.0.0
 */
public class DocDemo {

    /**
     * <p> get the age of user by the name of user.</p>
     *
     * @param name the name of user
     * @return the age of user
     */
    public int getAgeByName(String name) {
        return 18;
    }
}

然后我们就可以使用javadoc命令输出该类的文档:

$ javadoc -d src/main/resources/java8-doc-html4 src/main/java/com/morris/java
9/DocDemo.java
Loading source file src/main/java/com/morris/java9/DocDemo.java...
Constructing Javadoc information...
Creating destination directory: "src/main/resources/java8-doc-html4/"
Standard Doclet version 1.8.0_401
Building tree for all the packages and classes...
Generating src/main/resources/java8-doc-html4/com/morris/java9/DocDemo.html...
Generating src/main/resources/java8-doc-html4/com/morris/java9/package-frame.html...
Generating src/main/resources/java8-doc-html4/com/morris/java9/package-summary.html...
Generating src/main/resources/java8-doc-html4/com/morris/java9/package-tree.html...
Generating src/main/resources/java8-doc-html4/constant-values.html...
Building index for all the packages and classes...
Generating src/main/resources/java8-doc-html4/overview-tree.html...
Generating src/main/resources/java8-doc-html4/index-all.html...
Generating src/main/resources/java8-doc-html4/deprecated-list.html...
Building index for all classes...
Generating src/main/resources/java8-doc-html4/allclasses-frame.html...
Generating src/main/resources/java8-doc-html4/allclasses-noframe.html...
Generating src/main/resources/java8-doc-html4/index.html...
Generating src/main/resources/java8-doc-html4/help-doc.html...

打开index.html的源码,就可以看到HTML4.01的文档声明了:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

可以看到javadoc默认使用的是HTML4.0.1版本。

java9生成html4文档

还是上面的测试类,使用java9来生成生成html4文档:

$ javadoc -d src/main/resources/java9-doc-html4 src/main/java/com/morris/java9/DocDemo.java
Loading source file src/main/java/com/morris/java9/DocDemo.java...
Constructing Javadoc information...
Standard Doclet version 9.0.4
Building tree for all the packages and classes...
Generating src/main/resources/java9-doc-html4/com/morris/java9/DocDemo.html...
Generating src/main/resources/java9-doc-html4/com/morris/java9/package-frame.html...
Generating src/main/resources/java9-doc-html4/com/morris/java9/package-summary.html...
Generating src/main/resources/java9-doc-html4/com/morris/java9/package-tree.html...
Generating src/main/resources/java9-doc-html4/constant-values.html...
Building index for all the packages and classes...
Generating src/main/resources/java9-doc-html4/overview-tree.html...
Generating src/main/resources/java9-doc-html4/index-all.html...
Generating src/main/resources/java9-doc-html4/deprecated-list.html...
Building index for all classes...
Generating src/main/resources/java9-doc-html4/allclasses-frame.html...
Generating src/main/resources/java9-doc-html4/allclasses-frame.html...
Generating src/main/resources/java9-doc-html4/allclasses-noframe.html...
Generating src/main/resources/java9-doc-html4/allclasses-noframe.html...
Generating src/main/resources/java9-doc-html4/index.html...
Generating src/main/resources/java9-doc-html4/help-doc.html...

打开index.html的源码,就可以看到HTML4.01的文档声明了:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
... ...

可以看到javadoc默认使用的是HTML4.0.1版本。

java9生成html5文档

还是上面的测试类,使用-html5选项指定输出结果为HTML 5:

$ javadoc -html5 -d src/main/resources/java9-doc-html5 src/main/java/com/morris/java9/DocDemo.java
Loading source file src/main/java/com/morris/java9/DocDemo.java...
Constructing Javadoc information...
Standard Doclet version 9.0.4
Building tree for all the packages and classes...
Generating src/main/resources/java9-doc-html5/com/morris/java9/DocDemo.html...
Generating src/main/resources/java9-doc-html5/com/morris/java9/package-frame.html...
Generating src/main/resources/java9-doc-html5/com/morris/java9/package-summary.html...
Generating src/main/resources/java9-doc-html5/com/morris/java9/package-tree.html...
Generating src/main/resources/java9-doc-html5/constant-values.html...
Building index for all the packages and classes...
Generating src/main/resources/java9-doc-html5/overview-tree.html...
Generating src/main/resources/java9-doc-html5/index-all.html...
Generating src/main/resources/java9-doc-html5/deprecated-list.html...
Building index for all classes...
Generating src/main/resources/java9-doc-html5/allclasses-frame.html...
Generating src/main/resources/java9-doc-html5/allclasses-frame.html...
Generating src/main/resources/java9-doc-html5/allclasses-noframe.html...
Generating src/main/resources/java9-doc-html5/allclasses-noframe.html...
Generating src/main/resources/java9-doc-html5/index.html...
Generating src/main/resources/java9-doc-html5/help-doc.html...

查看index.html页面的源码,就会发现已经使用了HTML 5文档类型声明了:

<!DOCTYPE HTML>
... ...


可以看到java9在生成的文档右上角加上了搜索功能,如果一个类中有多个方法有个搜索功能就很方便了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/599307.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Markdown 精简教程(胎教级教程)

文章目录 一、关于 Markdown1. 什么是 Markdown&#xff1f;2. 为什么要用 Markdown&#xff1f;3. 怎么用 Markdown&#xff1f;&#xff08;编辑软件&#xff09; 二、标题1. 常用标题写法2. 可选标题写法3. 自定义标题 ID4. 注意事项 三、段落四、换行五、字体选项1. 粗体2.…

跨境电商行业分析-商品出海的四大路径

1. 跨境电子商务模式和国内电子商务模式【区别】 最大的不同点有3个&#xff1a; 达成交易的双方是属于不同【关境】的交易主体商品通过众多电子商务平台/独立站等&#xff0c;进行支付结算通过国际物流的方式&#xff08;海运/铁路/空运/卡车&#xff09;进行报关、清关、派…

anconda创建虚拟环境,使用虚拟环境(基于win平台)

假设已经安装了anconda&#xff0c;打开anaconda的 shell。 查看已存在的虚拟环境&#xff0c;base是默认的&#xff0c;不用理会&#xff0c;后面的yolov5就是用户创建的 #查看有那些虚拟环境 (base) PS C:\Users\x> conda info -e # conda environments: # base …

如何判断代理IP质量?

由于各种原因&#xff08;从匿名性和安全性到绕过地理限制&#xff09;&#xff0c;代理 IP 的使用变得越来越普遍。然而&#xff0c;并非所有代理 IP 都是一样的&#xff0c;区分高质量和低质量的代理 IP 对于确保流畅、安全的浏览体验至关重要。以下是评估代理 IP 质量时需要…

计划订单转采购申请的增强点和可以增强的内容

MD15 MD14 计划订单转采购申请&#xff0c;涉及的增强点和增强内容 对于外协的采购申请&#xff0c;有时候需要对组件的内容做一些特殊的处理&#xff0c;但是处理组件清单的增强ME_COMPONENTS_UPDATE的增强点&#xff08;这个增强点对于手工创建的外协PR、外协PO,外协pr转外协…

Day21 代码随想录打卡|字符串篇---右旋转字符串

题目&#xff08;卡码网 T55&#xff09;&#xff1a; 字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k&#xff0c;请编写一个函数&#xff0c;将字符串中的后面 k 个字符移到字符串的前面&#xff0c;实现字符串的右旋转…

Pycharm无法链接服务器环境(host is unresponsived)

困扰了很久的一个问题&#xff0c;一开始是在服务器ubuntu20.04上安装pycharm community&#xff0c;直接运行服务器上的pycharm community就识别不了anaconda中的环境 后来改用pycharm professional也无法远程连接上服务器的环境&#xff0c;识别不了服务器上的环境&#xff…

[力扣题解]102.二叉树的层序遍历

题目&#xff1a;102. 二叉树的层序遍历 代码 迭代法 class Solution { public:vector<vector<int>> levelOrder(TreeNode* root) {queue<TreeNode*> que;TreeNode* cur;int i, size;vector<vector<int>> result;if(root ! NULL){que.push(ro…

Pycharm导入自定义模块报红

文章目录 Pycharm导入自定义模块报红1.问题描述2.解决办法 Pycharm导入自定义模块报红 1.问题描述 Pycharm 导入自定义模块报红&#xff0c;出现红色下划线。 2.解决办法 打开【File】->【Setting】->【Build,Execution,Deployment】->【Console】->【Python Con…

【前端--Vue】组件之间的多种通信方式,一文彻底搞懂组件通信!

本篇将重点讲解vue中的多种组件通信方式&#xff0c;包括【父传子】【子传父】【兄弟组件通信】【依赖注入】等等&#xff0c;并提供具体案例来让小伙伴们加深理解、彻底掌握&#xff01;喜欢的小伙伴们点赞收藏&#xff0c;持续关注哦~&#x1f495; &#x1f49f; 上一篇文章…

【前端】HTML基础(2)

文章目录 前言一、HTML常见标签1、 注释标签1.1 标题标签1.2 段落标签1.3 换行标签 2、 格式化标签2.1 加粗标签2.2 倾斜标签2.3 删除线标签2.4 下划线标签 3、 图片标签3.1 src属性3.2 alt属性3.3 title属性3.4 图片大小3.5 图片边框 4、 超链接标签4.1 属性4.2 属性 前言 这篇…

爆赞好文之java反序列化之CB超详细易懂分析

java反序列化之CB超详细易懂分析 CB1环境搭建前言分析PropertyUtilsBeanComparatorPriorityQueue CB2环境搭建前言exp CB1 环境搭建 pom.xml <dependencies><dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils&l…

QT:信号和槽

文章目录 信号和槽connect函数槽自定义槽第一种第二种 信号和槽 这里的信号和Linux的信号一样吗&#xff1f; 答案是差不多&#xff0c;但是也有一定的区别&#xff0c;而且也是两个不同的概念 信号有三个概念&#xff0c;一个是信号源&#xff0c;这个信号是由谁发送的&…

kafka学习笔记(三、生产者Producer使用及配置参数)

1.简介 1.1.producer介绍 生产者就是负责向kafka发送消息的应用程序。消息在通过send()方法发往broker的过程中&#xff0c;有可能需要经过拦截器(Interceptor)、序列化器(Serializer)和分区器(Partitioner)的一系列作用后才能被真正的发往broker。 demo: public class Kafk…

Ecovadis认证是什么?

Ecovadis认证是一种企业社会责任&#xff08;CSR&#xff09;评估和评级的认证&#xff0c;旨在衡量企业在环境、劳工和人权、道德以及可持续采购四个方面的可持续发展表现。该认证已成为全球范围内许多公司和组织的评估标准之一&#xff0c;有助于提高企业的会声誉和可持续发展…

LeetCode:滑动窗口最大值

文章收录于LeetCode专栏 LeetCode地址 滑动窗口最大值 题目 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。   返回 滑动窗口中的最大值 。   示例 1…

浅谈操作系统中的重要概念——线程(3)——设计模式

文章目录 一、什么是设计模式&#xff1f;二、单例模式2.1、饿汉模式2.2、懒汉模式2.3、多线程情况下调用 饿汉模式与懒汉模式 谁是安全的&#xff1f;&#xff1f;&#xff08;重点&#xff09; 三、工厂模式 一、什么是设计模式&#xff1f; 设计模式就相当于菜谱&#xff0…

呆滞物料规范管理了,问题就好办了

对于制造企业来说&#xff0c;库存是生存和发展的重要保障&#xff0c;过高的库存会占用企业大量的资金和管理成本&#xff0c;影响企业的正常生产&#xff0c;然而多数中小制造企业还在用人工干预管理&#xff0c;如何控制呆滞物料成为仓储管理的一大难题。 什么是呆滞料 呆滞…

基于Spring Boot的家具网站设计与实现

基于Spring Boot的家具网站设计与实现 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea 系统部分展示 系统前台主界面图&#xff0c;用户可进入家具网站可查看…

裸辞、裁员、老板跑路、被迫失业,未来是「超级个体」的时代

本期我们邀请的程序员是张立强&#xff0c;裸辞、裁员、老板跑路、被迫失业&#xff0c;管理层利益争夺&#xff0c;职业转型&#xff0c;工作五年&#xff0c;攒出了十年经验。程序员如何寻找自己的第二曲线&#xff0c;不妨听听立强的看法。 裸辞失业 大家好&#xff0c;我…