Jave的诞生
-
1972年C诞生
优点:贴近硬件,运行极快,效率极高
开发:操作系统,编译器,数据库,网络系统等
问题:指针和内存管理
-
1982年C++诞生
特点:面对对象
优点:兼容C
开发:图形领域、游戏等
-
1995年Java诞生
特点:语法像C,没有指针和内存管理,具有真正的可以执行(编写一次,到处运行),面向对象,类型安全,高质量的类库
要求:需要安装JVM(Java虚拟机)
产品:
Java2标准版(J2SE):占领桌面
Java2移动版(J2ME):占领手机
Java2企业版(J2EE):占领服务器
基于Java开发的平台,系统,工具:
- 构建工具:Ant,Maven,Jekins
- 应用服务器:Tomcat,Jetty,Jboss,Websphere,Weblogic
- Web开发:Struts,Spring,Hibernate,myBatis
- 开发工具:Eclipse,Netbean,intellij idea,Jbuilder
- 大数据领域:Hadoop
- 手机端:Android
Java的特性和优势
简单性(C++语法纯净版,无头文件,无指针运算)
面向对象(重点放在对象以及对象之间的接口上,以人的思维写程序)
可移植性(可跨平台移植)
高性能(即时编译,效率接近C++)
分布式(为网络分布式所设计,可通过URL访问网络资源)
动态性(反射机制)
多线程(带来更好的交互性能)
安全性(可构建防病毒,防篡改的系统,由于去除了内存与指针的管理,Java在运行前检查内存)
健壮性
Java的三大版本
JavaSE:标准版(桌面程序、控制台开发) JavaME:嵌入式开发(手机端,小家电,目前基本不会使用) JavaEE:企业级开发(web端、服务器开发)
JDK、JRE、JVM
JDK : Java Development Kit (Java开发工具)
JRE : Java Runtime Environment (Java运行环境)
JVM : Java Virtual Machine (Java虚拟机)
Java开发环境搭建
-
JDK下载、安装与卸载
安装(Mac M1)
需要安装适配 Arm 架构的 jdk,选择LTS版本的Java进行下载,下载完成后安装,在terminal执行查看版本号
java -version
azul JDK官网下载链接
https://www.azul.com/downloads/?package=jdk#download-openjdk
卸载(Windows)
-
删除Java的安装目录
-
删除环境变量JAVA_HOME
-
删除环境变量path下的java目录
-
控制台查看java -version
-
HelloWorld
-
新建 Java 文件 Hello.java,编写代码
public class Hello{ public static void main(String[] args){ System.out.print("Hello,World!"); } }
-
打开终端,切换到对应文件所在盘符
-
编译文件,编译成功后会生成对应class文件
javac Hello.java
-
运行class文件
java Hello
注:Java是大小写敏感的,需要注意大小写
文件名 和 类名 必须保持一致,并且首字母大写
Java 程序运行机制
计算机的高级编程语言类型分为:编译型(complie) 与 解释型
两种类型的翻译时机不同,编译型会通过程序(编译器)将源代码转化成计算机执行的代码,解释型是执行一段代码解释一段
编译型 开发操作系统,C/C++ 为编译型
解释型 开发网页、服务器脚本,对速度要求不高,JS 为解释型
Java同时具有这两种类型的特点
- 从 java 文件通过编译器(javac)变为 class 文件是编译的过程,可以理解为预编译,生成的代码介于机器码与 Java 源代码之间
- class文件运行的时候,放入 JVM 虚拟机的类装载机,将类装载到虚拟机
- 进入字节码校验器,对代码的对错进行校验
- 最后通过解释器解释给操作系统,执行一段解释一段