**
Java编译期和运行期
**
编译期:在Java中也就是把Java代码编成class文件的过程
类加载过程:在编译期和运行期有一个过程,在Java中把磁盘中的代码放到内存中(类加载过程)
运行期:class文件已经加载到内存中,放到内存中执行起来
这里说一个分配内存的概念,我所说的是Java代码在执行时需要多大的内存,在编译器会参数一系列的指令,在运行代码时通过这些指令把程序所需的内存分配好运行期分配内存是指只有在运行期才确定内存的大小,存放的位置,
**
Java中的绑定
**:绑定指的是把一个方法的调用与方法所在的类(方法主体)关联起来(这个方法被哪个类调用).对Java来说,
分为静态绑定和动态绑定.
静态调用:在程序执行前方法已经被绑定,也就是在编译期方法明确知道被哪个类调用.java当中的方法只有final,static,private和构造方法是前期绑定的。
动态调用:在运行时根据具体对象的类型进行绑定(只有运行时才知道方法被哪个类调用).在java中,几乎所有的方法都是后期绑定的。
当你要完成一件事情时,你需要思考,从开始思考到思考结束,这是编译器,下一步我们会根据思想驱动我们的身体去做起来,这是运行期,大家可以用这样的方式去理解,用生活的角度去对比。