jar包是编译后的文件吗
发布时间: 2025-01-04 17:54:11
① java里面的jar包是否就相当于c#编译生成的dll文件
dll文件,俗称动态链接库文件,是有执行程序可调用的二进制文件,也就是计算机能识别的二进制代码,任何语言都可以调用。只是方法不同而已。
jar文件,一般是由java虚拟机解析的,其实相当于将一系列的字节码文件(.java文件)或者包,java虚拟机这些文件通过一些算法序列化(压缩),就形成了jar文件。但程序需要执行时java虚拟机将字节码文件再次编译成二进制文件供计算机执行。
PS:这就是java是跨平台的原因。所有程序的字节码文件相同。不同操作系统上只需安装不同的java虚拟机就可以执行相同的程序。
② java中,jar包里面的类是源代码吗还是编译后的文件字节码文件
起作用的是字节码文件,当然源代码也可以打包进去,但不起作用。
③ Java中Jar包为什么能轻易就给反编译了
java中jar包轻易的被反编译是由于java的特性决定的。java中的jar包的实质内容是java源代码编译后的.class文件,由于java的面向对象特性和java的反射技术,可以很容易的通过对.class文件进行反射来得到java的源代码,也就是反编译!对于java的反编译,并不是所有内容都会反编译出来,java源文件中的注释、泛型等内容在经过编译和反编译之后会丢失。
热点内容