JAVA中.class文件是什么意思,有什么用吗,解决办法:
JAVA中*.java这样的文件是用java语言编写的源文件。
经过编译会变成相应的 *.class 文件 *.class 文件。
有一处编译到处运行的特点(即windows生成的class 可以在 linux系统中运行)。
注:这个*.class 不是类似于 *.exe这样的可执行文件只能被java虚拟机执行。
如以上回答未解决问题,请看:
.class 文件是.java的编译文件。
在系统中的jvm只认识.class的二进制编码文件。
.class文件就是运行在jvm上的java程序。
java的跨平台性就是.class,可以运行在任何系统的jvm(java虚拟机)上。
进程是 *** 作系统资源管理的基本单位,运行.class文件和打开一个应用软件(当然有些软件可能对于多个进程)是类似的,都会创建一个 *** 作系统进程。
你提到的"运行.class启动的JVM进程",实际上这个就是 *** 作系统创建的进程;这个进程需要一定的资源(CPU、内存、磁盘等)来完成一定的事情,进程之间不会相互干扰,所以每个软件都需要 *** 作系统分配进程。
至于你说的"JVM中有哪些进程",我理解应该是"JVM中有哪些"线程;建议去了解一下进程和线程之间的区别。我个人理解进程和线程的核心区别是:进程是资源管理、分配的基本单位,这个类比于公司;而线程是 *** 作系统调度的基本单位,类比于公司员工。上级部门在分配资源的时候肯定是分配名额到企业,但是分配资源具体怎么使用,则需要由企业的员工来完成。
一般JVM中的线程由用户创建,但是JVM也会默认创建一些线程,比如垃圾回收线程。
一、运行class文件执行带main方法的class文件,命令行为:
java <CLASS文件名>
注意:CLASS文件名不要带文件后缀.class
例如:
复制代码代码如下:
java Test
如果执行的class文件是带包的,即在类文件中使用了:package <包名>
那应该在包的基路径下执行,命令行为:
java <包名>.CLASS文件名
例如:PackageTest.java中,其包名为:com.ee2ee.test,对应的语句为:
package com.ee2ee.test
PackageTest.java及编译后的class文件PackageTest.class的存放目录如下:
classes
|__com
|__ee2ee
|__test
|__PackageTest.java
|__PackageTest.class
要运行PackageTest.class,应在classes目录下执行.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)