
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
java编程开发语言是许多软件开发程序员都在学习与应用的一种编程开发语言,而今天我们就通过案例分析来了解一下,java编程运行原理与代理类型。
1、java的编译和运行原理:
编译:将源文件.java文件,通过编译器(javac命令)编译成字节码文件.class文件。
运行,通过类加载器(以二进制流形式)把字节码加载进JVM,通过java解析器(java命令)进行运行程序。
先将java源文件进行编译生成字节码文件,然后通过类加载器ClassLoader(以二进制流形式)加载进虚拟机,然后通过java解析器或即使编译器进行运行。
2、静态代理和动态代理:
静态代理:(经历了编译和运行)
在程序运行前就已经存在代理类的字节码文件(因为通过了编译阶段),代理对象和真实对象的关系在运行前就确定了(因为通过了编译阶段)。
动态代理:(只经历了运行,咱通过某种手段得到的字节码【遵循字节码格式和结构】)
动态代理类是在程序运行期间由jvm通过反射等机制动态生成的,所以不存在代理类的字节码文件(因为没有经历编译阶段),代理对象和真实对象的关系是在程序运行期间才确定的。
3、如何动态创建一份字节码?(实现了在代码中动态创建一个类的能力)
通过java的编译和运行原理,可以看到:在运行时期,是jvm通过字节码的二进制信息来加载类的。
所以,当我们在运行时期,通过java编译系统组织.class文件的格式和结构,生成相应的二进制数据,然后再把这个二进制数据加载转换成对应的类。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。