java反射机制
基础内容反射调用就是指通过反射机制进行的方法调用。反射机制是Java编程语言的一个重要特性,它允许程序在运行时检查、操作和实例化类,方法,字段等,并在运行时获取类的信息以及动态调用类的方法。反射机制使得Java程序可以在运行时动态地加载、探测和使用类,而不需要在编译时就知道这些类的具体信息。
通过反射机制,可以实现以下功能:
获取类的信息:可以在运行时获取类的信息,如类的名称、父类、接口、成员变量、方法等。
实例化类:可以通过类的名称动态实例化类的对象。
调用方法:可以通过方法名动态调用类的方法。
获取字段信息:可以通过字段名获取类的字段信息。
动态代理:可以在运行时动态生成代理类,实现代理相关的功能。
java基本反射调用反射调用一般分为4个步骤:
类的实例化
得到要调用类的class
得到要调用的类中的方法(Method)
方法调用(invoke)
obj.getClass()获得类:demo:
import java.lang.reflect.Method;public class Main{ public static void main(String[ ...
nodejs VM和VM2沙箱逃逸
参考:https://xz.aliyun.com/t/11859?time__1311=mqmx0DBD9DyDuBYD%2FQbiQQLcxA2%3D7YRieD&alichlgref=https%3A%2F%2Fwww.google.com%2F#toc-6
参考:https://www.anquanke.com/post/id/237032#h3-4
基础概念一、1:JavaScript和Nodejs之间区别:JavaScript用在浏览器前端,后来将Chrome中的v8引擎单独拿出来为JavaScript单独开发了一个运行环境,因此写在后端(服务端)的JavaScript就叫叫做Nodejs。
2:在Nodejs中,我们可以通过引入vm模块来创建一个“沙箱”,但其实这个vm模块的隔离功能并不完善,还有很多缺陷,因此Node后续升级了vm,也就是现在的vm2沙箱,vm2引用了vm模块的功能,并在其基础上做了一些优化。
二、nodejs作用域:说到作用域,我们就要说一下Node中的作用域是怎么分配的(在Node中一般把作用域叫上下文)
在JavaScript中window是 ...
github pages+ hexo 博客搭建
github pages+ hexo 博客搭建一、下载 Gitgit是一个包管理工具,在linux是自带的,windows上需要下载。
参考:https://www.cnblogs.com/xueweisuoyong/p/11914045.html
个人感觉下了就行,不用怎么配置
二、下载 Nodejs参考:https://blog.csdn.net/weixin_38610651/article/details/108721957
(名字就不码了,太多了)
下载后可以进行配置,改变 npm 下载路径
三、安装 Hexo执行命令
npm install hexo-cli -g
emmm,全是报错,问下gdp,发现是文件权限问题,因为上面改过node文件的配置以及环境。
干脆把所有文件权限全部设为了用户最高权限
再次执行命令
然后依次执行
hexo init (文件名)(可选,默认本文件夹)npm installhexo ghexo s
g是部署,s是本地启动
效果如下:
然后就是部署到 github 上。详细看参考:https://blog.csdn.net/yaor ...
redis数据库主从复制
redis主从复制1redis是什么参考:https://www.cnblogs.com/testfan2019/p/11008297.html
一款内存高速缓存数据库,
最大的特点:快
2gopher协议是什么
Gopher是Internet上一个非常有名的信息查找系统,它将Internet上的文件组织成某种索引,很方便地将用户从Internet的一处带到另一处
gopher协议支持发出GET、POST请求:可以先截获get请求包和post请求包,在构成符合gopher协议的请求。gopher协议是ssrf利用中最强大的协议
Gopher协议格式:URL:gopher://:/_后接TCP数据流
其实感觉gopher协议就是可以发送数据流,在ssrf中这个协议类似可以传递数据命令。
3redis主从复制是什么
Redis是一个使用ANSI C编写的开源、支持网络、基于内存、可选持久性的键值对存储数据库。但如果当把数据存储在单个Redis的实例中,当读写体量比较大的时候,服务端就很难承受。为了应对这种情况,Redis就提供了主从模式,主从模式就是指 ...