目录
一. 创始人背景
Java主要创始人之一:Java之父——James Gosling(詹姆斯·高斯林),毕业于卡内基梅隆大学,卡尔加里大学。毕业后加入IBM,不被重视后加入SUN公司(Standford University Network的首字母),和同事一起开创了“Oak语言”,后来改名为“Java语言”(同印度尼西亚爪洼岛英文名,此地最有名的为“麝香猫咖啡”,俗称猫屎咖啡)。2009年,SUN公司被甲骨文公司(Oracle)收购,一年后从Oracle公司离职。
二. 计算机语言简单介绍
机器语言:电脑是很笨的,他虽然“反应快”,但脑子不好使,只认识 0 1 这两个数字,这就是二进制代码。
汇编语言:为了简化机器语言的使用,增加标识符代替二进制代码,比如 ADD 表示相加;
高级语言:更加接近自然语言,比如 COBOL,BASIC;
面向对象编程语言:C++(一半面向对象,一般面向过程),Java(源码是C++),python;
三. Java语言发展史
1995年,Java 第1版诞生;
比较重要的,长期支持的几个版本:
2014年,发布 Java SE 8 版本,引入Lambda表达式,Stream API 表达式,新的日期/时间API等重要特性;
2018年9月,发布 Java SE 11 版本,移除过时的API,引入新的HTTP client API 等新特性;
2021年9月,发布 Java SE 17 版本,增加了Slead类,Pattern Matching for switch 等版本;
2023年9月,发布 Java SE 21 版本;
四. Java技术平台体系
Java SE(Java Standard Edition,标准版):这是学习Java EE,Java ME 的前提,包含了 Java 的核心知识,非常重要,有的课程叫做 Java 基础(建议大家学习韩顺平老师的Java基础课程,对个人编程能力的提高非常有帮助);
Java EE(Java Enterprise Edition,企业版):主要用于app 的开发,比如微信/京东/淘宝等app的开发,(可以认为是 Java 后端开发相关);
Java ME(Java Micro Edition,微型版):主要用于嵌入式设备和移动设备上的应用开发,比如冰箱/电视机/音箱等家电或其他设备的软件操控;
五. Java语言特点
简单性:相比C,C++简单易学,舍弃了指针和多继承等部分;
面向对象(oop):纯面向对象,包含封装,继承,多态三大特点;
多线程:Java提供一系列线程控制机制.。可以很好地利用计算机的多核处理,从而又具有高效性;
跨平台:一次编译到处执行,Java语言可以在任何系统和硬件平台上运行。这是因为源文件(.Java)被编译成字节码文件(.class),而字节码文件可以在任何安装Java虚拟机的平台运行。
原理:不同的操作系统安装不同的Java虚拟机(JVM),而Java虚拟机屏蔽了不同底层运行平台的差别,从而实现“一次编译,到处运行”;
健壮性:Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证;
自动垃圾回收(Garbage Collection,简称GC):之前的C语言,C++都是手动垃圾回收,需要人去操作,因此难免会有遗忘和失误,从而造成服务器内存泄露,长久如此,服务器内存会越来越小,导致计算机运行速度变慢,最终发生宕机,即计算机死机。而自动垃圾垃圾回收机制会自动分配和释放(垃圾积攒到一定程度才会释放)内存,避免了这些问题的发生。
六. 解释性语言
此外,Java是解释性语言,不是 c/c++ 那样的编译型语言;
解释性语言:编译后的代码,不能被机器直接执行,需要解释器来执行;
编译型语言:编译后的代码,可以直接被机器执行;
(当然,也有部分人认为 Java 是混合型语言,因其既需要被解释器执行,也需要被机器执行)
七. JDK的下载
JVM:(Java Virtual Machine) Java虚拟机,是一个虚拟的计算机,负责执行指令,管理数据、内存、寄存器,包含在 JDK 中。
主要在内存中开辟一块空间,将编写的源代码(.java)翻译为字节码文件(.class);
JDK:(Java Dveleopment Kit)开发工具包,包含开发时需要的工具;
JVM在JDK(Java Development Kit)里,需要下载对应版本的JDK;
直接在官网下载即可,安装也比较简单;
打开JDK,会看到以下文件;
正因为bin文件夹存放JDK命令,所以在安装后配置环境变量的时候,输入的是bin的路径;
写在最后,有识、有志、有恒,则天下无难事,共勉吧!