Java相同全限定名的类加载顺序 Java

Java相同全限定名的类加载顺序

相同的类指:类的全限定名一样 问题:怎么优先加载自己写的类 解析: class文件所在位置, 直接在classpath下, 在jar包中 a: 相同的类, 一个在web-inf/classes目录下, 一个在jar包中: 此时优先加载classes目录下的class文件 b:相同的类, 都在jar包中:此时按照jar的装载顺序, 简单的如果没有其他的特殊处理, 就按照j...
阅读全文
Java项目中如何扩展第三方jar包中的类? Java

Java项目中如何扩展第三方jar包中的类?

有些时候你对第三方得到jar包中的类并不是很满意,想根据实际情况做一些扩展。如果说第三方的jar包已经提供了一些可扩展的类,比如提供了Interceptor,Filter或者其他的类,那么使用原生的比较保险一些。但是如果说并没有提供这些,那就要走一些不寻常的路。这里我总结了一些可行的方法,有的优雅,有的则是不得已而为之的。 一、继承你想要扩展的类,重写想要扩展的方法 这种做法是比较好的,符合面...
阅读全文
一文带你了解Spring核心接口Ordered的实现及应用 Spring

一文带你了解Spring核心接口Ordered的实现及应用

最近在看框架的时候,发现了这个接口,在此进行总结,希望能够给大家帮助,同时提升自己。 order接口的大体介绍 Spring框架中有这个一个接口,名字叫Ordered,联想我们在数据库中应用的Ordered,很容易想到它的含义就是用来排序。那么问题来了,Spring中为什么要定义这样一个排序接口呢。我们知道spring框架使用了大量的策略设计模式。策略设计模式意味着我们的同一个接口,会有大量的...
阅读全文
spring aop jdk vs cglib Spring

spring aop jdk vs cglib

Spring AOP mechanisms in a word, Spring AOP is proxy-based. That’s, AOP by proxying. and Spring use one of the following two ways to create the proxy for a given target bean. JDK dynamic proxies,...
阅读全文
超硬核Java工程师学习指南,真正的从入门到精通,众多粉丝亲测已拿offer! 编程技术

超硬核Java工程师学习指南,真正的从入门到精通,众多粉丝亲测已拿offer!

最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好。原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都是站在Java后端的全局上进行思考和总结的,忽略了很多小白们的感受,而很多朋友都需要更加基础,更加详细的学习路线。 所以,今天我们重新开一个新的专题,分别按照四篇文章讲述Java的学习路线(分别是入门篇,初级篇,中级篇,高级篇)...
阅读全文
记一次FullGC的排查经历--从FullGC日志到业务代码 编程技术

记一次FullGC的排查经历--从FullGC日志到业务代码

问题的发生 简单介绍下我们服务的背景,我们的服务是一个使用类似dubbo的RPC框架以及若干Spring全家桶组合起来的微服务架构,大致结构可以参考下图。 Java服务使用的是CMS的垃圾回收器。 某天突然收到一台实例(即一个Java应用)产生FullGC日志的报警,如上图红色标记的服务,FullGC的日志信息如下: 2020-07-25T14:55:07.481+0...
阅读全文
spring中aop拦截自定义注解不生效 编程技术

spring中aop拦截自定义注解不生效

最近小六六自己在项目中遇到的一些真实经历,记录起来关于aop的一些记录 AOP 面向切面编程,Spring AOP  的存在是为了解耦, AOP 可以让一组类共享相同的行为.在 OOP 只能通过继承类和实现接口,来使代码的耦合度增加,且类集成只能为单继承,阻碍更多行为添加到同一类上, AOP 弥补了 OOP 的不足. Spring 支持 AspectJ  的注解式切...
阅读全文
仅需四步,写一个springboot starter Spring

仅需四步,写一个springboot starter

引言 只要你用Springboot,一定会用到各种spring-boot-starter。其实写一个spring-boot-starter ,仅需4步。下面我们就写一个starter,它将实现,在日志中打印方法执行时间。 第一步 创建maven项目 在使用spring-boot-starter,会发现,有的项目名称是 XX-spring-boot-starter,有的是 spr...
阅读全文
Loading...