Java基础 Day28 完结篇

news2025/6/6 15:36:45

一、方法引用

对 Lambda 表达式的进一步简化

方法引用使用一对冒号 ::

Tips:静态方法用类名加双冒号,非静态方法用对象名加双冒号

通过方法的名字来指向一个方法

参数可推导即可省略

可以使语言的构造更紧凑简洁,减少冗余代码

二、单元测试

1、简介

针对最小的功能单元(方法),编写测试代码对其正确性进行测试

JUnit 是最流行的Java测试框架之一,提供一些功能,方便进行单元测试(第三方提供)

2、主方法测试的弊端

测试代码与源代码未分开,难维护

如果一个方法测试失败,会影响后面方法的测试

无法通过自动化测试得到测试报告

3、JUnit 单元测试的优点

可以选择执行一个测试方法,或执行全部测试方法

可以自动生成测试报告

一个测试方法执行失败,不会影响其它测试方法

4、基本操作步骤

在需要测试的方法上, 加入 @Test 注解

在有外部网络的情况下根据提示敲回车

运行,绿色(正确) 红色(错误)

Tips:JUnit 单元测试类名命名规范为:XxxxxTest;

JUni t单元测试的方法,必须声明为 public void 且不能有参数

三、XML

1、简介

可扩展标记语言(Extensible Markup Language)

标签可以自行指定,只要是合法的标识符即可

常用于当作配置文件来存储数据

2、基本语法

(1)创建一个XML类型的文件,要求文件的后缀必须使用xml,如 hello_world.xml

(2)编写文档声明 (必须是第一行第一列)

<?xml version="1.0" encoding="UTF-8" ?>

(3)编写根标签 (必须存在一个根标签,有且只能有一个) 标签必须成对出现

<student> </student>

(4)特殊的标签可以不成对,但是必须有结束标记 <address/>

(5)标签中可以定义属性,属性和标签名空格隔开,属性值必须用引号引起来 <student id="1"> </student>

(6)标签需要正确的嵌套

3、XML 约束

用来限定一个 XML 文件中可以使用的标签和属性

(1)dtd 约束

创建一个文件,这个文件的后缀名为.dtd

看xml文件中使用了哪些元素,<!ELEMENT> 可以定义元素

引入 dtd 约束:

(2)schema 约束

和 dtd 的区别

编写步骤:

引入 XML 约束

<students xmlns:xsi="http://www.o3.org/2001/XMLSchema-instance"
        xmlns="http://wwww.aaa.com"
        xsi:schemaLocation="http://wwww.aaa.com stu.xsd"
>

</students>

4、XML 解析

(1)SAX 解析: 不会把整体的xml文件都加载到内存,而是从上往下逐行进行扫描

缺点:只能读取,不能添加,不能删除

优点:因为他是逐行扫描不需要把整体的xmi文件都加载到内存,所以他可以解析比较大的xml文件

(2)DOM 解析: 会把整体的xml文件都加载到内存,形成树形结构,通过这个树形结构去解析xml文件

优点:可以读取,可以添加,可以删除

缺点:需要xml文件全部加载到内存,所以不能解析非常大的xml文件

常用 Dom4j 进行解析

四、注解

1、简介

注解的主要作用是对程序进行标注

注释是给人看的,但注解是给虚拟机看的

注解可以给类或方法增加额外的信息

编译器或JVM可以根据注解来完成对应功能

2、常见注解

@Override:表示方法的重写

@Deprecated:表示修饰的方法已过时

@SuppressWarnings("all"):压制警告

3、自定义注解

一般和反射一起使用,单独存在意义不大

public @interface 注解名称 {
    public 属性类型 属性名() default 默认值;
}

public @interface myAnno {
    String show() default "show...";
}

属性的类型:基本数据类型、String、字节码对象、注解、枚举、以上类型的一维数组

注意事项

  • 在使用注解时, 如果注解的属性没有给出默认值,需要手动给出
  • @Anno(name="张三")
  • 如果数组中只有一个属性值,在使用时{}是可以省略的
  • 定义注解中如果有多个属性没有赋值,使用时需要全部赋值
  • 如果只有一个属性名字为value没有赋值,使用时直接给出值,不需要写属性名

4、元注解

用在注解上的注解

(1)@Target: 用来标识注解使用的位置

如果没有使用该注解标识,则自定义的注解可以使用在任意位置

可使用的值定义在 ElementType 枚举类中,常用值如下

  • TYPE   类,接口
  • FIELD  成员变量
  • METHOD 成员方法
  • PARAMETER 方法参数
  • CONSTRUCTOR 构造方法
  • LOCAL_VARIABLE 局部变量

(2)@Retention:用来标识注解的生命周期(有效范围)

可使用的值定义在 RetentionPolicy 枚举类中,常用值如下

  • SOURCE:注解只作用在源码阶段,生成的字节码文件中不存在
  • CLASS:注解作用在源码阶段,字节码文件阶段,运行阶段不存在,默认值
  • RUNTIME:注解作用在源码阶段,字节码文件阶段,运行阶段

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Git 极简使用指南

Git 是一个强大的分布式版本控制系统&#xff0c;但入门只需要掌握几个核心概念和命令。本指南旨在帮助你快速上手&#xff0c;处理日常开发中最常见的 80% 的场景。 核心概念 仓库 (Repository / Repo): 你的项目文件夹&#xff0c;包含了项目的所有文件和完整的历史记录。…

力扣刷题Day 69:搜索二维矩阵(74)

1.题目描述 2.思路 首先判断target是否有可能在矩阵的某一行里&#xff0c;没可能直接返回False&#xff0c;有可能就在这一行里二分查找。 3.代码&#xff08;Python3&#xff09; class Solution:def searchMatrix(self, matrix: List[List[int]], target: int) -> boo…

MySQL指令个人笔记

MySQL学习&#xff0c;SQL语言笔记 一、MySQL 1.1 启动、停止 启动 net start mysql83停止 net stop mysql831.2 连接、断开 连接 mysql -h localhost -P 3306 -u root -p断开 exit或者ctrlc 二、DDL 2.1 库管理 2.1.1 直接创建库 使用默认字符集和排序方式&#xf…

2022年 国内税务年鉴PDF电子版Excel

2022年 国内税务年鉴PDF电子版Excelhttps://download.csdn.net/download/2401_84585615/89784658 https://download.csdn.net/download/2401_84585615/89784658 2022年国内税务年鉴是对中国税收政策、税制改革和税务管理实践的全面总结。这份年鉴详细记录了中国税收系统的整体状…

基于Java的OPCDA采集中间件

1.软件功能及技术特点简介&#xff1a; 软件功能及技术特点简介&#xff1a; OPCDA是基于Java语言开发的OPC client&#xff08;OPC客户端&#xff09;跨平台中间件软件&#xff0c;他支持OPC SERVER的OPC DA1.0/2.0/3.0。OPCDA实时采集数据&#xff08;包括实时数据、报警数…

vue2 项目中 npm run dev 运行98% after emitting CopyPlugin 卡死

今天在运行项目时&#xff0c;发现如下问题&#xff1a; 开始以为是node_modules依赖的问题&#xff0c;于是重新 npm install&#xff0c;重启项目后还是未解决。 在网上找了一圈发现有人说是 require引入图片地址没有写。在我的项目中排查没有这个问题&#xff0c;最后发现某…

JavaScript 性能优化实战:从原理到框架的全栈优化指南

在 Web 应用复杂度指数级增长的今天&#xff0c;JavaScript 性能优化已成为衡量前端工程质量的核心指标。本文将结合现代浏览器引擎特性与一线大厂实践经验&#xff0c;构建从基础原理到框架定制的完整优化体系&#xff0c;助你打造高性能 Web 应用。 一、性能优化基础&#x…

2025年- H61-Lc169--74.搜索二维矩阵(二分查找)--Java版

1.题目描述 2.思路 方法一&#xff1a; 定义其实坐标&#xff0c;右上角的元素&#xff08;0&#xff0c;n-1&#xff09;。进入while循环&#xff08;注意边界条件&#xff0c;行数小于m&#xff0c;列数要&#xff1e;0&#xff09;从右上角开始开始向左遍历&#xff08;比当…

【黄金评论】美元走强压制金价:基于NLP政策因子与ARIMA-GARCH的联动效应解析

一、基本面&#xff1a;多因子模型解析黄金承压逻辑 1. 政策冲击因子驱动美元强势 通过NLP模型对关税政策文本进行情感分析&#xff0c;构建政策不确定性指数&#xff08;PUI&#xff09;达89.3&#xff0c;触发美元避险需求溢价。DSGE模型模拟显示&#xff0c;钢铁关税上调至…

Flink进阶之路:解锁大数据处理新境界

目录 一、Flink 基础回顾 二、Flink 进阶知识深入 2.1 数据类型与序列化 2.2 双流 Join 操作 2.3 复杂事件处理&#xff08;CEP&#xff09; 2.4 状态管理与优化 三、Flink 在实际场景中的应用 3.1 实时智能推荐 3.2 实时欺诈检测 3.3 实时数仓与 ETL 四、Flink 性能…

【论文阅读】Dolphin: Document Image Parsing via Heterogeneous Anchor Prompting

Paper&#xff1a;https://arxiv.org/abs/2505.14059 Source code: https://github.com/bytedance/Dolphin 作者机构&#xff1a;字节跳动 背景 业务场景 企业数据大多数都以文本、图片、扫描件、电子表格、在线文档、邮件等文档的形式存在&#xff0c;例如&#xff1a;PDF文…

谷歌地图免费下载手机版

软件标签: 谷歌地图 谷歌卫星高清地图 下载链接&#xff1a;夸克网盘分享 手机地图 谷歌地图免费下载(google maps)是谷歌公司打造的手机高清电子地图。2024谷歌地图官方中文版能够直观的表达出世界各地的地点&#xff0c;在地图中能够清晰的了解到自身的定位&#xff0c;让…

DeepSeek 赋能金融衍生品:定价与风险管理的智能革命

目录 一、引言1.1 金融衍生品市场发展现状1.2 DeepSeek 的技术特点和优势1.3 研究目的和意义 二、金融衍生品定价与风险管理基础2.1 金融衍生品定价常用方法2.2 金融风险管理主要策略 三、DeepSeek 在金融衍生品定价中的应用3.1 DeepSeek 助力定价模型构建3.2 案例分析&#xf…

论文中pdf图片文件太大怎么办

文章目录 1.使用pdf文件的打印功能将文件导出2.操作3.前后文件大小对比 1.使用pdf文件的打印功能将文件导出 该方法在保证清晰度的同时&#xff0c;内存空间也能实现减少&#xff08;如果使用线上的压缩pdf工具&#xff0c;清晰度会直线下降&#xff09; 2.操作 点击文件—&…

简单爬虫框架实现

1. 框架功能概述 (1) HttpSession 类&#xff1a;请求管理 功能&#xff1a;封装 requests 库&#xff0c;实现带重试机制的 HTTP 请求&#xff08;GET/POST&#xff09;。关键特性&#xff1a; 自动处理 429&#xff08;请求过多&#xff09;、5xx&#xff08;服务器错误&am…

MVCC理解

MySQL的MVCC&#xff08;Multi-Version Concurrency Control&#xff0c;多版本并发控制&#xff09;是一种高效的并发控制机制&#xff0c;通过维护数据的多个版本实现读写操作的并行执行&#xff0c;显著提升数据库的并发性能和数据一致性。 MVCC 的实现依赖于&#xff1a;隐…

705SJBH超市库存管理系统文献综述

前言 信息化的发展已经对我们的日常生活产生了积极的影响&#xff0c;无论是企业、商店、机关、甚至个人&#xff0c;每天都面对着大量的信息&#xff0c;而如果能有效地识别有用信息&#xff0c;并在对它们加工的基础上充分的利用信息&#xff0c;无疑会给我们的生活带来很巨…

shell:基础

本文主要探讨shell相关知识。 变量 $? 上一次执行命令返回状态 $$ 当前进程进程号 $! 后台运行的最后一个进程的进程号 $# 位置参数的数量 $* 参数内容 $ 参数内容 $和$*解析"hello word"为"hello" "word" "$"解析"hello word&…

【JVM】万字总结GC垃圾回收

【JVM】GC垃圾回收 概念 在程序运行过程中&#xff0c;会不断创建对象来使用内存&#xff0c;当这些对象不再被引用时&#xff0c;其所占用的内存若不及时释放&#xff0c;会导致内存占用不断增加&#xff0c;最终可能引发内存溢出。GC 机制能自动检测并回收这些不再使用的对…

内网横向之RDP缓存利用

RDP&#xff08;远程桌面协议&#xff09;在连接过程中会缓存凭据&#xff0c;尤其是在启用了 "保存密码" 或 "凭据管理器" 功能时。这个缓存的凭据通常是用于自动填充和简化后续连接的过程。凭据一般包含了用户的用户名和密码信息&#xff0c;或者是经过加…