如何将网址提交到一些权重比较高的网站wordpress 去除评论框

web/2025/9/25 22:40:00/文章来源:
如何将网址提交到一些权重比较高的网站,wordpress 去除评论框,机械外贸网站,游戏门户网站有哪些注解是什么#xff1f; 注解可以理解成注释、标记、标签的意思#xff0c;用来标记类、方法等。就相当于现实生活中的一些事物#xff0c;上边贴一个标签或者写一些注释性文字来描述它可以用来做什么、怎么用、何时用等信息。Java中的注解也是一样的#xff0c;用来表示被标…注解是什么 注解可以理解成注释、标记、标签的意思用来标记类、方法等。就相当于现实生活中的一些事物上边贴一个标签或者写一些注释性文字来描述它可以用来做什么、怎么用、何时用等信息。Java中的注解也是一样的用来表示被标记的部分可以做什么、怎么做、何时做等信息。 注解可以用来做什么 注解具有生成文档、在编译时期对代码进行检查、运行时期可以动态的实现业务功能降低耦合度等用途。 注解怎么用 Java中的注解可分为三类内置的可以直接用于功能代码的、内置的元注解、自定义注解其中元注解用于来注释自定义的注解使用interface关键字来声明自定义注解使用注解时直接注解名即可。接下来使用看一下实际中的用法 1、三个内置注解 //SuppressWarnings 用于消除警告 SuppressWarnings(unused) public void warningTest() {//SuppressWarnings(unused)int i 0;int j 0;System.out.println(就是不使用i); }// Override 用于表示重写方法 Override public void run() {super.run(); }//Deprecated 表示被注释的方法已经过时了 Deprecated public void deprecatedTest() {} 2、自定义注解、元注解 // 如果没有 Documented 定义的注解不会被javadoc写入到文档中但是我测试着可以哎了解即可 Documented //Retention 注解用于确定注解的保留期限 Retention(RetentionPolicy.RUNTIME) // Target 用于标记此注解可以使用的位置是什么类、方法等 Target(ElementType.TYPE)public interface FirstPrintAnnotation {//这里可以定义设置的值专业名词注解元素//类型只能是基本数据类型、String、Class、Enum、Annotation//类似于定义方法似的定义一个值用于设置数据//String value default “h” 或//String []values() ;//这个值在使用注解值一定要是一个确定的值String value(); }/*** 用来查看AnnontationTest类中用了注解FirstPrintAnnotation的方法并获取方法名*/ public class AnnontationTest{public static void main(String[] args) {ClassAnnontationTest clazz AnnontationTest.class;Method[] methods clazz.getMethods();for (Method method : methods) {FirstPrintAnnotation firstPrintAnnotation method.getAnnotation(FirstPrintAnnotation.class);if (firstPrintAnnotation ! null) {System.out.println(使用了注解FirstPrintAnnotationd的方法有firstPrintAnnotation.value());}} }FirstPrintAnnotation(test1) public void test1() {} FirstPrintAnnotation(test2) public void test2() {} FirstPrintAnnotation(test3) public void test3() { }}----------------------------------------------------------------- //Retention 源码 Documented Retention(RetentionPolicy.RUNTIME) Target(ElementType.ANNOTATION_TYPE) public interface Retention {RetentionPolicy value(); }//RetentionPolicy 代码 //源码解释 //它们与 { Retention } 元注解类型一起使用以指定注释将被保留多长时间。 public enum RetentionPolicy {//注释将被编译器丢弃就是只在源码中用以下SOURCE,//注解由编译器记录在类文件中不需要在运行时被JVM保留默认情况可以在class文件中用CLASS,//注释将由编译器记录在类文件中并在运行时由JVM保留所以可以通过反射获取可在运行时类中获取RUNTIME }------------------------------------------------------------------ //Target 源码 Documented Retention(RetentionPolicy.RUNTIME) Target(ElementType.ANNOTATION_TYPE) public interface Target {ElementType[] value(); }//ElementType 源码 //这个枚举类型的常量提供了Java程序中可能出现注释的语法位置的简单分类。 public enum ElementType {//类、接口(包括注释类型)或枚举声明TYPE,//字段声明(包括枚举常量)FIELD,//方法声明METHOD,//正式的参数声明PARAMETER,//构造函数声明CONSTRUCTOR,//本地变量声明LOCAL_VARIABLE,//注解类型声明ANNOTATION_TYPE,//包说明PACKAGE,//类型参数声明TYPE_PARAMETER,//类型的使用TYPE_USE } 注解的实现原理是什么 对编译后的注解类进行反编译就会看到注解会被编译成一个接口类型并且继承了Annotation接口这些都是jvm隐式做的工作没必要深究所以注解不可以像平常类一样使用new进行实例化但是可以设置它存在于运行时期所以可以通过反射的方式获取并解析注解。那他到底是怎么工作的呢通常处理注解都另写一个注解处理器类这里就不写了原理就是根据使用了注解的类、方法或者变量来通过反射技术获取到注解然后对相应代码进行额外功能的添加。简单的看一下如下代码其实就是上边的实例代码 public static void main(String[] args) throws InstantiationException, IllegalAccessException {ClassAnnontationTest clazz AnnontationTest.class;Method[] methods clazz.getMethods();for (Method method : methods) {FirstPrintAnnotation firstPrintAnnotation method.getAnnotation(FirstPrintAnnotation.class);if (firstPrintAnnotation ! null) {//所属类型com.sun.proxy.$Proxy1System.out.println(所属类型firstPrintAnnotation.getClass().getName());Class?[] classes firstPrintAnnotation.getClass().getInterfaces();for (Class? class2 : classes) {//实现的接口interface com.czp.annontation.FirstPrintAnnotationSystem.out.println(实现的接口class2);}Class? superclass firstPrintAnnotation.getClass().getSuperclass();//继承的类class java.lang.reflect.ProxySystem.out.println(继承的类superclass);//使用注解的值test1//实际上是 代理对象调用的是AnnotationInvocationHandler 中的invoke方法//在此处打上断点测试即可firstPrintAnnotation.value();System.out.println(使用注解的值firstPrintAnnotation.value());}}} 因为此注解可以存在于运行时阶段所以可以通过反射技术获取到它的运行时类的对象打印出来是class com.sun.proxy.$Proxy1。这样我们就可以确定了注解工作是依赖于java中的动态代理类通过反射生成注解对应接口的对象实际上是java的动态代理类然后通过代理对象去调用注解元素当使用代理类调用方法时实际上是调用AnnotationInvocationHandler 的invoke 方法在成员变量memberValues中获取的值。看一下运行时的源码 //以根据方法反射注解为例分析//思路先将被类的运行时期的注解放到一个Map中然后根据传入的注解类型获取对应的注解的代理类//根据注解类型获取对应的Map集合中的注解对象 public T extends Annotation T getAnnotation(ClassT annotationClass) {Objects.requireNonNull(annotationClass);return annotationClass.cast(declaredAnnotations().get(annotationClass)); } //使用一个 Map注解的运行时类注解 来存放注解信息 private transient MapClass? extends Annotation, Annotation declaredAnnotations; private synchronized MapClass? extends Annotation, Annotation declaredAnnotations() {//if (declaredAnnotations null) {Executable root getRoot();//Excecutable用于注释共享。Method继承自Excecutableif (root ! null) {declaredAnnotations root.declaredAnnotations();} else {declaredAnnotations AnnotationParser.parseAnnotations(//一个注解分析器getAnnotationBytes(),sun.misc.SharedSecrets.getJavaLangAccess().getConstantPool(getDeclaringClass()),getDeclaringClass());}}return declaredAnnotations; }//获取Map集合 public static MapClass? extends Annotation, Annotation parseAnnotations(byte[] var0, ConstantPool var1, Class? var2) {if (var0 null) {return Collections.emptyMap();} else {return parseAnnotations2(var0, var1, var2, (Class[])null);} }private static MapClass? extends Annotation, Annotation parseAnnotations2(byte[] var0, ConstantPool var1, Class? var2, Class? extends Annotation[] var3) {LinkedHashMap var4 new LinkedHashMap();ByteBuffer var5 ByteBuffer.wrap(var0);int var6 var5.getShort() ?;for(int var7 0; var7 var6; var7) {Annotation var8 parseAnnotation2(var5, var1, var2, false, var3);//这是获取注解具体实现类的操作if (var8 ! null) {Class var9 var8.annotationType();//当注解可以到运行时期使用时则添加到LinkedHashMap var4中if (AnnotationType.getInstance(var9).retention() RetentionPolicy.RUNTIME var4.put(var9, var8) ! null) {throw new AnnotationFormatError(Duplicate annotation for class: var9 : var8);}}}return var4; }AnnotationInvocationHandler(Class? extends Annotation var1, MapString, Object var2) {Class[] var3 var1.getInterfaces();if (var1.isAnnotation() var3.length 1 var3[0] Annotation.class) {//初始化注解数组this.type var1;this.memberValues var2;} else {throw new AnnotationFormatError(Attempt to create proxy for a non-annotation type.);} }public Object invoke(Object var1, Method var2, Object[] var3) {String var4 var2.getName();Class[] var5 var2.getParameterTypes();if (var4.equals(equals) var5.length 1 var5[0] Object.class) {return this.equalsImpl(var3[0]);} else if (var5.length ! 0) {throw new AssertionError(Too many parameters for an annotation method);} else {byte var7 -1;switch (var4.hashCode()) {case -1776922004 :if (var4.equals(toString)) {var7 0;}break;case 147696667 :if (var4.equals(hashCode)) {var7 1;}break;case 1444986633 :if (var4.equals(annotationType)) {var7 2;}}switch (var7) {case 0 :return this.toStringImpl();case 1 :return this.hashCodeImpl();case 2 :return this.type;default :Object var6 this.memberValues.get(var4);//在数组中获取对应的值if (var6 null) {throw new IncompleteAnnotationException(this.type, var4);} else if (var6 instanceof ExceptionProxy) {throw ((ExceptionProxy) var6).generateException();} else {if (var6.getClass().isArray() Array.getLength(var6) ! 0) {var6 this.cloneArray(var6);}return var6;}}} } 简单介绍一下动态代理就是在运行时期确定代理的类型。使用动态代理时需要使用都的两个类是Proxy和InvacationHandler。做一个简单的例子代码如下 //被代理类的公共接口 public interface Subject {void show(); }-------------------------------------------------------------//被代理类的一个实现 RealSubject public class RealSubject implements Subject{Overridepublic void show() {System.out.println(动态代理);} }//被代理类的一个实现 RealSubject public class RealSubject implements Subject{Overridepublic void show() {System.out.println(动态代理);} }-------------------------------------------------------------//动态代理必须要实现InvocationHandler接口而不是被代理类的公共接口 public class DynProxyT implements InvocationHandler{//被代理类对象private T t;//获取代理对象public T getBlind(T t){this.t t;return (T) Proxy.newProxyInstance(t.getClass().getClassLoader(), t.getClass().getInterfaces(), this);}//必须要重写这个方法Overridepublic Object invoke(Object porxy, Method method, Object[] args) throws Throwable {return method.invoke(t, args);} }-------------------------------------------------------------//测试 public class Test {public static void main(String[] args) {//确定一下代理的公共接口类型DynProxySubject proxy new DynProxy();//获取代理对象Subject blind proxy.getBlind(new RealSubject());System.out.println(blind.getClass().getName());//com.sun.proxy.$Proxy0blind.show();} }

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

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

相关文章

广告设计就业方向和前景南昌网站建设方案优化

文章目录1. 逻辑回归二分类2. 垃圾邮件过滤2.1 性能指标2.2 准确率2.3 精准率、召回率2.4 F1值2.5 ROC、AUC3. 网格搜索调参4. 多类别分类5. 多标签分类5.1 多标签分类性能指标本文为 scikit-learn机器学习(第2版)学习笔记逻辑回归常用于分类任务 1. 逻…

seo网站设计团购网站案例

鲸参谋监测的京东平台9月份空气净化器市场销售数据已出炉! 9月份,空气净化器的销售同比上年增长。根据鲸参谋平台的数据显示,今年9月,京东平台空气净化器的销量将近15万,同比增长约1%;销售额将近2亿元&…

政务公开网站建设整改方案手机在网上怎么创建自己的网站

问题: 级数敛散性和积分敛散性的区别联系是什么?学习的目的是什么?最重要的目的是什么? 主要内容。 部分和 s ∑ i 1 n u i s \sum_{i1}^{n} u _{i} si1∑n​ui​ 注意:部分和不是数列的一部分之和,…

黄埔做网站公司it外包企业排名

方差可以反应变量的离散程度,是因为它度量了数据点与均值的差异。方差是每个数据点与均值的差的平方和的平均值,它可以反映数据点在均值附近的分布情况。如果方差较小,说明数据点更加集中在均值附近,离散程度较小;如果…

中山企业建网站wordpress无法缩进

云服务器可以装多个系统吗 内容精选换一换示例:购买并登录Windows弹性云服务器示例:购买并登录Linux弹性云服务器云平台提供了多种实例类型供您选择,不同类型的实例可以提供不同的计算能力和存储能力。同一实例类型下可以根据CPU和内存的配置…

教做视频的网站建产品网站怎么做

每个JJ Abrams的电视连续剧疑犯追踪从主要人物芬奇先生一个下列叙述情节开始:“ 你是被监视。 政府拥有一个秘密系统-每天每天每小时都会对您进行监视的机器。 我知道是因为...我建造了它。 “当然,我们的技术人员知道得更多。 庞大的电气和软件工程师团…

网站域名如何起网站素材站

程序员不仅拥有将抽象概念转化为实际应用的能力,还通常具备强大的逻辑思维和问题解决能力。然而,许多程序员并不满足于仅仅在一家公司工作,他们渴望通过副业来实现个人价值的最大化,增加收入,甚至探索自己的创业梦想。…

网站内部优化做静态网站选用什么服务器

9.3.3 内连接(INNER JOIN) 内连接也称为等同连接,返回的结果集是两个表中所有相匹配的数据,而舍弃不匹配的数据。也就是说,在这种查询中,DBMS只返回来自源表中的相关的行,即查询的结果表包含的…

网站建设建站网易互客网站建设怎么做帐

建立时间和保持时间的模型分析 起点是源触发器D1的采样时刻,终点是目的触发器D2的采样时刻,假设起点已经满足了建立时间和保持时间要求,现在分析终点采样时刻是否同样满足要求。 其中 Tco:数据正确采样后从D端到达Q端的延时,触发器固有属性,不可改变。TDelay:D1输出端…

昆明c2c网站建设苏州市网站

未完待续...T1:牛牛的方程式titlesolutioncodeT2:牛牛的猜数游戏titlesolutioncodeT3:牛牛的凑数游戏titlesolutioncodeT1:牛牛的方程式 title solution 因为浮点错误炸了70pts 这个三元一次不定方程呢,其实也没有…

网站做境外第三方支付关于申请建设网站申请报告

题干: 给出一个n1个点的树,以及p个点对,需要断开一些点,使得这p个点对路径不连通。输出应该断开的最少点数。 解题报告: 从那p个点对入手的话:首先考虑只有一对点的话,肯定是这条路径上的随便…

微博营销网站服务器维护要多久

冒泡排序 冒泡排序是一种 稳定 的排序算法。 它的工作原理是每次检查相邻两个元素,如果前面的元素与后面的元素满足给定的排序条件,就将相邻两个元素交换。当没有相邻的元素需要交换时,排序就完成了。 假设我们想要从小到大进行排序&#…

电商网站开发的项目描述张艺兴粉丝做的网站

本题使用go语言完成: 思路:1.先求出整个数组的和 2.用一个循环整个和减去左和看是否等于右和,如果等于,返回索引下标 寻找数组的中心索引 给你一个整数数组 nums ,请计算数组的 中心下标 。 数组 中心下标 是数组的一…

已有网站开发安卓app做体彩网站怎么做

情况介绍:一、由于硬盘或者分区的操作方式其实都一样,所以我这里就以分区为例。二、/home分区2.6G,由如下pv组成:/dev/sda5 100M/dev/sda6 200M/dev/sda7 300M/dev/sda8 400M/dev/sda9 500M/dev/sda10 600M/dev/sda11 500M很碎对吧…

北京哪个网站建设最好asp 英文企业网站 免费

文章目录 前言一、噪声种类与生成1.1 椒盐噪声1.2 高斯噪声1.3 彩色噪声 二、卷积操作2.1 卷积基本原理2.2 卷积操作代码实现 三、线性滤波3.1 均值滤波均值滤波原理均值滤波公式均值滤波代码实现 3.2 方框滤波方框滤波原理方框滤波公式方框滤波代码实现 3.3 高斯滤波高斯滤波原…

外贸网站推广怎么做wordpress 考试

作者 | 俞方桦 随着大数据时代的到来,传统的关系型数据库由于其在数据建模和存储方面的限制,变得越来越难以满足大量频繁变化的需求。关系型数据库,尽管其名称中有“关系”这个词,却并不擅长处理复杂关系的查询和分析。另外&…

网站创建多少年了安徽省住房城乡建设厅官方网站

Google 的项目大多使用 C开发。每一个 C程序员也都知道,C具有很多强大的语言特性,但这种强大不可避免的导致它的复杂,而复杂性会使得代码更容易出现 bug、难于阅读和维护。 本指南的目的是通过详细阐述如何进行 C编码来规避其复杂性&#xf…

asp做网站策划书哪些企业是中小企业

今天在自己的服务器上使用wget下载一个大文件时,不小心把ssh断开连接了,重新登上去后想查看这个文件的下载进度,现记录一些wget的知识点。1:后台下载使用wget -b url[root8f9fbda9bb48 ~]# wget -b http://cn.wordpress.org/word…

大学 英文网站建设萝岗营销型网站建设

目录 一. 前言 二. 实现 三. 优缺点 一. 前言 解释器模式(Interpreter Pattern)指给定一门语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子,属于行为型设计模式。是…

休闲咖啡厅网站开发目标怎样临沂网站建设

参考资料: VS插件开发 - 个性化VS IDE编辑器 自己动手编写一个VS插件(一) VS Addin插件基本开发入门 VS Addin插件配置、部署 转载于:https://www.cnblogs.com/wangwangfei/p/5830081.html