当前位置: 首页 > news >正文

idea 配置checkstyle全过程

checkstyle是提高代码质量,检查代码规范的很好用的一款工具,本文简单介绍一下集成的步骤,并提供一份完整的checkstyle的代码规范格式文件,以及常见的格式问题的解决方法。

一,安装

打开idea的文件选项,选择设置,进入后选择插件,搜索checkstyle,安装,安装后重启idea。

二,格式文件

在项目的根目录下新建checkstyle.xml文件

<?xml version="1.0"?>
<!DOCTYPE module PUBLIC"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN""https://checkstyle.org/dtds/configuration_1_3.dtd"><!--Checkstyle configuration that checks the Google coding conventions from Google Java Stylethat can be found at https://google.github.io/styleguide/javaguide.htmlCheckstyle is very configurable. Be sure to read the documentation athttp://checkstyle.org (or in your downloaded distribution).To completely disable a check, just comment it out or delete it from the file.To suppress certain violations please review suppression filters.Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov.--><module name="Checker"><module name="SuppressWarningsFilter"/><property name="charset" value="UTF-8"/><property name="severity" value="warning"/><property name="fileExtensions" value="java, properties, xml"/><!-- Excludes all 'module-info.java' files              --><!-- See https://checkstyle.org/filefilters/index.html --><module name="BeforeExecutionExclusionFileFilter"><property name="fileNamePattern" value="module\-info\.java$"/></module><!-- https://checkstyle.org/filters/suppressionfilter.html --><module name="SuppressionFilter"><property name="file" value="${org.checkstyle.google.suppressionfilter.config}"default="checkstyle-suppressions.xml"/><property name="optional" value="true"/></module><!-- Checks for whitespace                               --><!-- See http://checkstyle.org/checks/whitespace/index.html --><module name="FileTabCharacter"><property name="eachLine" value="true"/></module><module name="LineLength"><property name="fileExtensions" value="java"/><property name="max" value="100"/><property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/></module><module name="TreeWalker"><module name="OuterTypeFilename"/><module name="IllegalTokenText"><property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/><property name="format"value="\\u00(09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/><property name="message"value="Consider using special escape sequence instead of octal value or Unicode escaped value."/></module><module name="AvoidEscapedUnicodeCharacters"><property name="allowEscapesForControlCharacters" value="true"/><property name="allowByTailComment" value="true"/><property name="allowNonPrintableEscapes" value="true"/></module><module name="AvoidStarImport"/><module name="OneTopLevelClass"/><module name="NoLineWrap"><property name="tokens" value="PACKAGE_DEF, IMPORT, STATIC_IMPORT"/></module><module name="EmptyBlock"><property name="option" value="TEXT"/><property name="tokens"value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/></module><module name="NeedBraces"><property name="tokens"value="LITERAL_DO, LITERAL_ELSE, LITERAL_FOR, LITERAL_IF, LITERAL_WHILE"/></module><module name="LeftCurly"><property name="tokens"value="ANNOTATION_DEF, CLASS_DEF, CTOR_DEF, ENUM_CONSTANT_DEF, ENUM_DEF,INTERFACE_DEF, LAMBDA, LITERAL_CASE, LITERAL_CATCH, LITERAL_DEFAULT,LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF,LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, METHOD_DEF,OBJBLOCK, STATIC_INIT, RECORD_DEF, COMPACT_CTOR_DEF"/></module><module name="RightCurly"><property name="id" value="RightCurlySame"/><property name="tokens"value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE,LITERAL_DO"/></module><module name="RightCurly"><property name="id" value="RightCurlyAlone"/><property name="option" value="alone"/><property name="tokens"value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT,INSTANCE_INIT, ANNOTATION_DEF, ENUM_DEF, INTERFACE_DEF, RECORD_DEF,COMPACT_CTOR_DEF, LITERAL_SWITCH"/></module><module name="SuppressionXpathSingleFilter"><!-- suppresion is required till https://github.com/checkstyle/checkstyle/issues/7541 --><property name="id" value="RightCurlyAlone"/><property name="query" value="//RCURLY[parent::SLIST[count(./*)=1]or preceding-sibling::*[last()][self::LCURLY]]"/></module><module name="WhitespaceAfter"><property name="tokens"value="COMMA, SEMI, TYPECAST, LITERAL_IF, LITERAL_ELSE, LITERAL_RETURN,LITERAL_WHILE, LITERAL_DO, LITERAL_FOR, LITERAL_FINALLY, DO_WHILE, ELLIPSIS,LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_CATCH, LAMBDA,LITERAL_YIELD, LITERAL_CASE"/></module><module name="WhitespaceAround"><property name="allowEmptyConstructors" value="true"/><property name="allowEmptyLambdas" value="true"/><property name="allowEmptyMethods" value="true"/><property name="allowEmptyTypes" value="true"/><property name="allowEmptyLoops" value="true"/><property name="ignoreEnhancedForColon" value="false"/><property name="tokens"value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR,BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, DO_WHILE, EQUAL, GE, GT, LAMBDA, LAND,LCURLY, LE, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY,LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SWITCH, LITERAL_SYNCHRONIZED,LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN,NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR,SR_ASSIGN, STAR, STAR_ASSIGN, LITERAL_ASSERT, TYPE_EXTENSION_AND"/><message key="ws.notFollowed"value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocksmay only be represented as '{}' when not part of a multi-block statement (4.1.3)"/><message key="ws.notPreceded"value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/></module><module name="OneStatementPerLine"/><module name="MultipleVariableDeclarations"/><module name="ArrayTypeStyle"/><module name="MissingSwitchDefault"/><module name="FallThrough"/><module name="UpperEll"/><module name="ModifierOrder"/><module name="EmptyLineSeparator"><property name="tokens"value="PACKAGE_DEF, IMPORT, STATIC_IMPORT, CLASS_DEF, INTERFACE_DEF, ENUM_DEF,STATIC_INIT, INSTANCE_INIT, METHOD_DEF, CTOR_DEF, VARIABLE_DEF, RECORD_DEF,COMPACT_CTOR_DEF"/><property name="allowNoEmptyLineBetweenFields" value="true"/></module><module name="SeparatorWrap"><property name="id" value="SeparatorWrapDot"/><property name="tokens" value="DOT"/><property name="option" value="nl"/></module><module name="SeparatorWrap"><property name="id" value="SeparatorWrapComma"/><property name="tokens" value="COMMA"/><property name="option" value="EOL"/></module><module name="SeparatorWrap"><!-- ELLIPSIS is EOL until https://github.com/google/styleguide/issues/259 --><property name="id" value="SeparatorWrapEllipsis"/><property name="tokens" value="ELLIPSIS"/><property name="option" value="EOL"/></module><module name="SeparatorWrap"><!-- ARRAY_DECLARATOR is EOL until https://github.com/google/styleguide/issues/258 --><property name="id" value="SeparatorWrapArrayDeclarator"/><property name="tokens" value="ARRAY_DECLARATOR"/><property name="option" value="EOL"/></module><module name="SeparatorWrap"><property name="id" value="SeparatorWrapMethodRef"/><property name="tokens" value="METHOD_REF"/><property name="option" value="nl"/></module><module name="PackageName"><property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/><message key="name.invalidPattern"value="Package name ''{0}'' must match pattern ''{1}''."/></module><module name="TypeName"><property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF,ANNOTATION_DEF, RECORD_DEF"/><message key="name.invalidPattern"value="Type name ''{0}'' must match pattern ''{1}''."/></module><module name="MemberName"><property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/><message key="name.invalidPattern"value="Member name ''{0}'' must match pattern ''{1}''."/></module><module name="ParameterName"><property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/><message key="name.invalidPattern"value="Parameter name ''{0}'' must match pattern ''{1}''."/></module><module name="LambdaParameterName"><property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/><message key="name.invalidPattern"value="Lambda parameter name ''{0}'' must match pattern ''{1}''."/></module><module name="CatchParameterName"><property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/><message key="name.invalidPattern"value="Catch parameter name ''{0}'' must match pattern ''{1}''."/></module><module name="LocalVariableName"><property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/><message key="name.invalidPattern"value="Local variable name ''{0}'' must match pattern ''{1}''."/></module><module name="PatternVariableName"><property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/><message key="name.invalidPattern"value="Pattern variable name ''{0}'' must match pattern ''{1}''."/></module><module name="ClassTypeParameterName"><property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/><message key="name.invalidPattern"value="Class type name ''{0}'' must match pattern ''{1}''."/></module><module name="RecordComponentName"><property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/><message key="name.invalidPattern"value="Record component name ''{0}'' must match pattern ''{1}''."/></module><module name="RecordTypeParameterName"><property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/><message key="name.invalidPattern"value="Record type name ''{0}'' must match pattern ''{1}''."/></module><module name="MethodTypeParameterName"><property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/><message key="name.invalidPattern"value="Method type name ''{0}'' must match pattern ''{1}''."/></module><module name="InterfaceTypeParameterName"><property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/><message key="name.invalidPattern"value="Interface type name ''{0}'' must match pattern ''{1}''."/></module><module name="NoFinalizer"/><module name="GenericWhitespace"><message key="ws.followed"value="GenericWhitespace ''{0}'' is followed by whitespace."/><message key="ws.preceded"value="GenericWhitespace ''{0}'' is preceded with whitespace."/><message key="ws.illegalFollow"value="GenericWhitespace ''{0}'' should followed by whitespace."/><message key="ws.notPreceded"value="GenericWhitespace ''{0}'' is not preceded with whitespace."/></module><module name="Indentation"><property name="basicOffset" value="4"/><property name="braceAdjustment" value="2"/><property name="caseIndent" value="2"/><property name="throwsIndent" value="4"/><property name="lineWrappingIndentation" value="4"/><property name="arrayInitIndent" value="2"/></module><module name="AbbreviationAsWordInName"><property name="ignoreFinal" value="false"/><property name="allowedAbbreviationLength" value="0"/><property name="tokens"value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, ANNOTATION_DEF, ANNOTATION_FIELD_DEF,PARAMETER_DEF, VARIABLE_DEF, METHOD_DEF, PATTERN_VARIABLE_DEF, RECORD_DEF,RECORD_COMPONENT_DEF"/></module><module name="NoWhitespaceBeforeCaseDefaultColon"/><module name="OverloadMethodsDeclarationOrder"/><module name="VariableDeclarationUsageDistance"/><module name="CustomImportOrder"><property name="sortImportsInGroupAlphabetically" value="true"/><property name="separateLineBetweenGroups" value="true"/><property name="customImportOrderRules" value="STATIC###THIRD_PARTY_PACKAGE"/><property name="tokens" value="IMPORT, STATIC_IMPORT, PACKAGE_DEF"/></module><module name="MethodParamPad"><property name="tokens"value="CTOR_DEF, LITERAL_NEW, METHOD_CALL, METHOD_DEF,SUPER_CTOR_CALL, ENUM_CONSTANT_DEF, RECORD_DEF"/></module><module name="NoWhitespaceBefore"><property name="tokens"value="COMMA, SEMI, POST_INC, POST_DEC, DOT,LABELED_STAT, METHOD_REF"/><property name="allowLineBreaks" value="true"/></module><module name="ParenPad"><property name="tokens"value="ANNOTATION, ANNOTATION_FIELD_DEF, CTOR_CALL, CTOR_DEF, DOT, ENUM_CONSTANT_DEF,EXPR, LITERAL_CATCH, LITERAL_DO, LITERAL_FOR, LITERAL_IF, LITERAL_NEW,LITERAL_SWITCH, LITERAL_SYNCHRONIZED, LITERAL_WHILE, METHOD_CALL,METHOD_DEF, QUESTION, RESOURCE_SPECIFICATION, SUPER_CTOR_CALL, LAMBDA,RECORD_DEF"/></module><module name="OperatorWrap"><property name="option" value="NL"/><property name="tokens"value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR,LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR, METHOD_REF,TYPE_EXTENSION_AND "/></module><module name="AnnotationLocation"><property name="id" value="AnnotationLocationMostCases"/><property name="tokens"value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF,RECORD_DEF, COMPACT_CTOR_DEF"/></module><module name="AnnotationLocation"><property name="id" value="AnnotationLocationVariables"/><property name="tokens" value="VARIABLE_DEF"/><property name="allowSamelineMultipleAnnotations" value="true"/></module><module name="NonEmptyAtclauseDescription"/><module name="InvalidJavadocPosition"/><module name="JavadocTagContinuationIndentation"/><module name="SummaryJavadoc"><property name="forbiddenSummaryFragments"value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/></module><module name="JavadocParagraph"/><module name="RequireEmptyLineBeforeBlockTagGroup"/><module name="AtclauseOrder"><property name="tagOrder" value="@param, @return, @throws, @deprecated"/><property name="target"value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/></module><module name="JavadocMethod"><property name="accessModifiers" value="public"/><property name="allowMissingParamTags" value="true"/><property name="allowMissingReturnTag" value="true"/><property name="allowedAnnotations" value="Override, Test"/><property name="tokens" value="METHOD_DEF, CTOR_DEF, ANNOTATION_FIELD_DEF, COMPACT_CTOR_DEF"/></module><module name="MissingJavadocMethod"><property name="scope" value="public"/><property name="minLineCount" value="2"/><property name="allowedAnnotations" value="Override, Test"/><property name="tokens" value="METHOD_DEF, CTOR_DEF, ANNOTATION_FIELD_DEF,COMPACT_CTOR_DEF"/></module><module name="MissingJavadocType"><property name="scope" value="protected"/><property name="tokens"value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF,RECORD_DEF, ANNOTATION_DEF"/><property name="excludeScope" value="nothing"/></module><module name="MethodName"><property name="format" value="^[a-z][a-z0-9]\w*$"/><message key="name.invalidPattern"value="Method name ''{0}'' must match pattern ''{1}''."/></module><module name="SingleLineJavadoc"/><module name="EmptyCatchBlock"><property name="exceptionVariableName" value="expected"/></module><module name="CommentsIndentation"><property name="tokens" value="SINGLE_LINE_COMMENT, BLOCK_COMMENT_BEGIN"/></module><!-- https://checkstyle.org/filters/suppressionxpathfilter.html --><module name="SuppressionXpathFilter"><property name="file" value="${org.checkstyle.google.suppressionxpathfilter.config}"default="checkstyle-xpath-suppressions.xml"/><property name="optional" value="true"/></module><module name="SuppressWarningsHolder"/><module name="SuppressionCommentFilter"><property name="offCommentFormat" value="CHECKSTYLE.OFF\: ([\w\|]+)"/><property name="onCommentFormat" value="CHECKSTYLE.ON\: ([\w\|]+)"/><property name="checkFormat" value="$1"/></module><module name="SuppressWithNearbyCommentFilter"><property name="commentFormat" value="CHECKSTYLE.SUPPRESS\: ([\w\|]+)"/><!-- $1 refers to the first match group in the regex defined in commentFormat --><property name="checkFormat" value="$1"/><!-- The check is suppressed in the next line of code after the comment --><property name="influenceFormat" value="1"/></module></module>
</module>

三,应用检查

1,打开设置--》工具--》Checkstyle

2,新增一个配置文件,并勾上

3,运行检查


四,常见格式问题的解决方法

1,==两边加空格


2,注释后面加句号


3,参数后面加上nonull


4,@param前面空一行
 
5,if后面要空格


6,参数里逗号后有空格

码字不易,记得点赞关注哟!

相关文章:

idea 配置checkstyle全过程

checkstyle是提高代码质量,检查代码规范的很好用的一款工具&#xff0c;本文简单介绍一下集成的步骤&#xff0c;并提供一份完整的checkstyle的代码规范格式文件&#xff0c;以及常见的格式问题的解决方法。 一&#xff0c;安装 打开idea的文件选项&#xff0c;选择设置&…...

小程序如何设置自动使用物流账号发货

小程序支持自动使用物流账号发货并生成运单号。商家需要与物流公司合作&#xff0c;获取物流账号&#xff0c;支持快递物流和同城外卖配送平台。具体方法请参考公众号之前发布的文章&#xff0c;例如可以搜索“快递账号”。 导入物流账号后&#xff0c;在小程序管理员后台->…...

高性能渲染——详解Html Canvas的优势与性能

本文由葡萄城技术团队原创并首发。转载请注明出处&#xff1a;葡萄城官网&#xff0c;葡萄城为开发者提供专业的开发工具、解决方案和服务&#xff0c;赋能开发者。 一、什么是Canvas 想必学习前端的同学们对Canvas 都不陌生&#xff0c;它是 HTML5 新增的“画布”元素&#x…...

2023.10 各个编程语言 受欢迎指数 排行

目录 一、前言: 二、排行: 三、趋势: 四、历史排名: 五、名人堂: 一、前言: 来自tiobe...

『PyQt5-基本控件』| 15 如何设置主窗口居中?退出应用程序如何操作?

15 如何设置主窗口居中?退出应用程序如何操作? 1 如何实现主窗口居中显示?1.1 获取屏幕坐标1.2 获取窗口坐标1.3 居中计算1.4 移动位置1.5 完整代码1.6 效果演示2 如何退出应用程序?2.1 使用按钮退出2.2 信号与槽绑定2.3 布局和增加按钮2.4 定义一个按钮事件2.5 完整代码2.…...

scrapy+selenium框架模拟登录

目录 一、cookie和session实现登录原理 二、模拟登录方法-Requests模块Cookie实现登录 三、cookiesession实现登录并获取数据 四、selenium使用基本代码 五、scrapyselenium实现登录 一、cookie和session实现登录原理 cookie:1.网站持久保存在浏览器中的数据2.可以是长期…...

【实验五】题解

T1&#xff1a;缺失的数字 题目描述; 我是敦立坤的爹&#xff01;&#xff01;&#xff01; 一个整数集合中含有n个数字&#xff0c;每个数字都在0n之间。假设0n的n1个数字中有且仅有一个数字不在该集合中&#xff0c;请找出这个数字。 分析&#xff1a; 这里引用一个桶的思…...

Android开发知识学习——Kotlin基础

函数声明 声明函数要用用 fun 关键字&#xff0c;就像声明类要用 class 关键字一样 「函数参数」的「参数类型」是在「参数名」的右边 函数的「返回值」在「函数参数」右边使用 : 分隔&#xff0c;没有返回值时可以省略 声明没有返回值的函数&#xff1a; fun main(){println…...

C++——定义一个 Book(图书)类

完整代码&#xff1a; /*定义一个 Book(图书)类&#xff0c;在该类定义中包括数据成员和成员函数 数据成员&#xff1a;book_name &#xff08;书名&#xff09;、price(价格)和 number(存书数量)&#xff1b; 成员函数&#xff1a;display()显示图书的 情况&#xff1b;borro…...

深度学习之基于YoloV5的道路地面缺陷检测系统(UI界面)

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、道路地面缺陷检测系统四. 总结 一项目简介 基于YoloV5的道路地面缺陷检测系统利用深度学习中的目标检测算法&#xff0c;特别是YoloV5算法&am…...

AcWing94. 递归实现排列型枚举:输出1~n的全排列

题目 把 1∼ n n n 这 n n n 个整数排成一行后随机打乱顺序&#xff0c;输出所有可能的次序。 输入格式 一个整数 n n n。 输出格式 按照从小到大的顺序输出所有方案&#xff0c;每行 1 个。 首先&#xff0c;同一行相邻两个数用一个空格隔开。 其次&#xff0c;对于两…...

神经网络多种注意力机制原理和代码讲解

多种注意力表格&#xff1a; 大神参考仓库链接&#xff1a; 魔鬼面具 对应 name 就是目录&#xff0c;点击即可跳转到对应学习。 nameneed_chaneelpaper SE (2017) Truehttps://arxiv.org/abs/1709.01507 BAM (2018) Truehttps://arxiv.org/pdf/1807.06514.pdf CBAM (2018) Tr…...

前端HTML

文章目录 一、什么是前端前端后端 前端三剑客1.什么是HTML2.编写前端的步骤1.编写服务端2.浏览器充当客户端访问服务端​ 3.浏览器无法正常展示服务端内容(因为服务端的数据没有遵循标准)4.HTTP协议>>>:最主要的内容就是规定了浏览器与服务端之间数据交互的格式 3. 前…...

Jenkins安装(Jenkins 2.429)及安装失败解决(Jenkins 2.222.4)

敏捷开发与持续集成 敏捷开发 敏捷开发以用户的需求进化为核心&#xff0c;采用迭代、循序渐进的方法进行软件开发。在敏捷开发中&#xff0c;软件项目在构建初期被切分成多个子项目&#xff0c;各个子项目的成果都经过测试&#xff0c;具备可视、可集成和可运行使用的特征。…...

vue中哪些数组操作可以重排

以下是Vue中可以重排数组的常用方法的示例&#xff1a; push()&#xff1a;在数组末尾添加一个或多个元素 // 初始化数组 let myArray [1, 2, 3]; // 在数组末尾添加一个元素4 myArray.push(4); console.log(myArray); // [1, 2, 3, 4] // 在数组末尾添加多个元素5和6 myArr…...

订单创建订单确认、收货创建收货确认取消收货、生成库存和领用单发料

本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:山JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(注明:作者:王文…...

yolox转rknn

使用瑞芯微版本的yolox&#xff1a;https://github.com/airockchip/YOLOXpip install torch1.8.1 torchvision0.9.1 torchaudio0.8.1 --no-cache -i https://pypi.tuna.tsinghua.edu.cn/simplepip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --…...

llava1.5模型安装、预测、训练详细教程

引言 本博客介绍LLava1.5多模态大模型的安装教程、训练教程、预测教程&#xff0c;也会涉及到hugging face使用与wandb使用。 源码链接:点击这里 demo链接:点击这里 论文链接:点击这里 一、系统环境 ubuntu 20.04 gpu: 2*3090 cuda:11.6 二、LLava环境安装 1、代码下载…...

一个ppt带你读懂网络安全行业四大顶会之一的ndss论文<<Large Language Model guided Protocol Fuzzing>>

论文下载地址&#xff1a; Large Language Model guided Protocol Fuzzing...

ajax调用springboot后台接口

工具 api测试工具 由于后台接口不是同一个团队编写的&#xff0c;在文档缺失的情况下&#xff0c;需要测试后台接口接收参数类型&#xff0c;可以使用这个工具&#xff0c;注册很方便 页面如下所示&#xff0c;可以选择请求方法是get&#xff0c;或者post 重点介绍两种&…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架&#xff0c;专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用&#xff0c;其中包含三个使用通用基本模板的页面。在此…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定&#xff0c;这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中&#xff0c;积分电荷法最为常用&#xff0c;其原理是通过测量在电容器上积累的热释电电荷&#xff0c;从而确定热释电系数…...