Java介绍
1.1. Java发展历程
1.1.1 程序设计语言的发展
第一代语言:机器语言 0011 1100 ……
第二代语言:汇编语言 ADD
第三代语言:已经到了高级语言阶段,面向过程的语言 ,C ,Basic
第四代语言:面向对象的语言,Java ,C#,C++
第五代语言:SQL语句
1.1.2 Java的发展历程
Java诞生于1995年初,是由Sun Microsystems公司1996年推出的一种面向对象的编程语言。不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
1996年,发布 Jdk1.0
1999年,(前身叫法)发布 J2 SE、J2 EE、J2 ME
2005年,(平台叫法)更名为Java SE、Java EE、Java ME
2009年,被Oracle收购
2011年,由Oracle发布Java 7
2014年,由Oracle发布Java 8
2017年,由Oracle发布Java9
2018年3月,由Oracle发布Java 10
2018年9月,由Oracle发布Java 11
2019年3月,由Oracle发布Java 12
2019年9月,由Oracle发布Java 13
注:虽然Java版本已经更新到了很高的版本,但是在企业中,应用最多的依然是Java8,而并不是最新的版本。因为企业中一些成熟的项目,是建立在之前的版本中的,贸然更新最新的版本,一旦遇到某些语法不兼容的情况,会很麻烦。同时,最新的版本,并没有经过市场大量的测试,容易出现一些BUG。因此,在企业中会选择一些稳定的版本。而Java8就是一个很稳定的版本。本课程中,采用的依然是Java8的版本。
1.2. Java的特点
1.2.1. 面向对象
Java是一种面向对象的语言,它对对象中的类、对象、继承、封装、多态、接口、包等均有很好的支持。为了简单起见,Java只支持类之间的单继承,但是可以使用接口来实现多继承。使用Java语言开发程序,需要采用面向对象的思想设计程序和编写代码。
面向对象思想(使用计算机模拟现实世界,解决现实问题,抓现实世界的特点,贴近人类思维模式)
1.2.2 平台无关性
平台无关性的具体表现在于,Java是“一次编写,到处运行(Write Once,Run any Where)”的语言,因此采用Java语言编写的程序具有很好的可移植性,而保证这一点的正是Java的虚拟机机制。在引入虚拟机之后,Java语言在不同的平台上运行不需要重新编译。
Java语言使用Java虚拟机机制屏蔽了具体平台的相关信息,使得Java语言编译的程序只需生成虚拟机上的目标代码,就可以在多种平台上不加修改地运行。
1.2.3. 简单性
Java语言的语法与C语言和C++语言很相近,使得很多程序员学起来很容易。对Java来说,它舍弃了很多C++中难以理解的特性,如操作符的重载和多继承等,而且Java语言不使用指针,加入了垃圾回收机制,解决了程序员需要管理内存的问题,使编程变得更加简单。
Java内存管理:Java提供了一台与环境集成的虚拟机(不同操作系统,如Windows,Linux,Centos等等系统都集成了),虚拟机里内置了一个垃圾收集器(Garbage Collectio,GC),现役的垃圾收集器有7种并行存在,可以互相搭配使用,解决不同的场景不同的问题。基于Java是自动内存的管理机制,由垃圾收集器来完成Java内存的管理及收集。
※※※※Java的自动内存管理机制,通过人为的参数做调优※※※※
1.2.4. 解释执行
Java程序在Java平台运行时会被编译成字节码文件,然后可以在有Java环境的操作系统上运行。在运行文件时,Java的解释器对这些字节码进行解释执行,执行过程中需要加入的类在连接阶段被载入到运行环境中。
1.2.5. 多线程
Java语言是多线程的,这也是Java语言的一大特性,它必须由Thread类和它的子类来创建。Java支持多个线程同时执行,并提供多线程之间的同步机制。任何一个线程都有自己的run()方法,要执行的方法就写在run()方法体内。
1.2.6. 分布式
Java语言支持Internet应用的开发,在Java的基本应用编程接口中就有一个网络应用编程接口,它提供了网络应用编程的类库,包括URL、URLConnection、Socket等。Java的RIM机制也是开发分布式应用的重要手段。
1.2.7. 健壮性
Java的强类型机制、异常处理、垃圾回收机制等都是Java健壮性的重要保证。对指针的丢弃是Java的一大进步。另外,Java的异常机制也是健壮性的一大体现。
1.2.8. 高性能
Java的高性能主要是相对其他高级脚本语言来说的,随着JIT(JustinTime)的发展,Java的运行速度也越来越高。
1.2.9. 安全性
Java通常被用在网络环境中,为此,Java提供了一个安全机制以防止恶意代码的攻击。除了Java语言具有许多的安全特性以外,Java还对通过网络下载的类增加一个安全防范机制,分配不同的名字空间以防替代本地的同名类,并包含安全管理机制。
1.3. Java的执行机制
1.3.1. 计算机的执行机制
a)编译执行
将源文件编译成平台识别的机器码,一次编译,多次执行
特点:执行效率高,不可跨平台
b)解释执行
将源文件被一行行解释,一行行执行。不同的操作系统具有不同的解释器
特点:执行效率低,可跨平台
注:任何一种编程语言都会有解释器,计算机只能识别二进制,解释器会将写好的代码解释成二进制
1.3.2 Java程序的执行机制(Write Once , Run AnyWhere)
1.编译:将Java源程序,编译为.class字节码文件. Javac 文件名.Java
2.运行:将.class文件,加载到JVM虚拟机中,执行. Java 类名
注:Java并没有把编译执行和解释执行任何一端做提高,只是做了融合。有编译的环节,在二次执行的时候就会比直接解释执行的效率要高。
1.4. Java的相关名词
2.4.1. Jdk的构成
Jdk = Jdk + Jre
-
Jdk是开发Java程序用的
-
Jre是运行Java程序用的
Jdk
Jdk(Java Development Kit,简称Jdk):
包含了Jre、Java核心类库、开发工具包(编译器+调试工具),以及监控工具等等
Jre
Jre(Java Runtime Environment,简称Jre):
包含JVM和解释器,完整的Java运行环境
JVM
JVM(Java Virtual Machine(Java虚拟机)的缩写):
使用软件在不同操作系统中,模拟相同的环境
1.4.2. Java SE 、Java EE、 Java ME的区别
Java SE(Java Standard Edition,Java 标准版)(全称Java Platform Standard Edition)用于开发和部署桌面、服务器以及嵌入设备和实时环境中的Java应用程序。Java SE包括用于开发Java Web服务的类库,同时,Java SE为Java EE和Java ME提供了基础。Java SE就是基于Jdk和Jre,包含支持 Java Web 服务开发的类,并为 Java 企业级开发提供基础。
Java EE,Java 平台企业版(Java Platform Enterprise Edition),之前称为Java 2 Platform, Enterprise Edition (J2EE),2018年3月更名为 Jakarta EE(这个名称应该还没有得到群众认可)。是 Sun 公司为企业级应用推出的标准平台,用来开发B/S架构软件。Java EE 可以说是一个框架,也可以说是一种规范。
JavaEE 是在 JavaSE 的基础上构建的,是对 JavaSE 的扩展,增加了一些更加便捷的应用框架。
Java ME(J2ME)(Java 2 Platform Micro Edition,Java平台微型版),Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。
通俗理解
Java SE 是做电脑上运行的软件
Java EE 是用来做网站的(我们常见的JSP技术)
Java ME 是做手机软件的
注:Java SE 就是Java应用程序,是一种分类。不是什么软件;就好像Java EE是web方向一样。
1.4.3. C/S架构 和 B/S架构
一门强大的语言一定会提供较为强大的类库
APP需要安装客户端,但是并不只有我一个客户端,显示层面来说有很多,例如:电脑也叫PC端,轻量级的H5端可以显示,安卓可以显示,ios可以显示但是都用在了显示层面,而数据才是核心,数据来源、流程处理、业务逻辑都在远端,比如百度网盘是一定有一台计算机在远端存了网盘里的内容。而你是通过软件来实现远端的访问。
-
Java企业版和Java的市场定位相关的,Java的优势是做企业级的应用开发(B/S架构的应用程序)
-
C/S(client- server): 客户机服务器 (需要在本地安装的为C/S架构)
-
例子: QQ,迅雷,快播,暴風影音,各種網絡遊戲等等。只要有和服務器通訊的都算。
-
1.5. Java开发环境的搭建
1.5.1. 为什么要安装Jdk?
Jdk(Java Development Kit),中文意思是Java开发工具包。
Jdk是Java的核心,Java开发者必须要先安装Jdk才能进行Java的开发。
Jdk包括了Java运行环境Jre、Java工具和Java基础类库。
Jre(Java Runtime Environment)是运行Java程序所必须的环境。Jre包含JVM及Java核心类库。如同火车想跑起来必须要有铁轨一样,Java程序要想运行,必须要有Jre。
Jdk是我们开发Java程序的必备工具,而开发的Java程序要运行起来必须要有Jre。所以安装Jdk的同时,就自带安装Jre。
一般在安装JDK的时候,会独立安装一个Jdk和一个独立的Jre,所以安装时是拿到了两个Jre,默认的情况下,将它们放到一个路径下就好.
1.6 安装后的文件夹
| bin(binary) | 机器能识别的语言其实就是高低电压,而高电压直接体现得我们的就是二进制,这个目录里面存储的都是二进制的命令,也就是直接让计算去执行操作的命令 |
|---|---|
| db(Datebase) | 相关的数据库操作 |
| inculde | Jdk里面默认包含的一些东西 |
| Jre | 安装时默认安装两个Jre,一般默认执行的是外部的Jre |
| lib(library) | 里面包含一些软件开发工具 |
| lib\XXXXX.jar | lib里面大部分都是.jar结尾的文件,它们是库的后缀名,里面就是一堆代码来实现各方面的功能.为了实现一些功能而讲一些代码打成.jar结尾的库,有多少个库就有多少个方面的核心功能,以后除了用这些库之外,也可以自己写一些代码,将这些代码打成.jar文件,以后要用的时候,直接拿来用即可 |
| src.zip | 存储实现Java一些功能的源码 |
| bin\XXX.exe | 都是一些可执行文件,在DOS命令行中输入这些会自动执行这些命令 |
浙公网安备 33010602011771号