编译型:不能跨平台(主要表现在:可在执行程序不能跨平台,源代码不能跨平台
编译过程:
源代码--->编译器--->最终可执行文件--->应用于各种操作系统
解释型:
优点:易于跨平台
缺点:源代码在一般情况下不便于加密,执行效率相对没那么高
编译过程:
源代码--->每个操作系统的解释器
混合型:可编译可解释;
1、源代码(Java文件)----->中间字节码文件(.class)----->Java虚拟机执行(J V M每个操作系统运行不同的虚拟机)
2、源代码到中间字节码需要jdk开发工具包;
3、JRE(Java Runtime Environment):Java运行环境,运行Java程序必备;
4、我们在进行Java开发的时候,首先编写Java源代码文件,经过编译器进行编译,编译成二进制文件(.class),在经过解释器对字节码文件进行解释翻译,才能够去执行,而JVM中包含了解释器,所以Java跨平台是通过JVM来实现的。
三、JDK分类Javase:标准版(基础版)
Java标准语法,Java基础环境,无论在什么Java环境下均适用;
Javaee:企业版
Java企业级应用开发环境,较为臃肿;
Javame:微型版
Java移动环境,移动设备或嵌入式设备,小型环境,概念几乎消失。现移动平台基本使用arm架构。
首先JVM使得Java更容易更安全的实现跨平台
简单性:相对而言,例如Java不再支持多继承,c++是支持多继承的 C++有指针,Java屏蔽了指针的概念。 所以相对而言,Java比较简单。 Java语言底层是C++实现的,不是C语言。
面向对象:Java是纯面向对象。更符合人的思维模式,更容易理解。
可移植性:Java可以做到一次编译,到处运行(不需要修改,Java既可以在Windows操作系统上运行,也可以在Linux操作系统上运行,跨平台)。 注:Windows操作系统内核和Linux操作系统的内核不同,他们这两个操作系统执行指令的方式也不一样。 那么相同的Java程序如何做到跨平台运行? 结论:Java程序不能直接和操作系统接触运行,因为Java程序只有一份,而两种操作系统执行原理不同。 因此SUN团队让Java程序运行在一台虚拟的计算机中,这个虚拟的计算机被称为Java虚拟机,简称JVM。 JVM来和底层操作系统接触。(分别安装Windows版本的JVM,Linux版本的JVM)
多线程
健壮性:开源、自动垃圾回收机制(简称GC机制),Java语言运行产生的垃圾是自动回收的,不需要程序员关心。
安全性:开源
第一步:首先建一个文本文档,可以先命名(有自己的命名规则)
第二步:输入固定内容
Public class Demo02{
public static void main(String[] args){
System.out.println(“I love China”)
}
}
第三步:保存后修改文本文档扩展名为.java
第四步:在上方路径框中输入cmd回车打开命令窗口
第五步:编译:输入javac Demo02.java回车,将java文件编译并生成class文件
第六步:运行:再输入java Demo02回车即可运行成功
六、Java标识符命名规则由数字、字母、下划线、$组成,不能是关键字,java对字母大小写敏感
不能由数字开头
类名:用名词,首字母大写(大驼峰命名法)
变量名:小驼峰命名法
常量名:全部大写,下划线连接
方法名:动词,小驼峰命名法
符合Java标识符的命名规则:由数字、字母、下划线、$组成,不能由数字开头
一般把公司的域名倒过来写(一级域名-二级域名-三级域名+域名头)+项目名+模块名
使用public修饰的类名必须与该类的所在源文件名相同;
若把class之前的public删去,类名可以源文件名不同;
发现:
java编译后生成的class文件名与源文件中的类名相同,与源文件名无关;
在同一个源代码文件中,可以编写多个类;
并且多个类可以编写除相同数量的与类名分别相同的class文件;
在同一个源代码文件中,有多个类时,最多只能有一个public去修饰一个类名;且被public修饰的名必须与源代码文件名相同;
在同一个源代码文件中不能出现同名的类;
在一个类中可以出现多个有public修饰的内部类;



