Java 注释技巧

BurpSuite插件开发实战:从需求分解到模块设计的完整路径 在软件安全测试领域,自动化工具的开发是提升渗透测试效率的关键。BurpSuite作为行业标准的Web漏洞扫描与测试平台,其强大的可扩展性允许开发者通过插件机制定制专属功能。插件开发的核心在于将模糊的安全需求转化为清晰、可执行的功能模块,这涉及对HTTP协议流量、数据解析及安全检测原理的深入理解。通过模块化设计,开发者可以构建出结构清晰、易于维护的插件,例如实现JWT令牌的自动识别、解码与安全检测,从而将重复性手动操作自动化。这种工程实践不仅提升了测试效率,也为应对复杂Web应用安全挑战提供了定制化解决方案。 阅读详情

Java 注释技巧

    在最初学习Android时候使用了Eclips IDE工具,编写java程序时,总是要添加一些注释,用以说明某段代码的作用,由于是从C过度来的,也没有太在意java的注释有何不同,将鼠标移动到Android sdk 提供的类、方法、属性上时总会有提示信息,而且弹出的提示信息就是代码注释,不同的是有一些特殊的符号,随着工程代码量的不断增加,文档注释的重要性日渐凸显,索性学习下Java的注释方法,让自己的代码变得更规范化一些。

JavaDoc工具

    Java 有三种注释语句:
    1.//用于单行注释。  
    2./*...*/用于多行注释,从/*开始,到*/结束,不能嵌套。  
    3./**...*/则是为支持 jdk 工具 javadoc.exe 而特有的注释语句。


    当你在代码中填写好注释后,就可以使用JavaDoc工具提取程序中文档注释生成API文档,Javadoc 工具能从 java 源文件中读取第三种注释,并能识别注释中用@标识的一些特殊变量,制作成 Html 格式的类说明文档。javadoc 不但能对一个 java 源文件生成注释文档,而且能对目录和包生成交叉链接的 html 格式的类说明文档,十分方便。

    常用的Javadoc标记如下:
    @author         指定Java程序的作者
    @version        指定源文件版本
    @parameter      参数名及其意义
    @return         返回值
    @throws         异常类及抛出条件
    @deprecated     引起不推荐使用的警告(标识一个方法已经不推荐使用了)
    @see            “参见”,指定交叉参考的内容
    @since          表示从那个版本起开始有了这个函数
    @note           表示注解,暴露给源码阅读者的文档
    {@value}        当对常量进行注释时,如果想将其值包含在文档中,则通过该标签来引用常量的值。
    {@link包.类#成员} 链接到某个特定的成员对应的文档中。
   
    PS:只有/**...*/的注释语句中的内容才能被javadoc工具支持,所以javadoc的标记只能放在/**...*/注释中。

Javadoc与html

    由于Javadoc生成的是html的样式,所以在文档注释中支持部分html的标签,下面是在使用文档注释常用的标签:

    段落级标签

    1)段落: <p>用于标记段落的开始,段落结束</p>
   
    2)换行: <br>
   
    3)<pre>预格式化标签:
    <pre>  </pre> 此标签用于显示预先已定义好格式的文本。当文本显示在浏览器中时,会遵循已在HTML源文档中定义的格式。

    文本格式化标签

    1)<b>标签
    <b>该文本将以粗体显示</b>
   
    2)<i>标签
    <i>该文本将以斜体显示</i>
   
    3)<sub>标签
    <sub>该文本的显示高度将低于前后的文本</sub>
   
    4)<sup>标签
    <sup>该文本的显示高度将高于周围的文本</sup>
   
    5)<blockquote>标签
    定义长的引用,<blockquote> </<blockquote>所包含的文字会被整体分离出来,让这段文字与周围文字形成对比,有缩进效果。

    5)<hr>
    <hr>用于定义水平分隔线
   

    列表标签

    <ul>  无序列表
    <ol>  有序列表
    <li>  列表项目的标签

    链接标签

    1)<a>  定义链接 href  指定链接地址
     <a href= "http://blog.youkuaiyun.com/jack_chen_00">博客地址</a>

文档注释范例

	
/**
 * <a href= "<a target=_blank href="http://blog.youkuaiyun.com/jack_chen_00">http://blog.youkuaiyun.com/jack_chen_00</a>">博客地址</a>
 * @author Jack·chen 
 */
public static class Person{
 
 /**男性,值为<a target=_blank href="mailto:{@value}*/">{@value}*/</a> 
 public static final int MALE = 1;
 /**女性,值为<a target=_blank href="mailto:{@value}*/">{@value}*/</a>
 public static final int FEMALE = 2;</p><p> /**
  * use to store person name 
  */
 protected String mName;
 /**
  * use to store second name of person
  * @see #mName
  */
 protected String mSecondName;
 
 /**/
 protected int mAge;</p><p> /**
  * Constructor that is called when inflating a view from XML. 
  * 
  * The class will be created after all children have been added.
  * added.
  * @version 1.0
  * @param mName name of person
  * @param mSndName  second name of person
  * @param mAge age of person
  */
 public Person(String mName,String mSndName, int mAge) {
  super();
  this.mName = mName;
  this.mSecondName = mSndName;
  this.mAge = mAge;
 }
 
 /**
  * <sup> Constructor </sup>that is called when inflating a view from XML.
     * 
  * <ul>
  * <li>The view receives a hover event with action <a target=_blank href="mailto:{@link">{@link</a> MotionEvent#ACTION_HOVER_ENTER}
  * when the pointer enters the bounds of the view.</li>
  * <li>The view receives a hover event with action <a target=_blank href="mailto:{@link">{@link</a> MotionEvent#ACTION_HOVER_MOVE}
  * when the pointer has already entered the bounds of the view and has moved.</li>
  * <li>The view receives a hover event with action <a target=_blank href="mailto:{@link">{@link</a> MotionEvent#ACTION_HOVER_EXIT}
  * when the pointer has exited the bounds of the view or when the pointer is
  * about to go down due to a button click, tap, or similar user action that
  * causes the view to be touched.</li>
  * </ul>
  * 
  * <pre> public boolean onGenericMotionEvent(MotionEvent event) {
     *     if ((event.getSource() &amp; InputDevice.SOURCE_CLASS_JOYSTICK) != 0) {
     *         if (event.getAction() == MotionEvent.ACTION_MOVE) {
     *             // process the joystick movement...
     *             return true;
     *         }
     *     }
     *     return super.onGenericMotionEvent(event);
     * }</pre>
     * 
  * <p>
  * The class will be created after all children have been added.
  * added.
  * @deprecated use <a target=_blank href="mailto:{@link">{@link</a> #Person(String,String,int)} instead
  * @version 1.0
  * @see Monkey
  * @param mName name of person
  * @param mAge age of person
  */
 public Person(String mName, int mAge) {
  super();
  this.mName = mName;
  this.mAge = mAge;
 }
 
}

Annotation

    从JDK 1.5开始,Java增加了对元数据(MeteData)的支持,也就是annotation(注释),这种Annotation与前面讲的注释有一定的却别,它是代码一种特殊的标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过Annotation,程序员可以在不更改源码的情况下嵌入一些补充信息,访问和处理Annotation的工具统称为APT(Annotation Processing Tool)。代码分析工具、开发工具可以利用这些补充信息进行验证,比如Eclips可以根据@Override检查复写方法的正确性。   

    标准的Annotation

    先看下Java提供的3个最基本的Annotation的用法:
    @Deprecated
    可作用于方法、类、接口等,它的作用于文档中注释中的@deprecated基本相同,是告诉编译器此方法、类等已经不建议使用了,以便在编程时给出警告。
   
    @Override
    只能作用于方法,用于指出该方法是重载父类的方法,它的作用是告诉编译器检查这个方法的语法是否正确,避免犯一些方法名称写错的低级错误。
   
    @SuppressWarnings
    用于消除编译器警告,在某些情况下编译警告是被允许或者合法,在这种情况下就可以使用@SuppressWarnings消除编译器警告
   
    如果你是用IDE工具Eclips开发Android 应用程序,你会发现上面提到的三个Annotation不需要手动添加,Eclips会自动提示你警告的原因以及解决办法,并自动帮你生成合适的Annotation补充信息,基本不需要程序员手动添加。
   

    自定义Annotation

    除了标准的Annotation,程序员还可以编写自定义的Annotation,自定义的Annotation可用于debug和编写一些测试程序。
    java中自定义annotation需要@interface关键字和用到几个内置annotation。用到的元注解有@Target, @Retention, @Documented, @Inherited ,用途如下:
    @Target 表示该注解用于什么地方,可能的 ElemenetType 参数包括:
        ElemenetType.CONSTRUCTOR 构造器声明
        ElemenetType.FIELD 域声明(包括 enum 实例)
        ElemenetType.LOCAL_VARIABLE 局部变量声明
        ElemenetType.METHOD 方法声明
        ElemenetType.PACKAGE 包声明
        ElemenetType.PARAMETER 参数声明
        ElemenetType.TYPE 类,接口(包括注解类型)或enum声明
        
    @Retention 表示在什么级别保存该注解信息。可选的 RetentionPolicy 参数包括:
        RetentionPolicy.SOURCE 注解将被编译器丢弃
        RetentionPolicy.CLASS 注解在class文件中可用,但会被VM丢弃
        RetentionPolicy.RUNTIME VM将在运行期也保留注释,因此可以通过反射机制读取注解的信息。
        
    @Documented 将此注解包含在 javadoc 中
    
    @Inherited 允许子类继承父类中的注解

   

package javatest;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.Method;
import java.util.HashSet;
import java.util.Set;

public class JavaProject {  


	@Target(ElementType.TYPE)
	@Retention(RetentionPolicy.RUNTIME)
	@Documented
	public @interface Description {
	    String value() default "no description";
	}

	@Target(ElementType.METHOD)
	@Retention(RetentionPolicy.RUNTIME)
	@Documented
	public @interface Name {
	    String originate();
	    String community();
	}

	@Description("Mantis,Debug eye")
	public static class JavaAnnotation {
	    @Name(originate = "创始人:jack", community = "sunplus")
	    public String getDebugProjectName() {
	        return "Mantis";
	    }
	    @Name(originate = "创始人:清风道人", community = "suncompany")
	    public String getStateName() {
	        return "debuging";
	    }
	}


    public static void main(String[] args) {
		Class test = JavaAnnotation.class;
        Method[] methods = test.getMethods();
        boolean flag = test.isAnnotationPresent(Description.class);
        if (flag) {
            Description des = (Description) test.getAnnotation(Description.class);
            System.out.println("描述:" + des.value());
            System.out.println("-----------------");
        }
        Set<Method> set = new HashSet<Method>();
        for (int i = 0; i < methods.length; i++) {
            boolean otherflag = methods[i].isAnnotationPresent(Name.class);
            if (otherflag) {
                set.add(methods[i]);
            }
        }
        for (Method method : set) {
            Name name = method.getAnnotation(Name.class);
            System.out.println(name.originate());
            System.out.println("创建的社区:" + name.community());
        }
    }

} 


 

Java 领域里 IntelliJ IDEA 的代码注释规范与技巧 在 Java 开发过程中,代码注释是不可或缺的一部分。良好的代码注释能够提高代码的可读性、可维护性,方便团队成员之间的协作开发。本文章的目的在于深入探讨在 IntelliJ IDEA 这个强大的 Java 集成开发环境中,如何遵循代码注释规范以及掌握有效的注释技巧。文章的范围涵盖了不同类型注释的规范写法、IntelliJ IDEA 中特有的注释快捷操作、注释模板的定制等内容,还会通过实际项目案例展示如何将这些规范和技巧应用到实际开发中。 阅读详情

相关推荐

Java编程入门与注释使用技巧

本篇博客详细介绍了Java编程中的注释使用方法,包括单行注释、多行注释及文档注释的定义和区别。同时,也强调了良好的编程习惯和常见编程错误,以及如何在Java程序中使用类和方法,包括main方法的重要性和使用。此外,还探讨了Java中的标识符命名规则和大小写敏感性,以及如何正确编译和执行Java程序,包括命令行参数的使用和图形用户界面(GUI)组件的引入。

weixin_33814090的博客 302

java中pre是什么意思_HTML标签<PRE>在代码中是什么意思

展开全部1.容器是用来存储和组织其他e68a843231313335323631343130323136353331333366306462对象的对象。实现链表的类就是一个容器的示例。预格式化文本容器存储实现构造自己的特定类型下的数据结构对象,这些模板的参数允许我们指定容器中元素的数据类型,可以将许多重复而乏味的工作简化。2.pre 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保...

weixin_32309649的博客 2387

腾讯会议+OBS虚拟摄像头:解决多人屏幕共享的终极指南(附常见问题排查)

本文详细介绍了如何利用OBS虚拟摄像头技术,解决腾讯会议中多人屏幕共享的痛点。通过将OBS作为视频混流中心,可以突破腾讯会议单屏共享的限制,实现多屏幕、多窗口内容的同步展示,并提升演示的专业度。文章涵盖了Windows与Linux双平台的配置步骤、高阶场景搭建以及常见问题(如黑屏、画中画)的排查方法,是团队协作与专业演示的实用指南。

i8j9k0l1的博客 931

[转载]Java学习总结(Java源文件、JavaDoc文档)

一、Java源文件1、一个Java应用包含一个或多个Java源文件,每个Java源文件只能包含下列内容(空格和注释除外)l 零个或一个包声明语句l 零个或多个包引入语句l 零个或多个类声明语句l 零个或多个接口声明2、每个Java源文件可包含多个类或接口的定义,但是至多只有一个类或者接口是public的,而且Java源文件必须以其中public类型的名字命名。3、包声明

Mr.Left的IT世界 3076

电子取证之服务器取证思路

服务器取证是一个技术性很强的领域,涉及到多个环节,包括网站重构、网站代码分析、容器分析等。数据库密码的获取通常通过查看配置文件、日志文件、备份等途径,同时可以通过一些绕过技术如禁用身份验证来获取权限。对于不同的数据库,需要根据其特性采取相应的应对方法和命令。

2401_84830066的博客 2490

自制《大侠狂想曲》修改器:内存修改、加速与一键安装全攻略

游戏修改器是玩家优化游戏体验的常用工具,其核心原理是通过内存修改技术,在游戏进程运行时动态改写数值。常见实现路径是借助Cheat Engine扫描并追踪数据地址,再通过编程语言调用系统API完成读写。这种技术能有效解决重复刷资源带来的枯燥感,特别适用于单机RPG中想快速体验多剧情线却不想重刷资源的情形。本文以《大侠狂想曲》为例,完整拆解了从CE定位金钱与好感度内存地址,到编写C#脚本实现游戏加速、一键增加铜钱与NPC好感度,再到用Inno Setup打包生成一键安装器的全过程,并总结了数值弹回、剧情不触发、

weixin_30368981的博客 1470

实用简约的JAVA注释标签-高手必备

大家在开发中写JAVA注释谁都会,不会一般写得少或者随便写,其实这是习惯问题,与开发进度无关。养成良好的习惯会觉得写出来的代码很专业,很有成就感 。最近看开源框架里面的JAVA注释。觉得很有意思。做下记录: 通常注释包括以下几个部分: 功能描述,参数,作者,版本,看另一方法 参数:@param 作者: @author Administrator 版本:@version

Coder Jiang 4150

Matplotlib图片尺寸调整全攻略:从figsize到savefig的实战技巧

在数据可视化与科学计算中,图形尺寸控制是影响图表可读性与专业度的基础环节。其核心原理在于协调逻辑尺寸(英寸)与物理输出(像素)的映射关系,这直接决定了信息呈现的清晰度与布局合理性。从技术价值看,精准的尺寸控制能提升图表在不同媒介(如学术论文、报告、网页)中的适配性,避免显示不全、模糊失真等常见问题。在应用场景上,无论是Jupyter Notebook中的交互探索、自动化报告的批量生成,还是满足严格出版要求的插图制作,都需要掌握对应的尺寸调整策略。本文聚焦于matplotlib中的figsize参数、rcPa

weixin_30899023的博客 330

Java的三种代理模式

Java的三种代理模式

m0_73533108的博客 775

[UVM]UVM TLM2.0简介及应用实例分析

本文介绍了TLM2.0在UVM中的实现与应用。TLM2.0作为SystemC模型间的核心传输机制,相比TLM1.0提供了更丰富的特性,包括双向阻塞/非阻塞接口、时间标记和统一数据包。文章详细解析了TLM2.0在UVM中的接口实现方式,包括socket类型定义、数据传输机制以及时间标记处理。通过一个具体实例,展示了如何在UVM组件中使用TLM2.0的initiator和target socket进行数据传输,并说明了标准数据包格式和精确时间标记的优势。最后指出TLM2.0在UVM中的实现主要是为了与Syste

元直的博客 5398

基于Simulink的轨道交通信号控制系统仿真详细介绍

轨道交通信号控制系统是确保列车安全、高效运行的核心技术。通过Simulink进行信号控制系统的仿真,可以验证系统的设计、优化调度策略并提高安全性。以下是如何在MATLAB和Simulink中设计并仿真一个轨道交通信号控制系统的详细步骤。通过上述步骤,我们成功设计并实现了基于Simulink的轨道交通信号控制系统仿真。该系统能够根据列车位置、速度和轨道状态生成控制指令,确保列车的安全、高效运行。通过虚拟场景仿真、硬件在环测试和实机测试,验证了系统的性能,并通过参数优化进一步提升了系统的可靠性。引入智能调度。

xiaoheshang_123的博客 462

Java 注释技巧【总结的不错】

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34021089的博客 265

10、现代统计方法:趋势面分析、薄板样条与广义线性模型

本文系统介绍了空间预测建模中的三种现代统计方法:趋势面分析(TSA)、薄板样条(TPS)和广义线性模型(GLM)。详细阐述了每种方法的原理、实现步骤、参数优化与预测评估,并结合R语言代码示例展示了在实际数据中的应用。文章还提供了方法对比流程图与土壤湿度预测案例,帮助读者根据数据特征选择合适模型,提升空间预测的准确性与可靠性。

play7的博客 157

java经典代码及注释_Java 注释技巧【总结的不错】

Java 注释技巧在最初学习Android时候使用了Eclips IDE工具,编写java程序时,总是要添加一些注释,用以说明某段代码的作用,由于是从C过度来的,也没有太在意java的注释有何不同,将鼠标移动到Android sdk 提供的类、方法、属性上时总会有提示信息,而且弹出的提示信息就是代码注释,不同的是有一些特殊的符号,随着工程代码量的不断增加,文档注释的重要性日渐凸显,索性学习下Jav...

weixin_36028920的博客 745

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

VSCode添加Python、Java注释技巧、模板

代码注释是提升开发效率的关键工具。本文介绍了在VSCode中设置Java和Python注释模板的方法,包括:1)JavaDoc自动生成与自定义模板设置;2)Python函数和文件注释模板的创建;3)通过用户代码片段(User Snippets)实现快速注释。合理的注释能提高代码可读性、降低维护成本并促进团队协作。文中提供了具体配置示例,如Java方法注释模板包含作者、日期等字段,Python文档字符串模板支持参数说明等功能。这些技巧能帮助开发者建立规范的注释习惯,提升开发效率。

专注大数据、云计算、人工智能、机器人领域技术传播 1491

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

java 有趣注释_Java8 中有趣酷炫的小技巧

https://mp.weixin.qq.com/s/ZlbcfT-fUoVEctSqBeZWcgJava8 中有趣酷炫的小技巧执行注释大多数开发人员认为注释永远不会在程序中执行,并用于帮助代码理解。但是,它们却可以被执行:publicclassMain{publicstaticvoidmain(String[]args){//\u000dSystem.out.println...

weixin_29085865的博客 349

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

java注释的一些小技巧

收集和总结

WYZSC的专栏 980

Java注释技巧=注释开关

[code="java"] // 注释作为代码切换开关,用于临时测试屏蔽某些代码。 例一: //*/ codeSegement1; //*/ 改动第一行就成了: /*/ codeSegement1; //*/ 例二: //----------------------第一段有效,第二段被注释 //*/ codeSegement1; /*/ cod...

快乐每一天 472

java 自动注释,大师分享java技巧-自动注释方法

电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到java技巧-自动注释方法的问题,如果我们遇到了java技巧-自动注释方法的情况,该怎么处理怎么才能解决java技巧-自动注释方法带来的困扰呢,对于这样的问题其实我们只需要eclipse下图中红色箭头指示方法还没有创建,如下图:点击创建之后会自动在对应的类中创建一个方法,但是这个方法没有注释,以后看代码的会很不方便,如...

weixin_33577989的博客 600

多行注释小技巧

[code="java"] //从Lua注释中学到一个小技巧同样适用于Java及其他语言 --[[ 注释内容 --]] public class Client { public static void main(String arg[]){ /* 单斜杠开启多行注释 System.out.println("hello world"); //*/ ...

iteye_7870的博客 212

JAVA注释技巧 西安尚学堂

1、空行和空白字符也是一种特殊注释。利用缩进和空行,使代码与注释容易区别,并协调美观。 2、当代码比较长,特别是有多重嵌套时,为了使层次清晰,应当在一些段落的结束处加注释(在闭合的右花括号后注释该闭合所对应的起点),注释不能写得很长,只要能表示是哪个控制语句控制范围的结束即可,这样便于阅读。 3、将注释与注释分隔符用一个空格分开,在没有颜色提示的情况下查看注释时,这样做会使注释很明显且容易被找到。...

qq_45557294的博客 194

Java的注释

Java的注释 注释在代码中的重要性: 在代码工程中,维修和精进代码是必不可少的,而此时注释便发挥了重要作用,可以节约大量的时间和人力。因此代码常常是给相关技术人员看的。 1.便于阅读 2.方便查错 一、注释分为三种: 1.单行注释(不会在help的文档中显示注释内容) //注释文字 2.多行注释(同样不会在help文档中显示注释内容) /* *注释 *文字 */ 3.文档注释: /...

weixin_42768282的博客 175

Java小技巧记录——IDEA中对文件添加注释

它其实就是在项目根目录下新建了个xml来记录,组内把这个加入到版本库,安装了这个插件的同学就都能看到文件注释了。这样,看到项目内一堆奇奇怪怪的文件,大家不至于一头雾水。项目的文件/文件夹,都可以添加注释,即下图中这个效果。使用插件TreeInfotip。1.1 IDEA插件安装。

weixin_56344557的博客 1173
上一篇: android JNI 经验分享
下一篇: Svn Git hooks scripts(版本管理工具的挂钩脚本)
北半球校尉
博客等级 码龄17年 15粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值