java编译模式
#java编译器对`String常量表达式`的优化:
- 1.String+String 可以被编译器识别为常量表达
String a="ab" ;
String b="a"+"b";//编译后:b="ab"
System.out.println(a==b);//true
分析:
编译器将"a"+"b"当做常量表达式,在编译时期进行优化,直接取"ab". 在运行时期
并没有创建新的对象,而是从jvm字符串常量池中获取之前已经存在的"ab"对象.
- 2.String+基本类型 可以被编译器识别为常量表达式
String a="a1";
String b="a"+1; //"a1"
String c="a"+true;//"atrue"
String d="a"+3.14;//"a3.14"
#java编译器对`常量`优化:
* 它是编译时的一项优化技术,将代码的常量计算在编译期完成,节约了运行时的计算量.
1.常量替换
//编译前:
final int x=10;
int y=x;
//编译后
int x=10;
int y=10;//编译时,常量替换了
2.数学恒等式的模式匹配替换
//编译前:
int x=10+10;
//编译后
int x=20;//编译时,模式匹配替换了
3.常量折叠
//编译前:
boolean flag=true||(a || b && c);
//编译后
boolean flag=true;//编译时,常量折叠了
‘贰’ 如何用Cmd命令行编译Java代码程序
在初学Java的时候,会使用cmd命令的模式来编译运行代码,下面就来介绍下如何命令行编译
01
打开一份Java代码,如下图
02
打开文件所在的位置,鼠标右键,打开shell
03
输入命令javac HelloWorld.java,回车,出现下图所示编译后的class文件
04
输入命令 java -cp . HelloWorld,回车,输出结果
‘叁’ 如何编译JAVA文件
用命令提示符编译java程序的步骤:
1.先新建文本文档,输入自己的java程序。
这里我写一个简单的java程序,来做示范。
import java.util.*;
public class HelloDate{
public static void main(String[] args)
{
System.out.println("Hello,it's:");
System.out.println(new Date());
}
}
经验总结:运行一个java程序的大概的流程是:
书写源代码------>编译------->运行---->结束。
注意事项:
1.在输入的时候一定要注意区分大小写。
2.操作之前要保证自己的电脑配置了java的运行环境。
‘肆’ 如何在命令行模式下编译运行带包的java文件
进入D:\workspace路径下,输入:
javac
com\A.java
com\B.java-d
.
红色为源文件路径,蓝色为输出路径。
则在生成两个文件:
D:\workspace\com\A.class
D:\workspace\com\B.class注意:
-d
后面是
空格
+
点点的意思是,在
.java
文件的根目录,为了方便也可以采用:
javac
com\*.java-d
.运行时,在包路径的根目录上运行,比如:在
D:\workspace
路径下,输入:
java
com.A或
java
com/A
如果当前路径是
C:\
或其他路径,那么编译:
javac
-cp
D:\workspace
D:\workspace\com\*.java
-d
.运行:
java
-cp
D:\workspace
com.A
总结
1、把包看成是源文件的一部分,而不是一个路径,这点很重要。
‘伍’ java怎么编译
如果是在命令行下编译,可以进入相应的目录然后输入
javac [你的java文件名.java]
想要运行就输入
java [你编译后的class文件名]
例如你的java文件名叫demo.java,在D盘根目录下
在命令行下进入D盘,输入
javac demo.java 就能编译了。
要运行就输入
java demo就可以运行了。
如果用IDE工具开发,直接按工具栏上的绿色箭头就可以自动编译运行了。
‘陆’ java的‘编译器’与‘即时编译器’有什么区别
你好!编译器(在windows下,javac.exe)将源代码(java文件)编译为字节码(bytecode),存放在class文件中。
字节码不能直接在机器上执行,而是通过虚拟机(windows下是java.exe)执行。具体的执行方式有两种:
1. 一般情况下解释执行。解释执行并不是“解释为用c++语言写成的程序”,而是jvm把字节码看成脚本,根据字节码中的指令,由JVM去调用实际的本地方法。
2. 在打开了JIT参数的前提下,jvm会把执行过程中发现的热点位置,由jvm内部的即时编译器编译为本地机器码直接执行。
编译器将java文件编译为class文件,解释器将class文件变为机器语言
‘柒’ 怎样编译java文件命令行模式怎样用
打入你的java的安装路径\bin\javac java源文件名.java回车
以上是编译
执行:
打入你的java的安装路径\bin\java java文件名回车
‘捌’ 如何编译java
用命令提示符编译java程序的步骤:
1.先新建文本文档,输入自己的java程序。
这里我写一个简单的java程序,来做示范。
import java.util.*;
public class HelloDate{
public static void main(String[] args)
{
System.out.println("Hello,it's:");
System.out.println(new Date());
}
}
经验总结:运行一个java程序的大概的流程是:
书写源代码------>编译------->运行---->结束。
注意事项:
1.在输入的时候一定要注意区分大小写。
2.操作之前要保证自己的电脑配置了java的运行环境。
‘玖’ java的"一次编译,到处运行"的机制是如何实现的
JVM是一个java虚拟机,所谓的java虚拟机就是和普通的虚拟机一样,拥有自己的CPU,RAM之类的。我们所使用的操作系统是Windows的操作系统,Windows操作系统支持的可执行文件是EXE文件,也就是说在Windows的操作系统上只有EXE的文件是可以直接被操作系统解释为底层机器语言并进行运行的。而java虚拟机可以支持的是.class的可执行文件,在java的虚拟机中遇到.class的文件就可以直接翻译成java虚拟机所能是别的底层机器语言并进行执行。这就是JVM的机制,正是因为java的这种机制才实现了java的跨平台,在不同的平台上安装能够在相应平台上运行的虚拟机,然后在java虚拟机中运行java的源程序,“一次编译,多次执行”就此实现了。
所以java的跨平台是离不开虚拟机的支持的。虚拟机充当着java源程序和操作系统之间的中间,不同的操作系统只需要寻找相应的中介就可以实现在不同的操作系统上运行。而java的编译只是吧.java文件编译为.class字节码文件而已,然后把字节码交给虚拟机去执行。
虚拟机在执行的时候是读一句字节码文件人后解释一句给操作系统听,这就是为什么java是解释型的语言。
所谓的编译型的语言是指这种语言被编译之后生成的是可以直接供操作系统执行的010101文件,像C,C++都是编译型的,java因为中间有JVM这么个东西所以是解释型的。
‘拾’ JAVA代码怎么编译啊
1.安装jdk1.5或更高版本,比如说安装在D盘
2.在系统属性的环境变量的path变量中加入C:\Program Files\Java\jdk1.6.0_12\bin;
3.在dos中输入javac,如果有反应就算是配置好了。
4.编译的格式是:javac 源文件名.java
5.运行格式是:java 源文件名