8.9反射的应用 实现框架的功能

葵花(Himawari)8/9卫星数据处理 李国春 葵花8(含葵花9,下同)是静止气象卫星,数据范围是星下点为140°E赤道上空的大圆盘。空间分辨率有500m、1km和2km三种。虽然其空间分辨率不高,但是有极高的时间分辨率,观测数据刷新仅10分钟。这对一些生态、农业和大范围自然灾害的动态检测具有非常高的应用价值。本文介绍如何使用RSD处理葵花8数据。 阅读详情

p { margin-bottom: 0.21cm; }

框架概念 框架就是事先写好的代码以后来调用 调用的时候 是框架来调用你写的类

工具类的概念 工具类就是先写好的类 以后调用 调用的时候 我们直接调用那个工具类

 

Properties 类 此类和HasMap 有点类似 里面都存的是 key value 这样的键值对象 , 不同点在于 他可以把硬盘里面的key value 数据读取到内存中来 也可以把内存中的key value 存储到磁盘中去

 

例子

用 配置文件的方式配置集合

写一个配置文件 配置集合类型,再用反射的方式将往集合里面装值

注意 输入输出流的相对路径是项目的根目录

在 config.properties 文件里写上 className=java.util.HashSet

 

 

public static void main(String[] args) throws Exception {

// 定义一个输入流

InputStream inp = new FileInputStream( "config.properties" );

// 此类和 HasMap 有点类似 里面都存的是 key value 这样的键值对象 , 不同点在于 他可以把硬盘里面的 key value 数据读取到内存中来 也可以把内存中的 key value 存储到磁盘中去

Properties pros = new Properties();

pros.load(inp);

inp.close();

// 得到键为 className 的 value

String className = pros.getProperty( "className" );

Collection collections = (Collection)Class. forName (className).newInstance();

//Collection collections = new HashSet();

ReflectPoint p1 = new ReflectPoint(1,2);

ReflectPoint p2 = new ReflectPoint(2,2);

ReflectPoint p3 = new ReflectPoint(1,2);

ReflectPoint p4 = new ReflectPoint(3,2);

collections.add(p1);

collections.add(p2);

collections.add(p3);

collections.add(p4);

p1. y =7;

collections.remove(p1);

System. out .println(collections.size());

}

 

集成calibre到cadence virtuoso环境中 load: can‘t access file - “/opt/eda/Mentor/lib/calibre.skl“ 项目场景: 设想是将Calibre集成到cadence virtuoso中,但网上的解决办法尝试过在本机上实验都有点问题,因此想记录下来我的解决办法仅供参考。 问题描述: 安装好cadence, calibre之后打开virtuoso,CIW窗口显示 *Error* load: can't access file - "/opt/eda/Mentor/lib/calibre.skl" 问题是出在calibre.skl的加载路径出错,尝试网上的在工程目录下修改.cdsinit文件,添加calibre安装 阅读详情

相关推荐

【技术拆解】Illumina边合成边测序(SBS)核心流程全解析 | 从文库构建到数据分析

本文深入解析了Illumina边合成边测序(SBS)技术的完整流程。从DNA样本的文库构建(片段化、加接头、扩增),到Flowcell上的簇生成(桥式PCR),再到核心的边合成边测序(SBS)循环(荧光标记、可逆终止),最后简述了从原始数据到生物学洞见的数据分析步骤,为理解这一主流高通量测序技术提供了清晰的框架。

weixin_29201859的博客 535

Java实现一个简单的RPC框架(七) 反射机制调用类函数

ServiceRegister.java import java.util.HashMap; import java.lang.reflect.*; /** * 通过register()去注册服务,通过get_service()去获取服务名对应的function * @author xchen * */ public class ServiceRegister { int arg1

赞美月亮的专栏 1452

告别手动复制粘贴!用Python脚本+pywinauto实现PC微信消息自动发送(附完整源码)

本文详细介绍了如何利用Python和pywinauto实现PC微信消息的自动化发送,告别繁琐的手动操作。从环境搭建、UI控件定位到构建健壮的发送流程,再到高级功能扩展和项目打包部署,全面解析了自动化办公的实现方案,显著提升工作效率。

weixin_30315723的博客 583

反射-框架设计的灵魂

框架:半成平软件,可以在框架的基础上进行开发,简化代码 反射:将类的各个组成部分封装为其它对象,这就是反射机制 优势: 1.可以在程序运行过程中,操作这些对象 2.可以解耦,提高程序的扩展性 获取class类对象的机制: 1.Class.forName(“全类名”):将字节码文件加载进内存,返回class对象(多用于配置文件,将类名定义在配置文件中,读取文件,加载类) 2.类名.class:通过类名的属性class获取(多用于参数传递) 3.对象.getClass():getClass()方法在Objec

weixin_43664947的博客 134

第二十三章 Nest集成日志框架Winston

Winston是一个非常流行的Node.js日志框架,而Nest.js是一个基于Node.js的后端框架。修改 winston.module.ts 内容如下 添加 forRoot 方法,接收 winston 的 createLogger 方法的参数,返回动态模块的 providers、exports。这里用到了 printf 的 format 函数,它可以自定义打印的日志格式 且使用了chalk 加上了颜色,并且打印了 dayjs 格式化的时间。可以看到控制台打印了自定义的 logger 的自定义。

枫ゞ的博客 1069

手把手教你学Simulink--双足机器人分数阶PID控制仿真

分数阶PID(Fractional-order PID, FOPID)控制是一种先进的控制策略,它扩展了传统的整数阶PID控制器的概念。FOPID控制器允许积分和微分项的阶次不是严格的整数,而是可以是任意实数,这为系统提供了更多的设计自由度,并可能带来更好的性能。在双足机器人控制中,分数阶PID控制可以用于改善机器人的平衡控制、轨迹跟踪等任务的性能。下面我们将详细介绍如何使用Simulink进行基于分数阶PID控制方法的双足机器人仿真研究。

MHD0815的博客 878

利用反射手写RPC简单框架

RPC框架入门通过反射手写RPC简单框架RPC简介RPC请求过程DEMO实例结构RPC框架实现测试类运行 通过反射手写RPC简单框架 调用本地的接口方法,远端执行接口的具体实现并返回结果。 RPC简介 RPC(Remote Procedure Call Protocol)远程调用:简单来说就是调用远程的服务就像调用本地服务一样,它允许运行于一台计算机的程序调用另一台计算机的子程序,同时将网络的通信细节隐藏,用户无须额外地为这个交互动作进行编程。其中涉及的知识有序列化和反序列化、动态代理、网络传输、动态加载、

qq_36845328的博客 396

成功解决raise Py4JError py4j.protocol.Py4JError: py4j.protocol.Py4JError: Could not find py4j jar at 

成功解决raise Py4JError("Could not find py4j jar at {0}".format(jarpath)) py4j.protocol.Py4JError: Could not find py4j jar at 目录 解决问题 解决思路 解决方法 1、第一步安装jdk 2、第二步安装或升级py4j 解决问题 raise Py4JError("Could not find py4j jar at {0...

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 4624

利用反射编写一个小框架

b.问题:将配置文件放到src下,out路径下会自动生成配置文件,但是如果我们将来将所有的配置文件都放到src下,那么src下面会显得特别乱。根据接口的class对象,创建一个实现类对象,然后通过配置文件中的方法名反射这个方法,invoke执行这个方法。:在配置文件中,配置类的全限定名,以及配置一个方法名,通过解析配置文件,让配置好的方法执行起来。解决:我们可以将配置文件放到src下,放到src下,out路径下就会出现配置文件。a.问题:如果将配置文件放到resources资源目录下,我们怎么读取。

qq_54100648的博客 333

基于Cesium实现,动态水面+大坝排水动画

一、绘制面状水域,使用水波纹理,进行渲染,水体透明,可以看到底色。三、使用粒子系统,将喷泉改变方向,加上重力设置,实现排水动画。二、绘制线状三维体,用作模拟大坝拦截效果。四、最后,模拟水位上升,进行淹没分析,

一醉千秋的专栏 1418

汇川H5U PLC通过EtherCAT总线控制SV660N和X3E伺服

首先我们看下系统硬件和软件配置:汇川H5U PLC的编程软件是:AutoShop V4.6.3.0 硬件:PLC H5U-1614MTD-A16,汇川伺服型号:SV660NS1R6I 电机型号:MS1H1-10B30CB 100W 220V 3000R/M 0.32N*M 1.3A,禾川伺服驱动器型号:SV-X3EB075A-A2 伺服电机型号:SV-X2MH075A-N2LA。

RXXW_Dor的博客 2万+

Java_利用反射实现框架类

框架的简单实现欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdo

sh1886039740的博客 373

Transformer实战(40)——Transformer时间序列数据建模

Transformer 因其在自然语言处理 (Natural Language Processing, NLP) 任务中的优异表现而被广泛应用,其主要优势在于能够有效建模时间序列数据。这些数据可以是文本,也可以是非文本。本节将介绍如何使用 Transformer 进行时间序列数据建模和预测,将学习时间序列的基本概念,并在此基础上使用一个简单的模型,用以初步了解时间序列数据,并为各种预测任务奠定基础。

盼小辉丶的博客 2323

Landsat 8/9 C2L2级别数据表面反射率产品使用注意点

Landsat 8/9 C2L2级别数据表面反射率产品使用注意点

浩瀚地学的博客 6889

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

NTscan扫描工具

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

jdk8允许接口有默认实现_JDK 9:关于默认情况下允许非法反射访问的建议

Mark Reinhold对JDK 9提出了一个新建议:默认情况下,在JDK 9中允许从类路径上的代码进行非法反射访问,并在以后的版本中禁止它。 他在给OpenJDK邮件列表的一封邮件中写道:“ JDK内部API的强大封装引发了许多令人担忧的表达,即今天可在JDK 8上运行的代码明天将无法在JDK 9上运行,但是对此更改没有预先警告是在JDK 8中给出的。” 为了帮助生态系统“以更加轻松的...

886

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

.NET 9 的新增功能

.NET 9 是 .NET 8 的继任者,特别侧重于云原生应用和性能。

RZer的博客 1845

利用反射实现动态代理

Java 反射(Reflection)允许程序在运行时动态获取类的信息、访问类的成员和方法、创建类的实例等。尽管反射的性能不如直接调用高,但其灵活性使得反射在许多场景中非常有用。

HBLOG 1498

Java反射机制终极指南:从基础到高级应用

专业定义:反射是Java语言的一种能力,它允许程序在运行时(Runtime)获取类的完整结构信息(包括类名、方法、属性、构造方法等),并能动态调用对象的方法和访问/修改属性值,即使这些方法和属性在编译时是私有的。通俗理解:想象你有一个密封的盒子(类),正常情况下你只能通过盒子上的按钮(公共方法)来操作它。而反射就像是一把万能钥匙,可以打开盒子查看里面的所有零件(私有属性和方法),甚至可以直接摆弄它们。优点缺点极高的灵活性性能开销大实现动态功能破坏封装性简化框架设计安全隐患访问不可见成员。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1002

反射的原理和实现

反射:        反射应用在一些通用性比较高的代码中。        一般的框架,大多数都是使用反射来实现的。        在框架开发中,都是基于配置文件开发。        在配置文件红配置了类,可以通过反射得到类中的所有内容,可以让类中某个方法执行。        类中所有的内容:属性、没有参数的构造方法、有参数的构造方法、普通方法。   分析反射的原理:        首先把需要jav...

小天的博客 3026

面试题9——反射的用途及实现

反射的核心是JVM在运行时才动态加载类或调用方法/访问属性,它不需要事先(写代码的时候或编译期)知道运行对象是谁。 一、Java反射框架主要提供以下功能: 1.在运行时判断任意一个对象所属的类; 2.在运行时构造任意一个类的对象; 3.在运行时判断任意一个类所具有的成员变量和方法(通过反射甚至可以调用private方法); 4.在运行时调用任意一个对象的方法 二、主要用途 : 1、反射...

SongYuxinIT的博客 6627

Java反射机制详解

在Java中,反射(Reflection)是指在运行时检查、访问和修改类、接口、字段和方法等程序结构的能力。Java反射机制允许程序在运行时获取任何类的内部信息,并且能够直接操作任意对象的内部属性及方法。简单来说,反射就是把Java类中的各种成分(构造方法、成员变量、方法等)映射成相应的Java类,并在运行时动态地获取类信息以及操作类的对象。Java的反射机制使得我们可以在程序运行时:Java反射API主要由以下几个类组成,它们都位于包中:下面是一个简单的反射示例,展示了如何获取类的信息并调用方法: 执行结

yk_dflkg的博客 1180

Android反射应用

Android 反射应用:探索动态编程的奥秘 在 Android 开发中,反射是一种强大的工具,它允许程序在运行时查询和操作类、方法和字段。反射的应用可以极大地提高代码的灵活性和可扩展性,但也可能带来性能上的负担。本文将详细探讨 Android 反射的概念、应用案例,并提供相关的代码示例。 什么是反射? 反射是一种在运行时...

weixin_40880789的博客 276

C# 通过反射初探ORM框架的实现原理

背景:   以前学的Java进行开发,多用到Mybatis,Hiberante等ORM框架,最近需要上手一个C#的项目,由于不是特别难,也不想再去学习C#的ORM框架,所以就想着用反射简单的实现一下ORM框架的内容,简单的增删改查,没有用到多表之间的联系。 反射:   Java和C#中的反射大体相同,主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态...

as1406181的专栏 196

反射机制的应用,jdk8和jdk9接口的新特性接口属性,Lambda表达式

目录一、反射1.1 反射的概念1.2 获取Class对象和构造方法1.3 获取方法1.4 案例应用二、jdk8和jdk9接口的新特性2.1 jdk8:默认方法和静态方法2.2 jdk9:私有的方法三、Lambda表达式3.1 Lambda表达式简化方式3.1.1 一参有返回值3.1.2 一参以上有返回值3.1.3 无参无返回值3.1.4 有参数没有返回值3.1.5 无参数有返回值 一、反射 1.1 反射的概念 通过反射机制可以获取所有的资源 反射机制:获取类的各个部分,组成一个新的对象(Class对象)就

java开发、后端开发者 846

java反射的应用场景与限制

Java反射是一个非常强大的工具,可以实现在运行时动态地访问和操作类的信息。它在框架开发、插件化开发、单元测试等方面有着广泛的应用。然而,反射也存在一些限制,如性能问题、安全性问题和类型安全问题。在实际应用中,需要权衡反射带来的便利和潜在的问题,合理使用反射技术。通过了解Java反射的基本概念、应用场景和限制,可以更好地利用反射来编写灵活和动态的应用程序。

yuehua00的专栏 906

Java反射面试题

Java反射机制是指在运行时动态获取类的元数据(如类名、方法、属性、构造器等),并能够操作这些信息的能力。通过反射,程序可以在运行时检查类、创建对象、调用方法、访问私有成员等,而无需在编译时知道类的具体信息。等类来实现反射功能。

qq_36482202的博客 1607

跟我学c++高级篇——反射的基本实现方式

太极生两仪,两仪有四象,四象生八卦。正如道家所说一生二,二生三,三生万物。学习也要从简单抓起,然后反复不停的在此基础上锤练,不断的向上发展,让整个体系愈发的完整并且向着新的未知不断的探索。对个人来说,技术的精湛莫不如是。对技术本身来说,更是如此。要站在巨人的肩膀上,不断的向前看,看向更高。

fpcc的专栏 7076
上一篇: 8.7 ArrayList_HasSet 的比较及Hascode分析 和内存泄露
下一篇: 8.10 用类加载器的其他作用
wangdbeyond
博客等级 码龄17年 18粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值