当前位置: 首页 > wzjs >正文

机械网站优化拉人头最暴利的app

机械网站优化,拉人头最暴利的app,如何让别人在百度上搜到自己公司,wordpress mould在项目维护过程中,我们可能会遇到历史项目依赖的第三方库出现BUG而需要修复的情况,而这些第三方库可能来源于公司自主开发或开源项目,但由于各种原因,这些库可能已无人维护。 此时,解决这个问题有三个办法 1、基于源…

在项目维护过程中,我们可能会遇到历史项目依赖的第三方库出现BUG而需要修复的情况,而这些第三方库可能来源于公司自主开发或开源项目,但由于各种原因,这些库可能已无人维护。

此时,解决这个问题有三个办法

1、基于源码修改重新打包发布

2、某些时候可能没有源码,需要反编译进行修改再重新编译打包

3、类覆盖

本文主要分享第三种类覆盖的实现方式,用于在一些特殊情况下解决线上问题,保证项目的正常运行。

一、类覆盖的基本原理

原理如其名,通过自定义类覆盖目标类。

具体实现方式为通过定义与三方库中存在问题目标类同名的自定义类,并确保其加载优先级高于原始类。

这里特别说明下类加载优先级的控制,分两种情况

1. 直接依赖

项目直接依赖了一个库C,项目源码打包后是在classes目录下的,此种情况无需特殊控制,默认classes目录优先加载,因此自定义的类会优先于依赖库中的类加载。

2. 关联依赖

项目依赖了库B,库B又依赖了库C,如果要控制库B和库C中同名类的加载顺序,可以通过定义依赖顺序进行控制。

以SpringBoot Maven 工程为例,B依赖定义在C依赖上面,可以保证最终生成的可执行jar中classpath.idx里面定义的库加载顺序B优先于C,保证最终加载时B库中的类优先于C库加载。

<dependency><groupId>org.example</groupId><artifactId>B</artifactId><version>1.0-SNAPSHOT</version>
</dependency>
<dependency><groupId>org.example</groupId><artifactId>C</artifactId><version>1.0-SNAPSHOT</version>
</dependency>

在这里插入图片描述

二、一个示例

如下工程,有一个依赖的三方库C

在这里插入图片描述

C依赖库种有一个C工具类,代码如下,其中的isEmpty方法未判断null值,会导致空指针异常

package org.c;public class C {public static boolean isEmpty(String s){return s.isEmpty();}}

主模块A类代码如下,调用了C类的isEmpty方法

public class A {public static void main(String[] args ) {String s = "123";if(!C.isEmpty(s)){System.out.println("String is " + s);}String ss = null;if(!C.isEmpty(ss)){ // 异常位置System.out.println("String is " + s);}}}

运行A类将会在异常位置处出现空指针异常。

下面使用类覆盖方法进行BUG修正。

2.1 创建同名类

在A模块种创建同名类C,如下

注意同名类是整个包名 + 类名相同

在这里插入图片描述

自定义C类的代码如下

package org.c;public class C {public static boolean isEmpty(String s){// 修复原始库空指针问题if(s == null) {return true;}return s.isEmpty();}}
2.2 验证效果

再次运行A类,程序正常执行完成。

三、总结

首先,优先推荐前两种方式进行问题修复,但是某些时候受制于时间、成本、风险等因素需要快速解决问题,这时,可以考虑第三种方案类覆盖。

需要特别注意的是,修改的方法可能会被多处调用,修改时需要充分考虑兼容性。

http://www.dtcms.com/wzjs/317333.html

相关文章:

  • 做网站公司无锡9个成功的市场营销案例
  • 苏州行业网站建设报价市场推广方案怎么写
  • 做知识问答的网站百度app官方下载
  • 彩票网站开发多少钱长沙网络推广平台
  • wordpress 博客多人手机网站优化排名
  • 建设宁波市分行的互联网网站企业网站建设cms
  • 浏览器上不了网其他都正常电商seo搜索引擎优化
  • 手机web端怎么进vue seo优化
  • 海阳做网站上海牛巨微网络科技有限公司
  • 中国最大的招商平台免费seo网站推广
  • 搭建网站教程互联网营销工具有哪些
  • 网站开发培训收费百度app下载安装 官方
  • 花瓣网设计网站学做网站需要学什么
  • 新闻发布会活动方案百度百科优化排名
  • 微商城网站建设信息世界搜索引擎公司排名
  • 国务院政府网站建设原则网络营销就业方向和前景
  • wordpress 托管是什么重庆网站seo公司
  • 做网站需要花钱吗东莞百度seo排名
  • 高端模板网站建设价格百度seo排名优化如何
  • 公司可以做多个网站吗免费网站制作
  • 郑州学校网站建设哔哩哔哩b站在线看免费
  • 网站有限公司免费知名网络推广
  • 帮人家做家务的网站网址查询
  • 注册一个做网站的公司搜全网的浏览器
  • 成都网站建设制作价格网站宣传推广文案
  • 专业做网站建设公百度营消 营销推广
  • 大连外贸网站制作如何推广网站运营
  • 网站建设中html网页设计自学要多久
  • 鞍山找工作哪个网站最靠谱网站外链代发
  • 沈阳公司seo网络搜索引擎优化