随着传统泛互联网市场的迅速见顶,传统互联网公司“上云”给云厂商带来的边际效应在逐渐递减。过去两年受反垄断影响叠加*倒逼之下的数字化提速,让互联网增长提前见顶,互联网客户权重占比较大的云厂商增长受到了抑制。比如,去年的在线教育集体“大逃杀”,导致了云厂商失去了一批优质在线教育客户;而其他市场则因*的因素加速线上化,互联网人口不断接近全民水平难以再更进一步,这也使云厂商的营收受到影响。
java源代码一旦编译之后,源代码可以删除吗?只留下字节码可以执行吗?
完全可以执行,因为源代码不参与程序的执行过程。参与程序执行过程的字节码。
但是最好不要删除源代码,因为有可能执行结果不是你需要的
当执行结果不是你需要的时候,你可以重新代开源代码进行修改。
然后重新编译生成新的字节码,再重新执行,这样会有新的执行效果。
存放源代码的文件扩展名必须是:xxx.java
并且需要注意的是:编译生成的字节码文件扩展名是:xxx.class
另外需要注意的是:一个java源文件是可以编译生成多个class文件的
问题:字节码文件是二进制文件吗?
答:字节码文件不是二进制文件,如果是二进制的话,就不需要JVM了,因为操作系统可以直接执行二进制。
java程序从开发到最终运行经历了什么?
编译期:
1、在硬盘的某个位置(随意),新建一个xxx.java文件
2、使用记事本或者其他文本编辑器例如:editplus打开xxx.java文件
3、在xxx.java文件中编写"符合java语法规则的"源代码。
4、保存
5、使用编译器javac(JDK安装后自带的)对xxx.java文件进行编译。
6、如果xxx.java文件中编写的源代码是符合语法规则的,编译会通过,如果xxx.java文件中编写的源代码违背了语法规则,那么编译器会报错,编译器报错之后class文件是不会生成的,只有编译通过了才会生成class字节码按文件,并且一个java源文件是可以生成多个class文件的。(编译实质上是检查语法)运行期(JRE在起作用):可以在Windows上,也可以在别的操作系统上
7、如果在linux上运行,需要将Windows上生成的class文件拷贝过去,不需要拷贝源代码,真正运行的是字节码。(但是源代码也不要删除,有用)
8、使用JDK自带的一个命令/工具:java(负责运行的命令/工具)执行字节码
9、往下的步骤就全部交给JVM了,就不需要程序员干涉了,JVM会将字节码文件装载进去,然后JVM对字节码进行解释(解释器负责将字节码解释为101101001….等的二进制)
10、JVM会将生成的二进制码交给os操作系统,操作系统会执行二进制和硬件进行交互。