一、Java虚拟机—JVM
1.JVM(Java Virtual Machine )
Java虚拟机,全称:Java Virtual Machine ,缩写:JVM,它是Java程序运行的环境
它是java的特性之一,跨平台性,而JVM就是跨平台性实现的方式。
跨平台性就是可以在不同的操作系统上运行。
举个例子:
我们知道不同的操作系统有自己的软件。
.exe类的软件只能在Windows系统运行,它不能在苹果系统上运行,这类软件是不能跨平台的。
所以一个软件若是要在不同的操作系统上运行,需要开发不同的版本。
就像下面的QQ会有不同的版本:
而用Java编写的软件可以运行在任何的操作系统上,因为Java编写的程序是运行在JVM上的。
但是记住一点:Java虚拟机本身是不具备跨平台性,所以不同的操作系统要下载与其对应的虚拟机,这样Java程序才能在其上面运行,因此,一套java程序不用进行修改,可以在不同的操作系统之间运行使用,其根本原因就是不同操作系统的java虚拟机的支持,才得以实现。
2.JRE和JDK
JRE全称Java Runtime Environment ,就是Java运行环境,其包含JVM和运行时所需的核心库类。
JVM就是上面说到的Java虚拟机,那什么是核心类库?
Java自带很多实用的包,这些包中定义了很多类库,可以很方便地进行代码重用 。就比如很多数学运算,不需要我们自己去运算,只需要调用核心类库里的方法,它就会帮你运算,很快捷实用。
有了JRE,也就可以运行Java程序了,但是如果发现程序要修改该怎么办?如果我们要对程序进行开发怎么办?
JRE只能运行Java程序,并不能对Java程序进行操作,所以这个时候就需要JDK了。
JDK全称为Java Development Kit,翻译过来就是Java程序开发工具包,包含JRE 和开发人员使用的工具。
最后用一张图来看一下二者的关系:
我们想运行一个Java程序,只安装JRE就够了,如果你还想开发Java程序,那就要要安装JDK了。
二、编译
我们编写的代码是什么运行的呢?我们来看一看,首先我们编写的代码是写在.java文件中的。.java文件是开发人员编写的源代码,而java程序是在JVM上运行的,但是JVM并不认识.java文件。
这个时候就必须要将源文件编译成JVM能看懂的字节码文件也就是编译为.class文件。
编译是什么意思呢?就是把高级语言变成计算机可以识别的二进制语言,因为计算机只认识0和1。
1、入门程序解析
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
首先说一下main()方法,这个方法是主方法,是程序的入口点,Java虚拟机在运行的时候会从main方法开始执行。
然后说一下注释,Java中的注释有:
- 单行注释:以 // 开头 换行结束
- 多行注释:以 */ ** 开头 以 */ 结束
- 文档注释:以 /** 开始,以 */ 结束
然后是关键字,程序中:public、class、static、void就是关键字。
程序中:public、class、static、void就是关键字。这些单词已经被Java定义好,全部都是小写字母。
然后是标识符,标识符是指在程序中,我们自己定义内容。
标识符特点如下:
- 标识符可以包含英语26个字母(区分大小写),0-9数字,$(美元符号)和_(下划线)
- 标识符不能以数字开头
- 标识符不能是关键字
然后关于类、方法、标量的命名规范是:
先知道一下驼峰命名法:
骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。
小驼峰法
变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。譬如
int myStudentCount;
变量myStudentCount第一个单词是全部小写,后面的单词首字母大写。
常用于函数名。
大驼峰法
相比小驼峰法,大驼峰法(即帕斯卡命名法)把第一个单词的首字母也大写了。常用于类名,属性,命名空间等。譬如
public class DataBaseUser;
- 类名规范:首字母大写,后面每个单词首字母大写(大驼峰HelloWorld)
- 方法名规范:首字母小写,后面每个单词首字母大写(小驼峰helloWorld)
- 变量名规范:要么全部小写,要么小驼峰