在学习类型信息那个章节的时候,看到了Class.forName()是动态加载类信息,而new是静态加载类信息,在这里,我错误的把new动作理解成了发生在静态编译期。
正确的理解:编译期大部分是检查语法,我们需要new动作所需要的类信息,完成new动作就要获得相关的类信息,这些类信息是编译期获得的,即静态加载类信息,然而我们的new动作(即真正分配内存的动作)是发生在运行时的。
本文澄清了Java中Class.forName()动态加载与new操作符之间的误解。详细解释了new操作符并非在编译期完成,而是在运行期进行内存分配的过程,并强调了类信息的加载时机。
在学习类型信息那个章节的时候,看到了Class.forName()是动态加载类信息,而new是静态加载类信息,在这里,我错误的把new动作理解成了发生在静态编译期。
正确的理解:编译期大部分是检查语法,我们需要new动作所需要的类信息,完成new动作就要获得相关的类信息,这些类信息是编译期获得的,即静态加载类信息,然而我们的new动作(即真正分配内存的动作)是发生在运行时的。
3739
5336
804
466

被折叠的 条评论
为什么被折叠?