1. java 为什么进入DOS运行不起来
出现该错误的几种可能:
1、运行JAVA命令时的路径不对,应该在CLASS文件所在目录或包所在的目录
2、不存在该CLASS文件
3、存在该CLASS文件但没有相应的MAIN函数
4、前面生成的CLASS文件有误,修改JAVA后没有重新编译,则重新JAVAC一下
2. dos或unix下运行java程序
1.
javac是编译java文件,编译后的java文件,是创建了包名的一个文件路径,比如直接执行javac A.java,那么会在当前目录下创建如下class文件:a/b/A.class
2.
2当执行java命令的时候,如果还在当前目录下执行java命令就会报错,因为在当前目录下,并不能找到A.class。
3.
当越包引用的时候,如题。那么在执行javac A.java到时候,编译器会寻找a/c/B.class文件,如果没有编译B.java文件,那么就不会存在a/c/B.class文件,就会报错了。所以在执行javac A.java的时候,要首先编译该类调用的其它包中的所有文件。
4.
sun还有一个编译工具叫Ant,这个东西可以比较轻易的解决这个问题,具体Ant的使用就自己查资料吧。事实上各种的编译软件都是使用Ant编译的。除非他自己写一个类似功能的软件。
3. java程序怎么执行 java命令
用javac命令加上的java源文件的路径就会编译成.class文件。用java命令java加上.class文件的路径就会运行java程序。注意:第一,如果你在doc环境下直接输入javac和java命令必须配置jdk的环境变量。第二,编译的时候文件需要加上.java后缀,运行的时候不需要加后缀。
4. cmd运行java jar包 运行一段时间后 服务会卡住 按一下键盘又可以继续执行
看你描述的现象,而且是通过 cmd 命令框启动的进程。
推测一种可能性:DOS命令窗口属性中有一条是【快速编辑模式】,快速编辑模式下,当DOS窗口运行的过程中,我们如果将鼠标光标点击在某一处日志的时候,这个模式会认为我们在抓取日志,为了防止日志滚动影响用户操作,Windows将此进程挂起,当我们操作完成(即描述中的按下键盘的某一处)时会将进程恢复,继续处理后续的任务。这个操作可以将如下代码做个.bat脚本,将DOS窗口默认模式设置为【取消快速编辑模式】这样就可以防止手误影响进程运行了。
@echo off
reg add HKEY_CURRENT_USERConsole /v QuickEdit /t REG_DWORD /d 00000000 /f
5. dos命令编译速度慢 Javac命令后,要反应很长时间
对于复杂的java结构,确实不适合javac的编译。你可以使用ide,例如eclipse,netbean等。
如果你希望命令行编译,以前流行ant,现在流行的是maven。纯用javac的几乎没有。
6. 在DOS下执行JAVAC命令总是出错
关于你的JDK设置:“JAVA_HOME=C:\Java\jdk1.6.0_07;PATH=C:\Java\jdk1.6.0_07\bin;C:\Java\jre1.6.0_07\bin;
CLASSPATH=C:\Java\jdk1.6.0_07\lib;C:\Java\jre1.6.0_07\lib ”
这是根据系统而言的。可尝试按下面这样依葫芦画瓢了
classpath设置:
C:\Program Files\Java\jdk1.5.0_02\lib\dt.jar;C:\Program Files\Java\jdk1.5.0_02\lib\tools.jar;
path设置
C:\WINDOWS\system32;C:\Program Files\Java\jdk1.5.0_02\bin;
classpath为新建的环境变量。path也是但不要丢了系统原来的设置,中间用分号隔开即可
看看能不能运行了~
7. CMD中javac和java命令的问题
“类名.java”这是一个固定的语法规则,就像“1+1=2”是类似的道理。“包名.类名.java”之所以会出错是因为没有这样的语法规则,就像“你在大街上随便碰见个人就让他还你钱 你说人家会干嘛”另外你既然提到了src目录,说明你在用java编程工具写代码了,就可以不用cmd这种原始工具编译代码了。cmd命令只适合简单简短的代码,是初学者用来熟悉基础代码的。
java命令和javac命令,java命令是运行命令,javac是编译命令。拿煮饭举例子:一个java程序,javac命令是负责淘米煮饭的而java命令是负责吃饭的。当你执行java命令的时候,说明煮饭淘米已经完成。如果这两个顺序颠倒了饭都没煮你吃什么,不报错才怪。“包名。类名.java”这种语法也是错的
如果还是不明白可以留下qq远程加好友指导你,这种问题最好是能看到源代码,比较好解决,就单单一个图不能直接判断只能知道大概可能是哪些原因或者问题。不能有正对性的解决问题
8. 用Java编的程序执行时的效率比C++慢吗
java是解释语言,一般来说解释语言的效率跟编译型语言效率无法相提并论(差距在几个数量级) 。 但是java有特殊的热点编译技术, 就是循环次数多的代码段会被进一步优化编译, 这使得java的性能有所提高,按sun的某些文档的说法,这个效率可能提高到跟C++相当的水平, 但是我是没见过效率能到这个程度, 基本上还是会慢不少
9. java cmd命令下的怪事
你检查一下生成的class文件在哪,再检查一下环境变量classpath,估计你把class文件编译到了当前目录,classpath路径指向的文件夹没有该class文件,所以执行java命令时会发生错误,建议你将生成的class文件放在classpath指向的文件夹下,或将环境变量classpath里的值后面加一个分号和一个英文句号即 ”;.” (代表当前目录),再运行试试.
10. java 编译优化问题
java编译的结果是字节码而不是二进制,所以在运行时vm的优化才是重要的,包括VM的回收策略、分配给VM内存的大小都能在一定程度上影响性能。Sun的VM支持热点编译,对高频执行的代码段翻译的2进制会进行缓存,这也是VM的一种优化。
IBM JVM处理数学运算速度最快,BEA JVM处理大量线程和网络socket性能最好,而Sun JVM处理通常的商业逻辑性能最好。不过Hotspot的Server mode被报告有稳定性的问题。
Java 的最大优势不是体现在执行速度上,所以对Compiler的要求并不如c++那样高,代码级的优化还需要程序员本身的功底。
贴个java的运行参数:
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.
-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print proct version and exit
-version:<value>
require the specified version to run
-showversion print proct version and continue
-jre-restrict-search | -jre-no-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see
java.lang.instrument
-Xmixed mixed mode execution (default)
-Xint interpreted mode execution only
-Xbootclasspath:<directories and zip/jar files separated by ;>
set search path for bootstrap classes and resources
-Xbootclasspath/a:<directories and zip/jar files separated by ;>
append to end of bootstrap class path
-Xbootclasspath/p:<directories and zip/jar files separated by ;>
prepend in front of bootstrap class path
-Xnoclassgc disable class garbage collection
-Xincgc enable incremental garbage collection
-Xloggc:<file> log GC status to a file with time stamps
-Xbatch disable background compilation
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size
-Xprof output cpu profiling data
-Xfuture enable strictest checks, anticipating future default
-Xrs rece use of OS signals by Java/VM (see
documentation)
-Xcheck:jni perform additional checks for JNI functions
-Xshare:off do not attempt to use shared class data
-Xshare:auto use shared class data if possible (default)
-Xshare:on require using shared class data, otherwise fail.
Java虚拟机(JVM)参数配置说明
在Java、J2EE大型应用中,JVM非标准参数的配置直接关系到整个系统的性能。
JVM非标准参数指的是JVM底层的一些配置参数,这些参数在一般开发中默认即可,不需
要任何配置。但是在生产环境中,为了提高性能,往往需要调整这些参数,以求系统达
到最佳新能。
另外这些参数的配置也是影响系统稳定性的一个重要因素,相信大多数Java开发人员都
见过“OutOfMemory”类型的错误。呵呵,这其中很可能就是JVM参数配置不当或者就没
有配置没意识到配置引起的。
为了说明这些参数,还需要说说JDK中的命令行工具一些知识做铺垫。
首先看如何获取这些命令配置信息说明:
假设你是windows平台,你安装了J2SDK,那么现在你从cmd控制台窗口进入J2SDK安装目
录下的bin目录,然后运行java命令,出现如下结果,这些就是包括java.exe工具的和
JVM的所有命令都在里面。
-----------------------------------------------------------------------
D:\j2sdk15\bin>java
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.
-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print proct version and exit
-version:<value>
require the specified version to run
-showversion print proct version and continue
-jre-restrict-search | -jre-no-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see
java.lang.instrument
-----------------------------------------------------------------------
在控制台输出信息中,有个-X(注意是大写)的命令,这个正是查看JVM配置参数的命
令。
其次,用java -X 命令查看JVM的配置说明:
运行后如下结果,这些就是配置JVM参数的秘密武器,这些信息都是英文的,为了方便
阅读,我根据自己的理解翻译成中文了(不准确的地方还请各位博友斧正)
-----------------------------------------------------------------------
D:\j2sdk15\bin>java -X
-Xmixed mixed mode execution (default)
-Xint interpreted mode execution only
-Xbootclasspath:<directories and zip/jar files separated by ;>
set search path for bootstrap classes and resources
-Xbootclasspath/a:<directories and zip/jar files separated by ;>
append to end of bootstrap class path
-Xbootclasspath/p:<directories and zip/jar files separated by ;>
prepend in front of bootstrap class path
-Xnoclassgc disable class garbage collection
-Xincgc enable incremental garbage collection
-Xloggc:<file> log GC status to a file with time stamps
-Xbatch disable background compilation
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size
-Xprof output cpu profiling data
-Xfuture enable strictest checks, anticipating future default
-Xrs rece use of OS signals by Java/VM (see
documentation)
-Xcheck:jni perform additional checks for JNI functions
-Xshare:off do not attempt to use shared class data
-Xshare:auto use shared class data if possible (default)
-Xshare:on require using shared class data, otherwise fail.
The -X options are non-standard and subject to change without notice.
-----------------------------------------------------------------------
JVM配置参数中文说明:
-----------------------------------------------------------------------
1、-Xmixed mixed mode execution (default)
混合模式执行
2、-Xint interpreted mode execution only
解释模式执行
3、-Xbootclasspath:<directories and zip/jar files separated by ;>
set search path for bootstrap classes and resources
设置zip/jar资源或者类(.class文件)存放目录路径
3、-Xbootclasspath/a:<directories and zip/jar files separated by ;>
append to end of bootstrap class path
追加zip/jar资源或者类(.class文件)存放目录路径
4、-Xbootclasspath/p:<directories and zip/jar files separated by ;>
prepend in front of bootstrap class path
预先加载zip/jar资源或者类(.class文件)存放目录路径
5、-Xnoclassgc disable class garbage collection
关闭类垃圾回收功能
6、-Xincgc enable incremental garbage collection
开启类的垃圾回收功能
7、-Xloggc:<file> log GC status to a file with time stamps
记录垃圾回日志到一个文件。
8、-Xbatch disable background compilation
关闭后台编译
9、-Xms<size> set initial Java heap size
设置JVM初始化堆内存大小
10、-Xmx<size> set maximum Java heap size
设置JVM最大的堆内存大小
11、-Xss<size> set java thread stack size
设置JVM栈内存大小
12、-Xprof output cpu profiling data
输入CPU概要表数据
13、-Xfuture enable strictest checks, anticipating future default
执行严格的代码检查,预测可能出现的情况
14、-Xrs rece use of OS signals by Java/VM (see
documentation)
通过JVM还原操作系统信号
15、-Xcheck:jni perform additional checks for JNI functions
对JNI函数执行检查
16、-Xshare:off do not attempt to use shared class data
尽可能不去使用共享类的数据
17、-Xshare:auto use shared class data if possible (default)
尽可能的使用共享类的数据
18、-Xshare:on require using shared class data, otherwise fail.
尽可能的使用共享类的数据,否则运行失败
The -X options are non-standard and subject to change without notice.