导航:首页 > 源码编译 > java的编译期和运行期

java的编译期和运行期

发布时间:2022-07-20 13:37:44

1. java代码的编译期绑定和运行期绑定是什么意思

如果打包成jar的话很好如果是exe的话就有点麻烦了可参考:想要把java生成可执行文件需要第三方软件的支持,不过在没有安装JDK的机器上是不可能运行JAVA程序的,哪怕是编译成为exe文件。将Java应用程序本地编译为EXE的几种方法(推荐使用JOVE和JET)1.从获得一个TowerJ编译器,该编译器可以将你的CLASS文件编译成EXE文件。2.利用微软的SDK-Java4.0所提供的jexegen.exe创建EXE文件,这个软件可以从微软的网站免费下载,地址如下:7.Instantiations公司的JOVE/jove/ejovesystem.htmJOVE公司合并了以前的SuperCede,一个优秀的本地编译器,现在SuperCede已经不复存在了。8.JToEXEBravoZuluConsulting,Inc开发的一款本地编译器,本来可以从该公司的网页上免费下载的,不过目前在该公司的主页上找不到了。

2. 请高手解释下java编译期错误与运行期错误

编译错误就是编译时候报的错,你写的java程序总不能马上就跑,先要编译成class吧,如果我写的程序是“我是大笨蛋”,那当然是不符合语法的,于是编译器会报错。如果我写的语法是正确的,那么编译器就会把他转换成适当的class文件,然后你就可以运行了,运行中再出错就是运行错误了。

3. JAVA重载和重写在编译期和运行期的问题

对你的问题比较好奇,所以亲测了一下,证实了之前的想法
输出如下:
g(Super)
Sub.f()
这也是重写和重载的含义推导的正确结果。
不会出现你说的现象,再确认一下吧。

4. java中是什么时候分配内存编译期还是运行期

这肯定是运行期
编译的时候,跟内存都没关系,完全是java代码转成字节码的过程,你写的代码没有任何计算、运行,所以根本谈不上内存的分配。

5. Java中类加载出现在哪个阶段,编译期和运行期 类加载和类装载是一样的吗

使用的类,编译/运行时都会被加载。

加载/装载没有区别,翻译的词汇选择因人而异了

运行 javac /java 时 加上 -verbose 选项就可以看到了。

6. java编译和运行。

首先cd到你java文件存放的目录,比如你的java文件的名称为helloworld.java,在cmd中输入javac
helloworld.java
敲击回车,这个命令会将你的java文件编译成class文件,然后在cmd框中输入java
helloworld敲击回车就能运行你的java文件输出结果

7. 请问java中的编译期和运行期有什么区别

编译时是调用检查你的源程序是否有语法错误,如果没有就将其翻译成字节码文件。即.class文件。
运行时是java虚拟机解释执行字节码文件。

8. Java创建对象是在编译时还是在运行时

运行期。编译好的java程序(即.class文件)需要运行在JVM中。程序,无论代码还是数据,都需要存储在内存中。JVM为java程序提供并管理所需要的内存空间。JVM内存分为"堆"、"栈"、"方法区"三个区域,分别用于存储不同数据。首先JVM会检查创建这个对象的类是否是一个以前从没有见过的类型,如果不是,JVM将为其分配内存,如果是,java虚拟机将调用具体的ClassLoader找到对应的.class文件,并将这个文件的内容读到内存中去。
1)堆:
1.1)用于存储所有new出来的对象(包括成员变量)。
1.2)垃圾:没有任何引用所指向的对象。
垃圾回收器(GC)不定时到内存中清扫垃圾,
并不一定一发现垃圾就立刻回收,
回收过程是透明的(看不到的),
通过调用System.gc()可以建议虚拟机尽快调度GC来回收。
1.3)内存泄漏:不再使用的内存没有被及时的回收。
建议:不再使用的对象,及时将引用设置为null。
1.4)成员变量的生命周期:
创建对象时存储在堆中,对象被回收时一并被回收。
2)栈:
2.1)用于存储正在调用的方法中的所有局部变量(包括参数)
2.2)JVM会为每一个正在调用的方法分配一块对应的栈帧,
栈帧中存储方法中的局部变量(包括参数),
方法调用结束时,栈帧被清除,局部变量一并被清除。
2.3)局部变量的生命周期:
调用方法时存在栈中,方法结束时与栈帧一并被清除。
3)方法区:
3.1)用于存储.class字节码文件(包括方法)。
3.2)方法只有一份,通过this来区分具体的对象。
既然对象在堆中创建,因此Java创建对象是在运行时,而不是编译时。

阅读全文

与java的编译期和运行期相关的资料

热点内容
喷油螺杆制冷压缩机 浏览:569
python员工信息登记表 浏览:369
高中美术pdf 浏览:153
java实现排列 浏览:505
javavector的用法 浏览:974
osi实现加密的三层 浏览:225
大众宝来原厂中控如何安装app 浏览:906
linux内核根文件系统 浏览:235
3d的命令面板不见了 浏览:520
武汉理工大学服务器ip地址 浏览:141
亚马逊云服务器登录 浏览:517
安卓手机如何进行文件处理 浏览:65
mysql执行系统命令 浏览:923
php支持curlhttps 浏览:136
新预算法责任 浏览:437
服务器如何处理5万人同时在线 浏览:244
哈夫曼编码数据压缩 浏览:419
锁定服务器是什么意思 浏览:378
场景检测算法 浏览:612
解压手机软件触屏 浏览:343