目录
五、通过URLClassLoader加载程序外的jar包,并进行动态编译
2、Java文件 -> class -> jar -> 动态编辑 -> 反射赋值
一、Java是动态语言吗?
1、动态语言
动态语言是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如JavaScript、Python都是典型的动态语言,而C、C++、Java等语言则不属于动态语言。
动态类型语言,就是类型的检查是在运行时做的,是不是合法的要到运行时才判断,例如JavaScript就没有编译错误,只要运行错误。
2、静态类型
静态类型语言的类型判断是在运行前判断(如编译阶段),比如java就是静态类型语言,静态类型语言为了达到多态会采取一些类型鉴别手段,如继承、接口,而动态类型语言却不需要。
(1)优点:
在于其结构非常规范,便于调试,方便类型安全