由于java是种强类型静态语言,在执行时无法动态生成代码,静态语言基本都有这特性

动态生成代码有几种好处,也是弱类型语言的优点

1.部份逻辑可以实现热更新

2.远程调用实现非常适合

3.能动态生成扩展类,屏蔽复杂性,在原来基础上扩展功能,无破坏源码特性

 

静态语言也不是没有方案去解决,解决方案很多。

其中嵌入一个脚本引擎语言,就能弥补,还有动态代理技术

jdk 自带的动态代理是一种解决方案

cglib动态代理 spring默认使用

javassit 能在执行期修改class

 

顺便说下scala语言能在执行期继承某个类,这种语法上支持给很多场景增加很大灵活性,相信JAVA以后也会加上

相关文章:

  • 2022-02-08
  • 2022-02-16
  • 2021-09-15
  • 2021-05-29
  • 2021-10-03
  • 2021-10-30
  • 2021-08-24
猜你喜欢
  • 2022-02-27
  • 2021-11-13
  • 2021-07-29
  • 2021-09-25
  • 2021-06-20
  • 2021-11-24
  • 2021-07-17
相关资源
相似解决方案