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

一文看懂Java反射、注解、UML图和Lambda表达式

反射

定义:
反射是 java 开发语言的特征之一,它允许 java 程序对自身进行检查(自审),并能直接操作程序内部属性,即就是将类中的各种成分映射成一个 java 对象,利用反射技术可以对一个类进行解剖,将各个组成部分映射成一个对象,这就是反射。
反射机制:
在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法,这种动态获取信息以及动态调用对象的方法的功能称为 Java 的反射机制。

package com.wlx.day16;import java.util.Arrays;public class Demo extends BaseDemo
{public String  username;private Integer userage;protected int  uid;public Demo(){}public Demo(String username){}public  Demo(int uid){}public  void  hello(){helloworld();}public  void  world(){}public static void main(String[] args)throws Exception{//Demo  demo = new Demo();Class  cl = Class.forName(Demo.class.getName());
//        Demo  demo =  (Demo) cl.newInstance();//JDK9开始使用下面的方式获取对象Demo  demo = (Demo) cl.getDeclaredConstructor().newInstance();demo.uid = 123;demo.username = "tom";demo.hello();//获取指定类的所有构造方法,不包括父类的构造方法System.out.println(Arrays.toString(cl.getDeclaredConstructors()));//获取指定类的所有构造方法,不包括父类的构造方法System.out.println(Arrays.toString(cl.getConstructors()));//获取指定类的所有方法,不包括继承父类的方法System.out.println(Arrays.toString(cl.getDeclaredMethods()));//获取指定类的所有方法,包括继承父类的方法System.out.println(Arrays.toString(cl.getMethods()));//获取指定类的所有全局变量,不包括继承父类的变量System.out.println(Arrays.toString(cl.getDeclaredFields()));//获取指定类的所有被public修饰的全局变量,包括继承父类的变量System.out.println(Arrays.toString(cl.getFields()));}}

模拟 IOC/DI

package com.wlx.day16;import com.wlx.day15.dao.UsersDao;
import com.wlx.day15.entity.Users;
import com.wlx.day15.service.UsersService;import java.io.FileInputStream;
import java.util.List;
import java.util.Properties;public class UserSerivceImplDemo
{public static void main(String[] args)throws Exception{Properties ppt = new Properties();ppt.load(new FileInputStream("./javasecode/src/cl.properties"));//IOC/DI springString  userDaoStr = ppt.getProperty("ud");Class  cl = Class.forName(userDaoStr);//默认情况下是调用cl对应类的无参数构造方法UsersDao userDao = (UsersDao) cl.getDeclaredConstructor().newInstance();String userServiceStr = ppt.getProperty("uds");Class cls = Class.forName(userServiceStr);//调用cls对应类的有UserDao参数的构造方法,newInstance()用于传递实参给构造方法UsersService usersService = (UsersService) cls.getDeclaredConstructor(UsersDao.class).newInstance(userDao);/*UsersService  usersService = new UsersServiceImpl(userDao);*/List<Users> list = usersService.queryAllInfo();System.out.println(list);}
}

在这里插入图片描述

注解

关键字:@interface
注解一般使用在类前,方法前,也可以使用在属性前。

package com.wlx.day16;import java.util.ArrayList;
import java.util.List;
import java.util.Set;public class JiHeDemo
{//不显示该属性的所有警告@SuppressWarnings("ALL")List  list = new ArrayList();//不显示该方法的所有警告@SuppressWarnings("ALL")public  void  hello(Set  set){}//该方法world()不推荐使用了@Deprecatedpublic void  world(){}public static void main(String[] args){JiHeDemo jiHeDemo = new JiHeDemo();jiHeDemo.world();}
}

自定义注解

package com.wlx.day16;import java.lang.annotation.Target;
//静态导入
import static java.lang.annotation.ElementType.*;
/*** 表示该注解可以在什么地方使用* 此处只可以在类的前面和方法的前面使用该注解*/
@Target(value = {TYPE,METHOD})
public @interface MyAnnotation
{}
package com.wlx.day16;import java.util.ArrayList;
import java.util.List;
import java.util.Set;@MyAnnotation
public class JiHeDemo
{//不显示该属性的所有警告@SuppressWarnings("ALL")List  list = new ArrayList();//由于MyAnnotation指定的只能在类前和方法前使用该注册,因此此处编译出错//@MyAnnotationString username;//不显示该方法的所有警告@SuppressWarnings("ALL")public  void  hello(Set  set){}//该方法world()不推荐使用了@Deprecatedpublic void  world(){}@MyAnnotationpublic void  haha(){}public static void main(String[] args){JiHeDemo jiHeDemo = new JiHeDemo();jiHeDemo.world();}
}

UML (了解)

1.1、UML简介
统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具, 独立于任何具体程序设计语言。

1.2、UML作用

(1)为软件系统建立可视化模型
UML符号具有良好的语义,不会引起歧义;基于UML的可视化模型,使系统结构直观、易于理 解;使用UML进行软件系统的模型不但有利于系统开发人员和系统用户的交流,还有利于系统维 护。模型是系统的蓝图,它可以对开发人员的规划进行补充,模型可以帮助开发人员规划要建的系统。有了正确的模型就可以实现正确的系统设计,保证用户的要求得到满足,系统能在需求改变时站得住脚。对于一个软件系统,模型就是开发人员为系统设计的一组视图。这组视图不仅描述了用户需要的功能,还描述了怎样去实现这些功能。

(2)为软件系统建立构件

UML不是面向对象的编程语言,但它的模型可以直接对应到各种各样的编程语言。例如,它可以使用代码生成器工具将UML模型转换为多种程序设计语言代码,如可生成C++,XML,DTD, JAVA,Visual basic等语言的代码,或使用反向生成器工具将程序源代码转换为UML;甚至还可以生成关系数据库中的表。

(3)为软件系统建立文档

UML可以为系统的体系结构及其所有细节建立文档。不同的UML模型图可以作为项目不同阶段的软件开发文档。
1.3、UML模型/类型
UML系统开发中有三个主要的模型:
功能模型:从用户的角度展示系统的功能,包括用例图。
对象模型:采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类别图、对象图。
动态模型:展现系统的内部行为。包括序列图,活动图,状态图。

1.4、UML主要图形

1.4.1、用例图
描述角色以及角色与用例之间的连接关系。说明是谁要使用系统,以及他们使用该系统可以做些什么。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示了这些元素之间的各种关系,如泛化、关联和依赖。
泛化:类A继承类B就是泛化,泛化关系使用带实线的三角形箭头表示
关联:类A类B的实例之间存在特定的对应关系,使用带实线的箭头表示
依赖:类A访问类B提供的服务,使用带虚线的箭头表示
角色:用户人形符号表示
用例:表示系统中的某个功能,用椭圆符号表示
在这里插入图片描述

1.4.2、类图

类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切地说,是一种静态模型类型。类图表示类、接口和它们之间的协作关系。
在这里插入图片描述

关联

组合:整体和部分的关系就是组合,使用带实心菱形框的实线表示
聚合:实体和实体之间聚合成另一个实体,使用带空心菱形框的实线表示
在这里插入图片描述

1.4.3、对象图

与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,而不是实际的类。它描述的不是类之间的关系,而是对象之间的关系。

1.4.4、活动图

描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并行活动。能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图建模的商务需求。

1.4.5、状态图

描述类的对象所有可能的状态,以及事件发生时状态的转移条件,可以捕获对象、子系统和系统的生命周期。它可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。状态图是对类图的补充。

1.4.6、序列图(时序图)

序列图是用来显示参与者如何以一系列顺序的步骤与系统的对象交互的模型。顺序图可以用来展示对象之间是如何进行交互的。顺序图将显示的重点放在消息序列上,即强调消息是如何在对象之间被发送和接收的。

1.4.7、协作图

和序列图相似,显示对象间的动态合作关系。可以看成是类图和顺序图的交集,协作图建模对象或者角色,以及它们彼此之间是如何通信的。如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图;这两种图合称为交互图。

1.4.8、构件图(组件图)

描述代码构件的物理结构以及各种构建之间的依赖关系。用来建模软件的组件及其相互之间的关系,这些图由构件标记符和构件之间的关系构成。在组件图,构件时软件单个组成部分,它可以是一个文件,产品、可执行文件和脚本等。

1.4.9、部署图(配置图)

用来建模系统的物理部署。例如,计算机和设备,以及它们之间是如何连接的。部署图的使用者是开发人员、系统集成人员和测试人员。部署图用于表示一组物理结点的集合及结点间的相互关系,从而建立了系统物理层面的模型。

单例类

1.1、定义
如果一个类始终只能创建/有一个实例,那么这个类就是单例类。
单例类分为:懒汉式和饿汉式。
1.2、编写步骤
懒汉式
1、定义一个属性用于缓存当前类的实例,并且被 private static 修饰。
2、所有构造方法都被 private 修饰。
3、使用静态工厂方法获取当前类的对象。

package com.wlx.day16;/*** 懒汉式单例类*/
public class SingleClass
{//1、定义一个属性用于缓存当前类的实例,并且被 private  static 修饰。private static  SingleClass singleClass;//2、所有构造方法都被 private 修饰private SingleClass(){}//3、使用静态工厂方法获取当前类的对象。public synchronized static  SingleClass  getInstance(){if(singleClass == null){singleClass = new SingleClass();}return  singleClass;}}

饿汉式

1、定义一个属性用于缓存当前类的实例,并且被 private static final 修饰,该属性立刻初始化。
2、所有构造方法都被 private 修饰。
3、使用静态工厂方法获取当前类的对象。

package com.wlx.day16;/*** 饿汉式单例类*/
public class SingleClass1
{//1、定义一个属性用于缓存当前类的实例,并且被 private static final 修饰,该属性立刻初始化private static final SingleClass1 singleClass = new SingleClass1();//2、所有构造方法都被 private 修饰private SingleClass1(){}//3、使用静态工厂方法获取当前类的对象。public synchronized static SingleClass1 getInstance(){return  singleClass;}}

单元测试

官方 jar 包下载地址:
Download and Install · junit-team/junit4 Wiki · GitHub
直接使用 IDEA 自带的即可,此处省略。
官方 jar 包下载地址

package com.wlx.day16;import com.wlx.day15.dao.UsersDao;
import com.wlx.day15.dao.impl.UsersDaoImpl;
import org.junit.Before;
import org.junit.Test;public class HelloDemo
{private UsersDao  usersDao;/*** @Before该注解是一定在@Test注解之前执行的注解*/@Beforepublic  void  createObj(){usersDao = new UsersDaoImpl();}/*** 替代main()方法,所有被@Test修饰的方法都可以使用Junit直接执行测试*/@Testpublic void hello(){System.out.println("hello--->HelloDemo--->");System.out.println(usersDao.queryAllInfo());}}

Debug

Step Over 一行一行的往下走,如果这一行上有方法不会进入方法。
Step Into 如果当前行有方法,可以进入方法内部,一般用于进入自定义方法,不会进入官方类库的方法。
Step Out 从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。

JDK 新特性

1.1、1.8 新特性
1、Lambad 表达式
2、Stream API
3、Optional
4、Nashorm 引擎

1.1.1、Lambad 表达式

Lambad 是一个匿名函数,Lambad 表达式可以理解为一段可以传递的代码,使用它可以写出更简洁、更灵活、更紧凑的代码,使 Java 语言表达能力得到了提升。
以前用匿名内部类表示的现在都可以使用 Lambad 表达式来编写。
Lambad 表达式的本质:作为函数式接口的实例。
格式:
形参列表 -> Lambad 函数体
其中:
1、形参列表其实就是接口中抽象方法的形参列表。
2、->Lambad 操作符或箭头操作符,注意是减号加箭头,不是等于号加箭头,和 JS 中有区别的。
3、Lambad 函数体其实就是重写的接口中抽象方法的方法体。

1.1.2、没有 Lambad 表达式

package com.wlx.day16;import org.junit.Test;public class NoLambadDemo implements FuncationInterfaceDemo
{@Test//重写函数式接口中的方法@Overridepublic void hello() {//匿名内部类实现多线程Runnable  runnable = new Runnable() {@Overridepublic void run() {System.out.println("run()---");}};//普通方法的调用runnable.run();}
}

1.1.3、无参数 Lambad 表达式

package com.wlx.day16;public class LambadDemo
{public static void main(String[] args) {//Lambad表达式实现匿名内部类多线程/*Runnable  runnable = () -> {//run()方法的方法体System.out.println("Lambad---");};*///简写方式Runnable  runnable = () -> System.out.println("Lambad---");//普通方法的调用runnable.run();//实现函数式接口FuncationInterfaceDemo中的hello()方法/*FuncationInterfaceDemo ftd = ()->{//hell()函数函数体System.out.println("hello()---");};*///简写方式,当方法体中只有一条语句时,大括号可以省略FuncationInterfaceDemo  ftd = () -> System.out.println("hello()---");ftd.hello();}
}

1.1.4、有参数 Lambad 表达式

package com.wlx.day16;public class LambadDemo
{public static void main(String[] args) {//匿名内部类FuncationInterfaceDemo1  fid = new FuncationInterfaceDemo1() {@Overridepublic void hello(String str) {System.out.println("str --- "+str);}};//调用fid中的hello()方法并传递参数fid.hello("hello---world");//有参数的Lambad表达式/*FuncationInterfaceDemo1 ffid = (str) -> {System.out.println("str *** "+str);};*///简写方式,当参数列表只有一个参数时,小括号可以省略FuncationInterfaceDemo1 ffid = str -> System.out.println("str *** "+str);//调用ffid中的hello()方法并传递参数ffid.hello("腾势汽车");}
}

相关文章:

一文看懂Java反射、注解、UML图和Lambda表达式

反射 定义: 反射是 java 开发语言的特征之一&#xff0c;它允许 java 程序对自身进行检查(自审)&#xff0c;并能直接操作程序内部属性&#xff0c;即就是将类中的各种成分映射成一个 java 对象&#xff0c;利用反射技术可以对一个类进行解剖&#xff0c;将各个组成部分映射成…...

【漏洞复现】搜狗输入法简单绕过Windows锁屏机制

免责申明 本公众号的技术文章仅供参考&#xff0c;此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等&#xff08;包括但不限于&#xff09;进行检测或维护参考&#xff0c;未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息…...

JAVA Spring学习Day1

Maven Maven配置&#xff1a; Maven是Java项目的构建工具&#xff0c;使用pom.xml配置文件管理项目依赖、插件和构建目标。Spring Boot项目搭建&#xff1a; Spring Boot是基于Spring框架的快速开发框架&#xff0c;通过约定大于配置的理念简化了Spring应用的搭建和开发。 …...

linux常见面试题(三)

18 什么事SQL注入 由于程序员的水平及经验参差不齐&#xff0c;大部分程序员在编写代码的时候&#xff0c;没有对用户输入数据的合法性进行判断。 ​ 应用程序存在安全隐患。用户可以提交一段数据库查询代码&#xff0c;根据程序返回的结果&#xff0c;获得某些他想得知的数据…...

【JS】ES6新类型Map与Set

一、Map Map 对象保存键值对&#xff0c;并且能够记住键的原始插入顺序。任何值&#xff08;对象或者原始值&#xff09;都可以作为键或值。 描述 Map 对象是键值对的集合。Map 中的一个键只能出现一次&#xff1b;它在 Map 的集合中是独一无二的。 Map 对象按键值对迭代——…...

FETCH FIRST ROW ONLY和 DISTINCT ON和 LIMIT 1的用法

以下是 PostgreSQL 中函数 FETCH FIRST ROW ONLY、DISTINCT ON 和 LIMIT 1 的用法、含义、例子以及适用版本的信息总结&#xff1a; FETCH FIRST ROW ONLY 用法和含义 FETCH FIRST ROW ONLY 用于限制查询结果集&#xff0c;只返回第一行。它可以和 ORDER BY 子句一起使用&am…...

前端小白安装node、vue、Express、Electron及(Electron桌面端exe应用开发)

一、node.js &#xff08;一&#xff09;、下载 下载地址 Node.js — 在任何地方运行 JavaScript (nodejs.org) 参考文章&#xff1a;Node.js安装及环境配置超详细教程【Windows系统】_windows 安装nodejs-CSDN博客 &#xff08;二&#xff09;、安装 安装路径可以更换&a…...

solidity多态【很重要】

多态是面向对象编程&#xff08;OOP&#xff09;的一个核心概念&#xff0c;允许不同类的对象被视为同一类型的实例&#xff0c;并根据实际类型来响应相同的方法调用。 这意味着同一个接口可以用来引用属于不同类的对象&#xff0c;而这些对象可以有自己的方法实现&#xff0c…...

Jangow-1.0.1靶机漏洞复现(未完成)

首先&#xff0c;这个靶机只能使用VirtualBox打开&#xff0c;靶机下载地址为 https://download.vulnhub.com/jangow/jangow-01-1.0.1.ova 虚拟机软件下载地址为 Download_Old_Builds – Oracle VM VirtualBox 开启靶机后访问ip进入如下页面&#xff0c;点击site进入到一个…...

软件测试--python基础

一、python基础 (1)第一个python (2)python解释器 (3)基础语法 ①字面量 什么是字面量 常用的值类型 字符串 ②注释 ③变量 什么是变量 变量的特征 变量的目的是存储运行过程的数据 存储的目的是为了&#xff1a;重复使用 ④数据类型 type()语句 变量有类型吗&#xff1f;…...

GPIO子系统

1. GPIO子系统视频概述 1.1 GPIO子系统的作用 芯片内部有很多引脚&#xff0c;这些引脚可以接到GPIO模块&#xff0c;也可以接到I2C等模块。 通过Pinctrl子系统来选择引脚的功能(mux function)、配置引脚&#xff1a; 当一个引脚被复用为GPIO功能时&#xff0c;我们可以去设…...

学会这个Python库,接口测试so easy

前言 我们在做接口测试时&#xff0c;大多数返回的都是json属性&#xff0c;我们需要通过接口返回的json提取出来对应的值&#xff0c;然后进行做断言或者提取想要的值供下一个接口进行使用。 但是如果返回的json数据嵌套了很多层&#xff0c;通过查找需要的词&#xff0c;就…...

Stable Diffusion4.8.7(Ai绘画)软件安装教程

软件下载 [名称]&#xff1a;Stable Diffusion4.8.7&#xff08;Ai绘画&#xff09; [大小]&#xff1a;16.52GB [语言]&#xff1a;简体中文 [安装环境]&#xff1a;Win11/Win10/Win8/Win7 [硬件要求]&#xff1a;CPU2.0GHz &#xff0c;内存4G&#xff08;或更高&#x…...

操作系统错误处理

错误处理 1、通过函数的返回值表示执行错误&#xff1a; // 返回合法值表示成功 返回非法值表示失败 // 计算大小、查找 long file_size(const char* path) {FILE* fp fopen(path,"r");if(NULL fp)return -1; // 返回非法值fseek(fp,SEEK_END,0);long size …...

【靶场实操】sql-labs通关详解----第一节:基础注入方式(Less-1~Less-10)

目录 一、注入方式简要概括 1.1 SQL常见注入方式 1.2 爆破函数 二、靶场实操 2.1 Less-1 2.1.1 判断类型 2.1.2 联合注入查询 2.2 Less-2 2.2.1 判断类型 2.2.2 注入攻击 2.2.3 字符型与数字型漏洞对比 2.3 Less-3 2.3.1 判断 2.3.2 注入 2.4 Less-4 2.4.1 判断…...

力扣676.实现一个魔法字典

力扣676.实现一个魔法字典 字典树 dfs class Trie{public:Trie* next[26];bool is_end false;};class MagicDictionary {public:Trie* root new Trie();void add(string& word){Trie* p root;for(char c:word){if(p->next[c-a] NULL) p->next[c-a] new Trie…...

ctfshow-web入门-sql注入(web171-web175)

目录 1、web171 2、web172 3、web173 4、web174 5、web175 1、web171 单引号测一下&#xff0c;报错 -- 闭合后回显正常 也可以用 # &#xff0c;不过需要 URL 编码 成功闭合之后&#xff0c;先判断下字段数&#xff1a; 1 order by 3-- 3 的时候正常 4 的时候报错&am…...

视频怎么添加音乐?分享5种视频添加音乐方法

在如今火爆的短视频时代&#xff0c;为视频添加合适的背景音乐&#xff0c;无疑是让其脱颖而出的关键一步。无论是打造个人Vlog、纪录片&#xff0c;还是创意短片&#xff0c;音乐都能赋予视频独特的情感与氛围。那么怎么给视频添加上背景音乐呢&#xff1f;给大家分享5种简单的…...

黑马JavaWeb后端案例开发(包含所有知识点!!!)

目录 1.准备工作 环境搭建 开发规范 REST&#xff08;REpresentation State Transfer&#xff09;,表述性状态转换&#xff0c;它是一种软件架构风格 注意事项 统一响应结果 2.部门管理功能 查询部门 删除部门 新增部门 RequestMapping 3.员工管理功能 分页查询 批…...

FPGA开发——蜂鸣器实现音乐播放器的设计

一、概述 我们在进行蜂鸣器的学习的时候&#xff0c;总会在想既然蜂鸣器能够发出声音&#xff0c;那么它能够播放音乐吗&#xff0c;今天这篇我们文章我们就一起来学习怎样使用使用蜂鸣器来播放音乐&#xff0c;也就是怎样成为一个音乐播放器。 1、蜂鸣器的类型 在设计的时候…...

InnoDB存储引擎(1)

InnoDB存储引擎的优点 InnoDB在设计时考虑到了处理大数据量时的性能&#xff0c;支持事务&#xff0c;回滚和崩溃修复的能力&#xff0c;通过多版本并发控制来减少锁定(降低了锁的争用),同时还支持外键的约束&#xff1b;通过缓冲池在内存中缓存数据来提高查询的性能&#xff…...

VMWare虚拟机共享主机的网络访问外网

1.主机中启动客户端并连接外网 2.设置虚拟网络类型为NAT 3.启动虚拟并通过主机访问外网...

LeetCode Easy|【415. 字符串相加】

力扣题目链接 题目本身难度不大&#xff0c;但是后续的一些补充内容还是值得搞清楚的 主要的逻辑如下&#xff1a; 其实本题的目的就是让我们来模拟我们的竖式加法。所以很直观的一个想法就是使用双指针&#xff1a;分别指向两个 num 的末尾。随后就会产生一些问题&#xff1a…...

RAG 革命:NVIDIA 工作站如何成为企业 AI 的秘密武器

在深圳的一家科技初创公司&#xff0c;首席技术官李梅正在向她的团队展示一个令人兴奋的新项目。“看这个&#xff0c;” 她指着屏幕上的实时演示说&#xff0c;“我们刚刚用公司的技术文档训练了一个 AI 助手&#xff0c;它现在可以回答任何关于我们产品的问题&#xff0c;而且…...

九大原则,轻松构建个人高效SOP

1、原则一、工作汇报SOP SCQA模型(升职加薪的关键!&#xff09; 清晰定义问题和提出解决方案 类别 关键词 解读 S - Situation 情景 陈述项目背景&#xff0c;目标&#xff0c;愿景 C - Complication 冲突 讲卡点&#xff0c;讲冲突 Q - Question 疑问-问题 这些冲…...

Airtest的demo实现多设备并行

Airtest的demo实现多设备并行 它实现是的获取adb连接上的所有设备&#xff0c;然后在每一台设备上跑给定的测试用例&#xff0c;跑完之后生成单机的测试报告&#xff0c;最后再汇总这些单机测试报告的结果&#xff0c;形成汇总&#xff08;聚合&#xff09;报告&#xff1a; 同…...

社区养老服务小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;服务人员管理&#xff0c;服务产品管理&#xff0c;服务预约管理&#xff0c;服务状态管理&#xff0c;服务退订管理&#xff0c;活动管理&#xff0c;视频管理 微信端账号功能包…...

Interceptor拦截器开发

因为1登录后的接口都需要token验证代码,会出现重复代码;2当前的接口不防刷,会被恶意攻击 所以在controller层增加请求拦截,如果你的token不合法,就不让你做后续的处理了 拦截器的作用是什么 作用: 1、对controller层代码的访问进行拦截,合法的请求,那此层代码就处理,反…...

美团 AIGC产品经理面经(已拿 offer)

背景&#xff1a;211本科毕业&#xff0c;毕业之后在北京一家中型电商公司做了3年商家后台产品经理&#xff0c;目前通过老薛的朋友关系拿到了美团的offer。 目前还有几家在面试流程中&#xff0c;继续加油&#x1f4aa; 美团AIGC产品面经-业务面 &#x1f4a5;1、自我介绍&a…...

@RequestBody与@RequestParam

RequestBody会将请求体中的数据&#xff0c;转换成对象.最主要的是RequestBody就是要返回Json的字符串&#xff01;&#xff01;&#xff01; RequestParam会从http请求查询参数中提取数据&#xff01; RequestParam和RequestBody是Spring Framework中用于处理HTTP请求的注解…...

wordpress与hexo/百度网盘资源共享

Problem Description1967 年&#xff0c;美国著名的社会学家斯坦利米尔格兰姆提出了一个名为“小世界现象(small world phenomenon)”的著名假说&#xff0c;大意是说&#xff0c;任何2个素不相识的人中间最多只隔着6个人&#xff0c;即只用6个人就可以将他们联系在一起&#x…...

最近做国际网站怎么样/seo网站优化专家

用IE 8打开页面时&#xff0c;有时会出现这样的提示&#xff1a; Message: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)引起该问题的代码&#xff1a; <ul id"header_userinfo"><li…...

建设购物网站的方案/厦门人才网个人登录

题目链接 分析 可以把每艘战舰进入队列时的顺序作为 属性值,表示为这艘战舰到队列头部战舰的距离,用d[i]表示i号战舰到头部战舰的距离,每次把一个战舰队列接到另一个战舰队列的尾部时, 把前者头部战舰的d[i]改为后者整个队列的长度, 然后后者队列长度 再加上前者队列长度 代…...

房山营销型网站制作开发/网站优化排名怎么做

Description 小 \(A\) 走到一个山脚下&#xff0c;准备给自己造一个小屋。这时候&#xff0c;小 \(A\) 的朋友&#xff08;op&#xff0c;又叫管理员&#xff09;打开了创造模式&#xff0c;然后飞到山顶放了格水。于是小 \(A\) 面前出现了一个瀑布。作为平民的小A只好老实巴交…...

无锡新吴区住房和建设交通局网站/电脑系统优化软件哪个好用

首先我们尝试构造一个乱码 第1步 我们可以在首页编写一个提交的表单&#xff0c;在web目录下创建form.jsp <% page contentType"text/html;charsetUTF-8" language"java" %> <html> <head><title>Title</title> </head…...

app推广方式有哪些/南京seo排名优化公司

最近家里杂事较多&#xff0c;自学时间实在少的可怜&#xff0c;所以都在空闲时间看看老外写的内容&#xff0c;学习之外顺便翻译分享~等学习的时间充足些再写写自己的一些学习内容和知识点分析(最近有在接触的&#xff1a;复习(C#&#xff0c;SQL)、(学习)TypeScript&#xff…...