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

深喉咙企业网站帮助银行官方网站

深喉咙企业网站帮助,银行官方网站,福州市官网,南宁高端网站建设目录 一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理 背景#xff1a; 在我们日常的开发中#xff0c;经常需要使用第三方的 jar 包#xff0c;有时候我们会发现第三方的 jar 包中的某一个类有问题#xff0c;或者我们需要定制化修改其中的逻辑#xff0c… 目录 一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理 背景 在我们日常的开发中经常需要使用第三方的 jar 包有时候我们会发现第三方的 jar 包中的某一个类有问题或者我们需要定制化修改其中的逻辑那么应该如何实现呢 一、需求描述 需求描述如下 需要在阿里的 fastjson 工具包的序列化过程中增加一行日志。 二、示例描述 Maven依赖 dependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.78/version /dependency使用代码示例 import com.alibaba.fastjson.JSONObject;import java.util.HashMap; import java.util.Map;public class TestController {public static void main(String[] args) {MapString, Object map new HashMap();map.put(name, ACGkaka);map.put(age, 18);String s JSONObject.toJSONString(map);System.out.println(result: s);} }三、操作步骤 在 IDEA 中按住 Ctrl 之后点击 JSONObject.toJSONString() 方法可以查看方法的底层实现在右上角会出现一个 Download Sources 按钮点击下载源码。 下载后需要在项目中创建出 一模一样的包结构可以看到这个类的包是 com.alibaba.fastjson。 然后在创建好的包结构下面新建 一个一模一样的类名即 JSON 。 然后我们把之前的源码内容全部复制粘贴到新建的 JSON 类中并加入一行日志如下所示 操作完毕之后我们就可以再次执行代码进行验证了。 四、验证结果 重新执行我们的示例代码结果如下 可以看到我们的 JSON 代码已经覆盖了原有 jar 包里面的类。 五、实现原理 不光要知其然还要知其所以然。 在 Java 项目中通过相同的包结构和类名来覆盖引入以来中的类和方法逻辑主要利用了 Java 类加载机制中的 类加载器ClassLoader 和 类路径优先级。 Java 使用 类加载器ClassLoader来加载类文件。类加载器遵循 双亲委派模型Parent Delegation Model即 当一个类加载器收到类加载请求时首先将请求委派给父类加载器只有当父类加载器无法找到该类时才会尝试自己加载。 启动类加载器Bootstrap ClassLoader负责加载核心Java库如rt.jar这些库位于JDK的jre/lib目录下。扩展类加载器Extension ClassLoader负责加载Java扩展库如jce.jar这些库位于JDK的jre/lib/ext目录下。应用类加载器Application ClassLoader负责加载应用程序的类路径classpath下的类和资源。这是最常见的类加载器用于加载用户定义的类以及通过依赖管理工具如Maven、Gradle引入的外部库。自定义类加载CustomizeClassLoader可以自行创建定制的类加载器。 假设你有一个典型的Spring Boot项目结构如下 my-app.jar ├── META-INF │ └── MANIFEST.MF ├── BOOT-INF │ ├── classes │ │ └── com │ │ └── example │ │ └── MyApplication.class │ └── lib │ ├── spring-boot-starter-web-2.6.0.jar │ ├── spring-core-5.3.14.jar │ └── ... (其他依赖JAR文件) └── org└── springframework└── boot└── loader└── JarLauncher.classSpring Boot使用了一个名为 LaunchedURLClassLoader或其子类的自定义类加载器来加载嵌入式JAR文件中的类和资源。具体来说Spring Boot的启动引导类如JarLauncher会按照以下顺序加载类和资源 优先加载 BOOT-INF/classes 中的类和资源这是你的应用程序代码所在的位置。Spring Boot首先从这里加载类和资源。然后加载 BOOT-INF/lib 中的依赖 JAR 文件这些是你的应用程序所依赖的所有外部库。 整理完毕完结撒花~ 参考地址 1.java 覆盖 jar 包的 类_覆盖第三方jar包中的某一个类。妙https://blog.csdn.net/weixin_39706441/article/details/114098373
http://www.hkea.cn/news/14555720/

相关文章:

  • 威海有名的做网站如何在公司网站上添加内容
  • 南沙移动网站建设wordpress微信主题
  • 个人视频网站制作建站特别慢wordpress
  • dede网站架设教程wordpress 4.7.1
  • seo建站技术做网站收录
  • 福建建设厅网站江浦企业管理咨询服务有限公司
  • 广州网站(建设信科网络)wordpress上传至哪个目录下
  • 网站开发 待遇怎么样泉州做网站seo的
  • 财务管理做的好的门户网站长沙哪个网站建设最好
  • 免费做网站软件视频烟台艺术学校官网
  • flash网站作品欣赏无锡网站制作启航好
  • 模拟网站开发广告公司报价单明细
  • 网站的默认首页郑州一建拖欠工资
  • 宁波网站建设哪家公司好汽车用品网站建设策划书
  • 微信商城开发需要多少钱seo品牌优化整站优化
  • 专业网页制作流程网站优化标题不超过多少个字符
  • 如何建站适合前端开发的电脑推荐
  • 一起做网站可以一件代发吗泰安网站建设费用
  • 网站开发详细设计wordpress更新文章post.php错误
  • 苏州晶体公司网站渝北集团网站建设
  • 建设银行网站适用浏览器30个适合大学生创业的项目
  • 国外做网站侵权网站开发是否用html5
  • 制作静态网站模板wordpress 域名绑定
  • 一个域名怎么用来做多个网站凡科网干嘛的
  • 用vs做网站阿里云服务器可以做下载类网站吗
  • 可以做签名链接的网站兼职网站制作
  • 电子商务网站建设花费优化大师下载安装app
  • 网页设计与网站建设专业东营网站备案代理公司
  • 江门网站建设推广策划网站排名优化软件电话
  • 空间网站认证承接php网站建设