在maven中导入依赖12345678910<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.19.0</version></dependency><dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j2-impl</artifactId> <version>2.19.0</version></dependency>
配置文件一般maven项目放在resources目录下
12345678910111213141516171819202122232425262728293031323334353637 ...
类似JavaScript的DOM操作
可以理解为通过反射把一个类的属性,方法,拆分出来,作为一个对象来使用
例如拆分成
Class对象:代表类的类型信息,可以用来获取类的静态属性,创建对象实例等。
Field对象:代表类中的字段(成员变量),可以用来获取或设置字段的值。
Method对象:代表类中的方法,可以用来调用方法。
Constructor对象:代表类的构造器,可以用来创建对象实例。
假设您有一个名为Person的类,其中有一个名为name的字段和一个名为sayHello的方法。使用反射,您可以这样做:
1234567891011121314151617181920212223242526272829303132333435363738394041import java.lang.reflect.Field;import java.lang.reflect.Method;public class ReflectionExample { public static void main(String[] args) { try ...
问题
为什么反射加载不知道的类,在使用Class.forName()方法时,需要指定一个类的名称,那这不就是知道了类吗?
当我们使用new关键字创建对象时,我们的代码必须知道具体的类,编译器会在编译时检查这个类是否存在,这种方式是静态的,在编译时就需要确定所有的类和对象。但是,当我们使用反射时,我们可以在程序运行时才决定使用哪个类,这样程序就可以更加灵活地响应在编译时无法预知的变化。
使用Class.forName()的典型场景包括:
插件系统:应用程序可以加载不同的插件,而这些插件的具体类在编译时是不确定的。
配置驱动的应用程序:类的名称可以从配置文件中读取,程序根据配置来加载对应的类。
动态代理:在运行时创建接口的代理实例,这些接口的实现类是在运行时确定的。
数据库驱动加载:JDBC中经常使用Class.forName()来动态加载数据库驱动。
在这些情况下,尽管我们使用Class.forName()时知道要加载的类名,但这个类名很可能是用户输入、配置文件、或者网络传输等在程序运行时才能确定的信息,而不是在编写代码时就能固定的。因此,反射提供了一种运行时动态处理类的机制,增 ...
快捷键 win + R,在打开的运行窗口中输入 %localappdata%,回车。
勾选“查看”-》“显示”-》“隐藏的项目”,展示隐藏文件
删除IconCache.db
重启资源管理器就好了
引用站外地址
Chocolate
chocolate的仓库链接
cmd安装
1@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
powershell安装
1Set-ExecutionPolicy Byp ...
记事本123456789101112131415161718192021222324252627282930313233343536373839404142434445464748<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>notepad</title> <script src="vue.global.min.js"></script></head><body> <div id="app"> <!-- 定义一个文本框 --> & ...
Array对象使用
JavaScript 中的 Array对象用于创建数组
定义
var 变量名 = new Array(元素列表); // 方式一var 变量名 = [元素列表]; // 方式二
访问
变量名[索引]=值;
1234567891011121314151617// 定义数组var arr = new Array(1, 2, 3, 4);for (let i = 0; i < arr.length; i++) { console.log(arr[i]);}// 特点:长度可变,类型可变var b = [1, 2, 3];b[10] = 50;// [1, 2, 3, 空 ×7, 50]console.log(b);b[8] = 'A';b[9] = true;// [1, 2, 3, 空 ×5, 'A', true, 50]console.log(b);
属性、方法
length :设置或返回数组中元素的数量。
fo ...
引用站外地址
cn.vuejs.org
开始练气使用CDN载入
还是建议把js文件下载到本地使用
全局构建版本我的理解是:在全局中有一个Vue对象,使用赋值语句,会自动把Vue对象里相同的属性值赋给用户,这样就可以不用在每个Vue语法前加Vue关键字
1234567891011121314151617<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script><div id="app">{{ message }}</div><script> const { createApp, ref } = Vue// 可以使用 Vue.createApp( ...
推荐在线网站https://regex101.comhttps://geek-docs.com/java/java-tutorial/regex.html
Java中的语法参照表Java 具有用于处理正则表达式的内置 API。 它位于java.util.regex中。
Pattern就是regex正则表达式的对象,返回一个Pattern对象Matcher是进行匹配操作的对象,返回true/false
正则表达式
含义
例子
.
匹配任何单个字符。
示例
?
一次匹配或根本不匹配前面的元素。
+
与前面的元素匹配一次或多次。
*
与前面的元素匹配零次或多次。
^
匹配字符串中的起始位置。
$
匹配字符串中的结束位置。
|
备用运算符。
[abc]
匹配 a 或 b 或 c。
[a-c]
范围; 匹配 a 或 b 或 c。
[^abc]
否定,匹配除 a 或 b 或 c 之外的所有内容。
\s
匹配空白字符。
示例
\w
匹配单词字符; 等同于[a-zA-Z_0-9]
示例
\d
匹配单词字符; 等同于[ ...
Illustrator试题及答案
一、 单选题(共60题)
1、分别把基本形体按大小、方向、疏密、虚实、色彩等规律进行视觉构成的方法是( )构成法。A.近似B.渐变C.发射D.空间 正确答案: Click
B
2、下列对线的说法错误的是( )。A.水平直线安定稳妥,具有平静永恒的性格,保守、寂寞、没有生气。B.垂直线严谨、坚挺、向上,视觉紧张感强烈,是阳刚的线。C.几何曲线打破了空间的稳定性,产生不安定的因素,是有方向感和运动感的线。D.折线有指示性和方向性,具有强烈的运动感和刺激感。正确答案: Click
B
3、( )是版式设计中最常见的方式,也是最符合视觉心理学,阅读最舒服的方式。A.左对齐B.右对齐C.中对齐D.两端对齐正确答案: Click
B
4、( )是指对事物进行有规律的组织和安排,在版式设计中指合理安排版面构成元素的布局关系。A.对比法则B.层次法则C.聚拢法则D.网格法则正确答案: Click
D
5、( )图片在实际应用中一般以透明背景呈现,能有效地排除其他干扰元素,突出主体形象。A.全图B.出血图C.形状图D.退底图正确答案: Click
...