JAVA高级(后端需深入移步)

单元测试:使用Junit单元测试框架

使用Junit单元测试:

通过左侧的对❌来进行提示

Junit框架的常见注解:

反射(用于框架,也是最重要):展示框架的成员信息

由于是用于对象,即使在获取之后也是需要传入获取类型的对象,调用的该类型对象的功能。

此处类型指下面的获取的:类...

反射:Java 反射(Reflection) - Java教程 - 菜鸟教程

public void setAccessible(boolean flag) 设置为true,表示禁止检查访问控制( 暴力反射)

获取任何成员等后都可以将其对象放入该暴力反射中,之后可以访问私有的类型。


反射第一步获取类的对象:

三种获取的都是一种效果。



获取类的构造器:是可以获取私有构造器后,使用构造器对象来访问私有构造器,来创建对象的。

需要对应构造器的形参

即在获取构造器后,通过构造器对象的newInstance创建一个对象,如果有参数的时候许哟啊传入参数。

由于获取构造器创建对象时默认是object类型的需要进行强转,或者在获取构造器的时候声明一个泛型。(一般进行强转)

暴力反射用于获取私有构造器对象后,通过构造器对象来调用私有的构造器。

(需要先进行暴力反射在使用构造器对象创建)


获取类的成员变量:

void set(Object obj, object value): 赋值 obj表示对象,value表示要赋予的值。

object get(Object obj) 取值

public void setAccessible(boolean flag) 设置为true,表示禁止检查访问控制( 暴力反射)


获取类中的方法:


反射的简单应用:

关键在于要暴力反射确保数据都能够被获取。

注解(用于框架功能):

基本上每个地方都可以进行使用

深入注解请移步。

元注解(修饰注解的注解):



test元注解的内部。

注解的解析(输出注解的内容(对象/方法/...)):

示例:解析对象的属性

模拟简易版Junit框架:

动态代理:相当于python的修饰器

将对象的一部分需要的,转移到别的地方进行处理

实际上代理只是处理冗杂的事情,主要的还是由对象自己进行处理。

动态代理的实例:

使用代理进行:

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

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

相关文章

CDN是如何实现网络加速的?

最近很多网站用户都在谈论香港服务器的同时,也在讨论CDN加速服务的相关话题,谈论的目的就是想通过相关的设置和服 务来有一个好的上网体验,同时减少同行DDOS的攻击。 那么,对网站进行CDN加速服务到底能够让网络实现哪些功能呢&am…

低代码开发:数字化“装配线”的崛起

一、什么是低代码 首先,我们不妨从低代码开发的定义和起源说起。低代码开发(Low Code Development),指通过可视化的图形界面来进行应用程序开发和部署的方式,大大降低了开发门槛,用户不需要掌握传统文本编程语言就可以进行开发。 低代码开发起源于20世纪90年代,经历了3个发展…

力扣300. 最长递增子序列

动态规划 思路: 假设 dp[i] 为前 i 个元素构成的最长递增子序列的个数,包含 nums[i];则 dp[i] 构成序列上一个元素 nums[j] 构成最长递增子序列 dp[j],则 dp[i] dp[j] 1;如果动态取 j ∈ [0, i - 1],则选…

Github入门

简介 github是一个基于git的代码仓库,可以通过git来上传和下载代码。国内类似的有gitee。 开源项目一般会申明开源协议。我们可以基于可商用的代码开发我们自己的项目,以期进行快速开发。 一般情况下gitee上的项目基本都够我们使用了。 git基础 Git…

二叉树(接口函数的实现)

今天继续来分享的是二叉树,我们废话不多说,直接来看下面的几个接口函数,然后我们把他们实现,我们就掌握二叉树的二分之一(今天粉丝破千了,属实有点高兴了)。 typedef char BTDataType;typedef s…

OSG加载地形

这是网上下的一个代码; 先看一下代码; KeyboardHandler.h; #ifndef KEYBOARD_HANDLER_H #define KEYBOARD_HANDLER_H #include <iostream> #include <osgGA/GUIEventHandler>class keyboardEventHandler : public osgGA::GUIEventHandler { public:typedef v…

HTML插入视频和音频(详解)

&#x1f4cd;文章目录&#x1f4cd; &#x1f9c0;一&#xff0c;简介&#x1f9c0;二&#xff0c;视频(video)&#x1f367;1&#xff0c;普通的视频插入&#x1f367;2&#xff0c;在html5中嵌入视频网站视频 &#x1f9c0;三&#xff0c;音频(audio) &#x1f9c0;一&#…

linux中的od命令与hexdump命令

初步解读两个命令 在Linux中&#xff0c;"od"和"hexdump"命令都用于以十六进制和其他格式显示文件的内容。它们提供了对文件进行二进制查看和分析的功能。以下是它们的简要说明&#xff1a; od命令&#xff1a; “od”&#xff08;octal dump&#xff09;…

德语 Alt 代码表

德语的 Alt 代码表&#xff0c;请参考下图。 输入方法就是按住 Alt 键不松开&#xff0c;然后在小键盘上输入字符&#xff0c;松开 Alt 键&#xff0c;计算机就能输出上面的字符了。 德语 Alt 代码表 - 系统容器 - iSharkFly德语的 Alt 代码表&#xff0c;请参考下图。 输入方…

Spring Security(一)架构概览

一、 Spring Security 架构概览 1. Spring Security 简介 在Java企业级开发中&#xff0c;安全管理方面的框架非常少&#xff0c;一般来说&#xff0c;主要是三种方案&#xff1a; ShiroSpring Security开发者自己实现 Spring Security基于Spring框架&#xff0c;提供了一套…

Java常用注解

文章目录 第一章、Java注解与元数据1.1&#xff09;元数据与注解概念介绍1.2&#xff09;Java注解的作用和使用1.3&#xff09;注解的分类 第二章、Mybatis框架常用注解2.1&#xff09;Mybatis注解概览2.2&#xff09;常用注解MapperScanMapperSelectInsertUpdateDeleteParam结…

学习openAI 短长期AGI计划、使命、宪章、开创性研究、产品、工作待遇等

网站的设计&#xff1a;简洁而现代 主页 使命&#xff1a;Creating safe AGI that benefits all of humanity. &#xff08;比人类更聪明的人工智能系统&#xff09;&#xff08;自己实现或帮别人实现都认为是达成使命&#xff09;&#xff08;造福全人类&#xff1a;最大限…

springboot笔记

1、springboot中的缓存标签Cacheable使用场景 Cacheable 只是为了让你省略掉是使用集合来保存缓存数据的代码&#xff0c;给你的业务代码横切入缓存的逻辑.然后使用缓存的场景就是读多写少的场景&#xff0c;读操作特别频繁的话&#xff0c;还是把热点数据缓存起来&#xff0c…

36V/48V转12V 10A直流降压DC-DC芯片-AH1007

AH1007是一款36V/48V转12V 10A直流降压&#xff08;DC-DC&#xff09;芯片&#xff0c;它是一种高性能的降压变换器&#xff0c;常用于工业、汽车和电子设备等领域。 AH1007采用了先进的PWM调制技术和开关电源控制算法&#xff0c;能够高效地将输入电压从36V/48V降低到12V&…

MATLAB实现图像变换和滤波

MATLAB实现图像变换和滤波方法对具有不同特征的灰度图像进行处理 图像变换方法包括&#xff1a;DFT及IDFT&#xff0c;DCT及IDCT 图像滤波方法包括低通滤波和高通滤波 图像变换 DFT/IDFT 图像一般是二维的&#xff0c;根据二维离散傅里叶变换公式DFT&#xff0c;可以将图片…

如何使用Docker将.Net6项目部署到Linux服务器(一)

目录 配置服务器环境 配置yum 配置docker 安装.NetCore SDK6.0 发布Net6 添加Dockerfile。 发布文件。 编辑DockerFile文件 ​编辑 上传文件 安装MySql 配置服务器环境 配置yum 在配置yum之前&#xff0c;我们需要先了解yum是什么&#xff0c;yum&#xff0c;是Yellow…

力扣日记12.13-【二叉树篇】从中序与后序遍历序列构造二叉树

力扣日记&#xff1a;【二叉树篇】从中序与后序遍历序列构造二叉树 日期&#xff1a;2023.12.13 参考&#xff1a;代码随想录、力扣 106. 从中序与后序遍历序列构造二叉树 题目描述 难度&#xff1a;中等 给定两个整数数组 inorder 和 postorder &#xff0c;其中 inorder 是二…

基于vue实现的疫情数据可视化分析及预测系统-计算机毕业设计推荐 django

本疫情数据可视化分析及预测系统 开发&#xff0c;用小巧灵活的MySQL数据库做完后台存储解释。本系统不仅主要实现了注册登录&#xff0c;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;全国实时数据管理&#xff0c;每日实时数据管理&#xff0c;国内实时动态…

@Scheduled任务调度/定时任务-非分布式

1、功能概述 任务调度就是在规定的时间内执行的任务或者按照固定的频率执行的任务。是非常常见的功能之一。常见的有JDK原生的Timer, ScheduledThreadPoolExecutor以及springboot提供的Schduled。分布式调度框架如QuartZ、Elasticjob、XXL-JOB、SchedulerX、PowerJob等。 本文…

SpringBoot进行自然语言处理,利用Hanlp进行文本情感分析

. # &#x1f4d1;前言 本文主要是SpringBoot进行自然语言处理&#xff0c;利用Hanlp进行文本情感分析&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是青衿&#x1f947; ☁️博客首页&#xff1a;CSDN主页放风…