深圳有做网站的吗北京疫情发布不再公布各区数据
与那些编译时需要进行连接的语言不同,在java语言中,类型的
动态加载:编写一个面向接口的应用程序,可以等到运行时再指定其实现类。
类加载:加载-连接-初始化-使用-卸载
一个类被调用时,会将其class文件从磁盘中加载到虚拟机中。
加载
(1)通过一个类的全限定名来获取定义此类的二进制字节流。
(2)将这个流转换为方法区的静态文件结构。
(3)在内存中生成Class对象,作为方法区的访问入口。
连接的过程
先验证class文件的安全性,然后开辟类变量的空间和位置,将常量池中的符号引用替换为直接引用。
初始化
初始化阶段就是执行类构造器()方法的过程。
()是javac编译器自动生成的产物。
()是类中的所有类变量的赋值当作和静态static块语句合并产生的,按照程序顺序生成。
类加载器
根据类的全限定名获取所需要的类。
对于任意一个类,都必须由加载它的类加载器和这个类本身一起确认其唯一性。对于每一个类加载器,都有一个独立的类名称空间。这里的唯一性,体现在equals()方法,isInstance()方法。