动态代理
-
拥有一台个人服务器能做些什么?
❝前言 实际上买一台工控机做服务器成本并不高,几百块买个树莓派或者n5105、n100都是绰绰有余的,那么它们可以做哪些事情呢? 使用nastool+pt+emby/jefflyf…
-
分层设计:Service 层真的需要实现接口吗?
戳上方蓝字“Java知音”关注我 前几天看技术交流群的话题,又刷到了Service 层和 Dao 层真的有必要每个类都加上接口吗?这个问题,之前简单回答了一波,给出的观点是看情况 …
-
Android开发中常见的Hook技术有哪些?
Hook技术介绍 Hook技术是一种在软件开发中常见的技术,它允许开发者在特定的事件发生时插入自定义的代码逻辑。常见的应用场景包括在函数调用前后执行特定的操作,或者在特定的事件发生…
-
干货!类的生命周期及执行顺序
类的生命周期 一个类完整的生命周期,会经历五个阶段,分别为:加载、连接、初始化、使用和卸载。其中的连接又分为验证、准备和解析三个步骤。如下图所示: 简单一句话概括,类的加载机制就是…
-
解析Spring中的循环依赖问题:再探三级缓存(AOP)
前言 在之前的内容中,我们简要探讨了循环依赖,并指出仅通过引入二级缓存即可解决此问题。然而,你可能会好奇为何在Spring框架中还需要引入三级缓存singletonFactorie…
-
MyBatis-Plus 中的 IService 和 BaseMapper
MyBatis-Plus 作为一个优秀的 ORM 框架,致力于简化和提高 Java 应用程序对数据库访问的效率。 在使用的过程中,发现 MyBatis-Plus 提供了 BaseM…
-
OpenFeign服务调用
一、OpenFeign的介绍 OpenFeign是一个声明式的http客户端,让编写web服务客户端变的非常容易,只需要创建一个接口并在接口上添加注解即可,OpenFeign是Sp…
-
操控字节码:Javaassist介绍
欢迎关注微信公众号:互联网全栈架构 Javaassist(JAVA programming ASSISTant),是一个可以操控字节码的类库,能够在不修改源代码的情况下,在运行时动…
-
别再乱用了,Java 21 将弃用、删除这些功能!
尽管 Java 是我使用过的向后兼容程度最高的语言和环境之一,但始终存在功能弃用甚至删除的可能性。Java 21 将弃用两个功能,这就是我们今天要讨论的内容。 1为什么要弃用功能?…
-
设计模式第三弹 – 结构型模式 [一]
哈喽,大家好,我是janker。 叨叨 又来更新设计模式了,阿雄已经很久没有教育我了。没了他的鞭策我更新不出来,修正一下子,我重新来过。之前创建型的设计模式写的太单调了,看到课文类…
-
浅谈运行时修改Java注解的值
这里介绍如何在运行时修改注解的值 abstract.jpg 基本原理 查看JDK中Annotation接口的注释,说明所有注解都扩展自Annotation接口。换言之,注解本质上就…
-
Mybatis返回集合类型到底是空集合还是null??源码解读
Mybatis 作为国内开发中常用到的半自动 orm 框架,相信大家都很熟悉,它提供了简单灵活的xml映射配置,方便开发人员编写简单、复杂SQL,在国内互联网公司使用众多。 本文针…
-
面试官:在 Java 中 new 一个对象的流程是怎样的?彻底被问懵了。。
大家好,我是一安~ 对象怎么创建,这个太熟悉了,new一下(其实还有很多途径,比如反射、反序列化、clone等,这里拿最简单的new来讲): Dog dog =…
-
Java中的设计模式(四):代理模式
“ 人生苦短,不如养狗 ” 一、从一次代购说起 前段时间老婆看上了一条不知道什么牌子的皮带,在国内的商店里面搜了一下发现都没有货,于是跑去咨询她加的代购小姐姐有没有做这款皮带的…
-
Spring动态代理的生成-如何判断是使用JDK动态代理还是CGlib代理
前言 在上一篇文章中讲到了 Spring 是如何获取对应的 Bean 的增强,然后本次主要讲解一下 Spring 如何在获取到增强后创建 Spring 代理的。 在步入正题之前先给…
-
Spring的JDK动态代理如何实现的(源码解析)
前言 上一篇文章中提到了SpringAOP是如何决断使用哪种动态代理方式的,本文接上文讲解SpringAOP的JDK动态代理是如何实现的。SpringAOP的实现其实也是使用了Pr…