java怎么编译_java怎么编译运行?java有哪些编译方法?
学习java就是为了能够将写好的程序运行起来,毕竟
Java程序代码需要编译后才能运行,那么今天我们就为大家分享一下java编译运行的方法,不会的小伙伴可以做个参考!
1.创建一个带有文件扩bai展名 *.java 的源文件,使用编辑器(如记事本,使用的是notepad++),输入以下6行文本://一个简单的application例子:打印一行文本
class Hello
{
public static void main(String args[])
{
System.out.println("Hello Java,This is my first Java Application!");
}
}
输入完成,如下图所示:
把文件名命名为Hello.java ,并保存,
2.使用java编辑器javac.exe编译源文件生成一个带有文件扩展 *.class 的字节码文件
1).win+R,在文本框输入cmd,回车,进入DOS窗口。
2).使用cd命令将路径转入源文件“Hello.java”所在路径(cd用法可参照DOC窗口之cd命令),输入“javac
Hello.java”命令,回车。
同时,我们在源文件“Hello.java”所在文件夹可以发现多了一个字节码文件(编辑器javac.exe编译的结果),这就对了。
3.使用java解释器 java.exe 运行字节码
在当前路径下,输入 “java Hello” 命令,回车。运行结果如下:
java有哪些编译方法?
1、前端编译
把Java源码文件(.java)编译成Class文件(.class)的过程;也即把满足Java语言规范的程序转化为满足JVM规范所要求格式的功能;
2、后端编译/即时(JIT)编译
通过Java虚拟机(JVM)内置的即时编译器(Just In Time
Compiler,JIT编译器);在运行时把Class文件字节码编译成本地机器码的过程;
3、静态提前编译(Ahead Of Time,AOT编译)
程序运行前,直接把Java源码文件(.java)编译成本地机器码的过程;静态提前编译器(AOT编译器):JAOTC、GCJ、Excelsior JET、ART (Android Runtime)等;
4、前端编译+JIT编译
到这里,我们知道目前Java体系中主要还是采用前端编译+JIT编译的方式,如JDK中的HotSpot虚拟机。前端编译+JIT编译方式的运作过程大体如下:
(1)首先通过前端编译把符合Java语言规范的程序代码转化为满足JVM规范所要求Class格式;
(2)然后程序启动时Class格式文件发挥作用,解释执行,省去编译时间,加快启动速度;
(3)针对Class解释执行效率低的问题,在运行中收集性能监控信息,得知"热点代码";
(4)JIT逐渐发挥作用,把越来越多的热点代码"编译优化成本地代码,提高执行效率;
了解到Java编译的方法之后,我们就可以更好的编译代码了,毕竟java的知识还有很多,大家需要花更多的时间去吸收相关知识,这样才会写出好代码哦!最后大家如果想要了解更多java常见问题知识,敬请关注奇Q工具网。
推荐阅读:
java怎么编译_java怎么编译运行?java有哪些编译方法?相关推荐
- java display.getdefault()_java基础(十一 )-----反射——Java高级开发必须懂的
本文我们通过一个实际的例子来演示反射在编程中的应用,可能之前大家对反射的学习,仅仅是停留在概念层面,不知道反射究竟应用在哪,所以是一头雾水.相信通过这篇教程,会让你对反射有一个更深层次的认知. 概念 ...
- java c 速度_Java和C#运行速度对比:Java比C#快约3倍
测试条件: Java版本: Java 8, .NET版本:v4.0, Release模式,针对x86平台优化 单线程模式. Java代码: package javatest; public class ...
- java jvm原理_JAVA和JVM运行原理
JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器.它是一种利用软件方法实现的抽象的计算机基于下层的操作系统和硬件平台,可以在上面执行java的字节码程序. 编译器负责把Java ...
- java窗口代码_Java系列教程day01——java的搭建环境
day01--搭建环境变量&HelloWorld程序 1.注意听课,不要溜号,不要睡觉,不要游戏. 2.我的联系方式: QQ:79539705 3.整理笔记.绘制思维导图.完成作业.. 一.J ...
- java泛型方法 通配符_Java泛型教程–示例类,接口,方法,通配符等
java泛型方法 通配符 泛型是Java编程的核心功能之一,它是Java 5中引入的.如果您使用的是Java Collections ,并且版本5或更高版本,则可以肯定使用了它. 将泛型与集合类一起使 ...
- textpad java sdk_如何防止TextPad在运行Java时创建临时批处理文件?
这是我在这里的第一篇文章,所以,如果我把这个问题发布在错误的地方或其他地方,请告诉我 . 谢谢 . 所以,我最近重新安装了Java SDK和TextPad,之后决定我想重新进入Java编程 . 我编译 ...
- 码出高效:java开发手册_Java 11手册:Java专家分享他们在Java 11方面的最佳和最差的经验
码出高效:java开发手册 Java 10标志着Java生态系统新时代的开始,但最新版本证明仍有一些里程碑可言. Java 11是Oracle新的六个月周期中的第一个LTS版本. 您可以在此处下载Ja ...
- java干嘛_java是什么(Java到底能干嘛?)
我刚开始学习Java的时候,很长一段时间都有这么个疑惑? Java到底是啥?它能干什么? 自己也看过不少的课程和书,大部分都是从Java的发展史开始讲,总之就是那些什么Java历史悠久,Java很优秀 ...
- java comparable接口_Java面试题之Java集合篇三
Java面试题之Java集合篇三1.HashMap和HashTable有何不同? (1)HashMap允许key和value为null,而HashTable不允许. (2)HashTable是同步的, ...
- java回收类_Java的内存回收——Java引用的种类
1.Java引用的种类 Java是面向对象的编程语言,一个Java程序往往需要创建大量的Java类,然后对各Java类创建大量的Java对象,再调用这些Java对象的属性和方法来操作它们. 程序员需要 ...
最新文章
- mysql]ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value
- 洛谷P2068 统计和题解
- Android设计模式之——中介者模式
- POJ 1581 优先队列 priority_queue -- 比赛胜者求解
- 牛逼!简单的代码提交能玩出这么多花样
- mysql触发器如何获取当前表名_Mysql如何获取中位数
- 海信电视root工具_中国企业的远见:用一项自主技术,打败日韩电视,成为行业引领者...
- 【学习笔记】HTML基础:使用html制作网页
- L2TP协议笔记2---L2TP主要协议报文分析
- 放弃 Python 2 之后,这家公司写了 50 万行的 Go 代码来迁移!
- 程序员「在知乎装逼被怼」,决定用『面试』证明自己
- MTK6589百度云ROM移植教程
- 查看服务器显卡GPU型号
- android文件管理器——文件检索
- 阿里云大数据组件的基本介绍
- 关于图片的多标签分类(1)
- 《Adobe Illustrator CC经典教程》—第0课0.15节使用画笔
- PAT | 算法笔记 | 简单模拟
- 五、量子纠错编码的原理
- 7-20 字符串逆序 输入一个字符串,对该字符串进行逆序,输出逆序后的字符串。