`

【总结】java命令解析以及编译器,虚拟机如何定位类

阅读更多

1、运行class文件

Java代码
  1. java<包名> class


2、运行jar里面的一个class(含有main方法)
需要先设定classpath:

Java代码
  1. java-cpxxx.jar class


3、javac编译到指定目录
javac -d 目录 源文件
编译当前目录下所有java文件到e盘java/classes目录下:

Java代码
  1. javac-de:\\java\\classes./*.java


4、javadoc

Java代码
  1. javadoc[options][ package ][sourcecode]
  2. javadoc-d./doc-encodingutf-8 -charsetutf- 8 cjlu.edu


其中-d 指明生成的文档保存位置,cjlu.edu是包名(必须列出所有包,不支持通配符),[sourcecode]省略表示生成指定包下的所有源文件的doc
-encoding 指明源文件的编码方式
-charset 指明生成的doc所用的字符集

5、jar

Java代码
  1. jar[options]destination[mainfest]inputfile(s)


1)、将当前目录下的.class文件压缩为一个myJar.jar文件

Java代码
  1. jarcfvmyJar.jar*. class


c: 创建一个新的jar文件
f: 指定新的jar文件名
v: 在屏幕显示执行细节

inputfile(s)可以是目录名,此时,要到此目录的父目录执行jar命令

2)、生成可执行的jar文件

此时需要在一个.mf清单文件中指定Main-Class,并将此清单打包到jar文件中
假如一个test工程结构如下:

test
|-mainfest.mf
|-com
|-cjlu
|-Main.class
|-Tool.class


则命令如下:
到test目录下执行:jar cfvm test.jar mainfest.mf com
注意这里mainfest.mf可以位于任何位置,只要路径正确就ok

即:将test工程的com文件夹下所有文件(含子目录)打包到test.jar中,这里mf文件内容如下:

Main-Class: com.cjlu.Main

注意“:”后面有一个空格,行尾要有回车符。

3)、运行jar文件
cmd下:执行java -jar test.jar

Linux, Windows下面java编译运行命令有所差别:

http://fan.iteye.com/blog/798662

java命令编译时的几种情况:(一个文件,几个文件,一个包,几个包)

http://www.360doc.com/content/10/0401/00/626267_21103753.shtml

编译器,虚拟机如何定位类:

http://hxraid.iteye.com/blog/508123

分享到:
评论

相关推荐

    Java虚拟机

    讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的数据和结果;第五部分探讨了Java实现高效并发的原理,包括JVM内存模型的结构和操作;原子性、可见性和...

    Java虚拟机规范(Java SE 8版)

    也就是《Lambda Expressions for the Java Programming Language》(Java编程语言的lambda表达式)时,Oracle公司的Dan Smith向虚拟机实现者咨询了将default方法集成到常量池和方法结构、方法与接口方法解析算法,...

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    / 170 第7章 虚拟机类加载机制 / 171 7.1 概述 / 171 7.2 类加载的时机 / 172 7.3 类加载的过程 / 176 7.3.1 加载 / 176 7.3.2 验证 / 178 7.3.3 准备 / 181 7.3.4 解析 / 182 7.3.5 初始化 / 186 7.4 类...

    java相关的2024面试题集锦

    - 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制 - 类加载机制采用懒加载的方式 - 遇到new、getstatic、...

    Java 虚拟机面试题全面解析(干货)

    Java 虚拟机面试题全面解析,《深入理解Java虚拟机》干货版,自己总结,希望能够帮助大家,免费下载~什么是类加载机制? 虚拟机和物理机的区别是什么? 运行时栈帧结构 Java方法调用 什么是方法调用? Java的方法调用,...

    Java 1.6 API 中文 New

    java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类和...

    java面试题-附答案

    JDK(Java Development Kit)是Java开发工具包,它提供了Java的开发环境(提供了编译器javac等工具,用于将java文件编译为class文件)和运行环境(提供了JVM和Runtime辅助包,用于解析class文件使其得到运行)。...

    JAVA小区物业管理系统

    利用JDK中的Java解析器,将字节码文件转化为你的系统能够理解的指令,加以执行。 2.2.4 JDBC简介 Java数据库连接JDBC(Java DateBase Connectivity)与ODBC(Open DataBase Connectivity)开放式数据库连接的概念和...

    java 面试题 总结

    java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 6、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法,...

    一次性精通JVM JAVA虚拟机

    第3章 类的加载、解释、编译,本章节带你深入理解类加载器的分类、范围、双亲委托策略,自己手写类加载器,理解字节码解释器、即时编译器、混合模式、热点代码检测、分层编译等核心知识。 第4章 内存模型,本章节...

    关于JVM的总结

    类被加载到虚拟机内存开始,到卸载出内存为止,生命周期包含: 加载,验证,准备,解析,初始化,使用,卸载 7个阶段,加载,验证,准备,初始化和卸载这5个顺序是确定的,解析阶段则不一定,他在某些情况下可以在...

    GraalVM最佳实践,使用Java开发.rar

    到目前为止,GraalVM提供了两种运行Java程序的方法:将Java HotSpot VM与GraalVM JIT(即时)编译器一起使用,以及第二种方法:使用GraalVM Native Image编译为本机可执行文件。 今天,我们很高兴地宣布一种在...

    java源码debug-Java-Subset-Compiler-Debugger:为Java的子集语言而构建的编译器,目的是在JVM上模拟源

    完全由Java构建的项目,通过对源代码的词法分析(将字符流转化成令牌),使用OOP在Java虚拟机上模拟源代码的编译,然后使用递归下降处理对其进行解析。 这些标记放在抽象语法树上,然后由类型检查约束,并引用符号表...

    详解JAVA类加载机制(推荐)

    JAVA源码编译由三个过程组成: 1、源码编译机制。 2、类加载机制 ...系统可能在第一次使用某个类时加载该类,也可能采用预加载机制来加载某个类,当运行某个java程序时,会启动一个java虚拟机进程,两次运行

    java多线程笔试题-awesome-rubies:一组很棒的Ruby(编译器、解释器、虚拟机、解析器、文档生成器、版本管理器等)

    Ruby(编译器、解释器、虚拟机、解析器、文档生成器、版本管理器等) 欢迎投稿。 缺什么吗? 发送拉取请求。 谢谢。 笔记: :gem_stone: 代表 RubyGems 页面,代表 GitHub 页面。 什么是Ruby? 作者:Noah Gibbs,...

    [Java参考文档].JDK_API 1.6

    java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类和...

    jsjs:jsjs 是在 Java 虚拟机之上用 JavaScript 编写的 JavaScript 引擎

    jsjs 是在 Java 虚拟机之上用 JavaScript 编写的 JavaScript 编译器 + 引擎 如何构建它? 首先,您需要一个与 Java 8 兼容的 JDK,然后您必须编辑脚本 run_build.js 中定义 JDK 位置的行 var java_home = "PATH_...

    java虚拟机源码-jvm_based_compiler:该程序实现了递归下降解析器,将源代码转换为字节码,以便生成的字节码可以在Java虚拟

    java虚拟机源码基于JVM的编译器 该程序通过使用递归下降解析器将源代码转换为字节码。 该程序假定源代码是基于附加的属性语法定义的。 将源代码转换为字节码后,可以使用jvm运行该程序。

    m4j:JAVA 腮腺炎

    尝试为 Java 虚拟机 (JVM) 创建一个 MUMPS 运行时环境,类似于 Groovy、Scala、Ruby、Python 等其他编程语言如何利用 JVM 平台 可以解释和执行 M 代码的基于 ANTLR 的词法分析器/解析器 可以将M代码编译成JVM字节码...

    oberonc:用于JVM的Oberon-07编译器

    尽管为堆栈机生成代码很简单,但是复杂的类文件格式以及考虑到Java语言设计JVM的事实使这一任务更加恶化。 实际上,JVM缺少支持Oberon功能所需的许多原语,特别是: 值类型 通过参考评估策略 过程变量(指向函数的...

Global site tag (gtag.js) - Google Analytics