初识 Java
1. Java的概述
1.1 程序的概述
生活中的程序:
- 事情进行的步骤、次序。
- 例如:工作程序
- 生活中的大白话:流程、手续、套路…
计算机中的程序:
- 计算机在执行任务时,对它所处理对象以及处理规则的一种描述。是通过程序设计语言来实现的。
- 例如:QQ、腾讯课堂、浏览器…
- 生活中的大白话:应用、爱屁屁(APP, application)、软件…
- 普及知识:软件是一个更大的概念,它是包含着程序的概念的。
生活中的程序和计算机中的程序关联?
-
有关联
-
坐火车,需要买票,你需要前往火车站或者代理点进行购买
- 前往火车站->排队->问询->购买->离开
- 这就是生活中的程序,为了完成买火车票这件事,而进行的一系列步骤。
-
现在我们只需要使用12306或者第三方的APP就可以线上购买,无需前往火车站。
- 下载APP->搜索指定日期的指定起始站的车次->选择时间->选择席位->购买->离开
- 这就是计算机程序,为了完成线上购买火车票这件事,而进行的一系列步骤
-
大多数计算机程序都是为了解决现实生活程序不足而产生的。
注意:千万记住,开发程序不能脱离现实!在遇到程序问题,多思考生活中的一些程序思路。
多思考生活中的业务逻辑,这是关键。
1.2 编程语言的概述
指令:完成某件事的步骤。
生活中,指令的下达需要交给专门的人来做,计算机中,指令的下达需要交给计算机来做。
生活中下达指令,对应人能听懂你在说啥。而计算机能听懂我们吗?
显然不能的,计算机识别二进制的(0,1组成,生活中我们主要使用的十进制,只包含0到9)。
我们无法和它沟通,除非你也使用二进制(机器语言),显而易见,我们使用二进制比较困难的,所以在程序发展中,出现了汇编语言(利用二进制写了一个程序,专门做简单的“翻译”工作,例如:我写了一个add,经过这个翻译官就将其翻译为对应的二进制)。
再随后,当C语言出现之后,整个程序开发(指令编写)变成了高级语言(写的东西尽量能被人更容易的阅读),实际上高级语言想要使用,需要一个更高级的“翻译官”(编辑器)。
主流编程语言:
- C语言
- C++
- C#
- Python
- Java
- JavaScript
- SQL
- R
- …
一般程序员都需要掌握至少5-6种语言,语言的思想都是相通,要解决的问题也是一样的,所以如果已经掌握了一门语言再去学习会简单。
大多数人都是以一到两门语言为主,其他语言为辅。
1.3 Java语言概述
-
1990年诞生,Java前身 Oak。
- 詹姆斯·高斯林领导开发的一个语言
- 当时詹姆斯在sun公司工作,该公司当时认定机顶盒市场非常有价值,打算进军该领域,Green Project工作计划。
- 最初博士打算用现有的语言来进行开发工作,但是开发过程中发现现有的语言C和C++,在语法和使用方面非常令人作呕。于是乎,为了更好进行工作,领导开发了一个新语言。
-
…该计划“破产”,计划终止,Oak被雪藏了。
-
1995年诞生,Java诞生。
- 网景公司在探寻一种能够在浏览器中进行编程开发的语言。
- sun公司发现自己就有一个语法、性能、使用都不错的语言。
- Oak -> Java
- 一下子火爆全球
-
1996年,推出开发工具包
-
1998年,Java分化三个方向。
- J2SE (Java 2 Platform,Standrad Edition):Java 标准版本
- (同样作为核心部分)用于桌面程序开发领域
- Windows中使用的程序一般都是C++开发的,有其系统支持。
- 微软当时基于Java做了改造,出品J++,但被sun公司告了,也是被收回了授权
- 微软2000年开发了一个C#语言(在前期的语法基本和Java一样)
- 以前Windows系统内置Java开发环境,现在没有了
- J2EE (Java 2 Platform,Enterprise Edition) :Java 企业版
- (基于SE扩展部分)用于服务器开发领域,例如:你使用过的各类网站、APP的后端
- Java的生态可以说是最完备的
- J2ME (Java 2 Platfrom,Micro Edition):Java 微终端版本
- (基于SE扩展的部分)用于移动端类的领域
- 安卓的出现,直接将该领域市场和IOS二分天下
- 安卓底层大量的API都是基于Java写的(在以前Java程序员有一个分支就是学安卓,因为基础是一样的)
- Oracle 把 Google 告了,Android 使用了 Java 的核心内容
- 2017年,Google 将 Kotlin 语言定义官方开发语言。
- J2SE (Java 2 Platform,Standrad Edition):Java 标准版本
-
2004年,Java新增了很多好用的特性
- J2SE ->Java SE
- J2EE -> Java EE
- J2ME -> Java ME
-
Java 1.1、…Java 5、Java 6 …
-
2009年,Orace收购sun公司,Java也一并归属Oracle公司
-
2013年中期,Java 8 出现,影响深远
- 对于后续版本迭代,开始更改为半年一更新。
- 但是对于版本也有长期支持版和临时支持版划分。
- Java 8 是长期更新,Java 11 也是长期更新
-
2019年,Oracle更改了Java使用协议,影响到了一些后续的更新使用
- 商业收费
- Java 8 2019年1月1日后的更新需要收费
-
2020年的现在,即将发布Java 16。
2. 掌握Java开发环境的搭建
2.1 JDK和JRE的概述
JDK:一种SDK(软件开发工具包),Java Development Kit(Java开发工具包),如果要是做Java开发必须安装此软件,它提供了编译,运行Java 程序所需的各种工具资源,包括Java 编辑器、Java运行时环境(),以及常用的HJava等。
JRE:Java Runtime Environment(Java运行环境),如果想要运行Java程序,必须要有它。
JDK中内置了一个JRE。
2.2 JDK的选择
1.选择厂家
-
Oracle JDK
-
Open JDK(sun公司搞出来的开源版本,比正式版本少一些商业特性)
- 亚马逊
- IBM
- RedHat
- 华为 -> 毕昇JDK
- 阿里巴巴 -> Drgronwell
- 腾讯 -> Kona JDK
2.选择版本
- JDK 6
- JDK 7
- JDk 8
- JDK 11
- …
技术选择应该选择稳定、成熟,而不是任由自己的喜好,或者一味的追求更新