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虚拟机)

JDK、JRE、JVM

Java开发环境搭建

  • JDK下载、安装与卸载

    安装(Mac M1)

    需要安装适配 Arm 架构的 jdk,选择LTS版本的Java进行下载,下载完成后安装,在terminal执行查看版本号

    java -version
    

    azul JDK官网下载链接

    https://www.azul.com/downloads/?package=jdk#download-openjdk

    卸载(Windows)

    1. 删除Java的安装目录

    2. 删除环境变量JAVA_HOME

    3. 删除环境变量path下的java目录

    4. 控制台查看java -version

HelloWorld

  1. 新建 Java 文件 Hello.java,编写代码

    public class Hello{
        public static void main(String[] args){
            System.out.print("Hello,World!");
        }
    }
    
  2. 打开终端,切换到对应文件所在盘符

  3. 编译文件,编译成功后会生成对应class文件

    javac Hello.java
    
  4. 运行class文件

    java Hello
    

    HelloWorld

:Java是大小写敏感的,需要注意大小写

​ 文件名 和 类名 必须保持一致,并且首字母大写

Java 程序运行机制

计算机的高级编程语言类型分为:编译型(complie) 与 解释型

两种类型的翻译时机不同,编译型会通过程序(编译器)将源代码转化成计算机执行的代码,解释型是执行一段代码解释一段

编译型 开发操作系统,C/C++ 为编译型

解释型 开发网页、服务器脚本,对速度要求不高,JS 为解释型

Java同时具有这两种类型的特点

Java程序运行机制

  1. 从 java 文件通过编译器(javac)变为 class 文件是编译的过程,可以理解为预编译,生成的代码介于机器码与 Java 源代码之间
  2. class文件运行的时候,放入 JVM 虚拟机的类装载机,将类装载到虚拟机
  3. 进入字节码校验器,对代码的对错进行校验
  4. 最后通过解释器解释给操作系统,执行一段解释一段