JAVA期末复习知识点总计(一)

JAVA语言程序设计(第三版 第一章 绪论)

第一章 绪论

1.前言

马上要期末考试(2020.12月),也是到复习的时候了,所以决定借此机会开始总结前面所学的知识点并分享出来,如有不足还请DL指点。

2.Java是什么?

Java是一种编程语言
Java是一种技术体系

我们都知道C语言是面向过程的,Java和C++是面向对象的编程语言。

面向对象=对象+对象+……
优点:可扩展性强,维护成本低。
缺点:新手上手难。
面向过程=算法+数据结构
优点:简单。
缺点:代码量大,后期维护性差。

java与.net是web开发的两大阵营,java实现了真正的跨平台性,.net由于是非开源的,跨平台性支持性并不好,只能够在Windows环境稳定运行。

3.为什么要学Java?

  • 1.掌握面向对象设计的基本概念、原理和特征.
  • 2.掌握基于Java的对象设计思想和技术。
  • 3.掌握Java语言及开发工具的使用方法,并能自主开发较为复杂的程序.
  • 4.掌握Java常用的高级应用技术.
  • 5.为进一步学习Java的高级技术打下基础.

4.Java概述

在这里插入图片描述
封装只是认为隐藏了数据和方法,很少有人提到隐藏了具体实现。

在这里插入图片描述

机器语言(machine language)是一种指令集的体系,这种指令集称机器码(machine code),是电脑CPU可直接解读的数据。

5.Java三大技术体系

在这里插入图片描述

6.Java SE

  • 提供桌面和工作组级应用的开发和运行环境
  • 以前称为JDK1.2(J2SE)
  • Java SE的实现包括:Java SE Development Kit(JDK),Java Runtime Environment(JRE)
  • Java SE是Java EE和Java Web Service技术基础

7.Java SE 相关术语

  • Java开发工具包(JDK/SDK)
    JDK是整个Java的核心,包括了Java的运行环境(JRE),各种Java工具(javac、java、jdb等)和Java基础的类库(即Java API 包括rt.jar)。
  • Java运行环境(JRE)
    Java平台,所有的Java程序都要在JRE下才能运行。包括JVM和Java核心库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其他工具。
  • Java虚拟机(JVM)
    JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
  • 应用程序编程接口(API)

8.Java SE组成

在这里插入图片描述
如果对JVM、JRE和JDK还不明白可以参考我之前写的这篇文章。
JVM、JRE和JDK三者之间的联系与区别

9.Java ME

  • 针对消费类电子设备如手机,电视置顶盒,汽车导航系统等的嵌入式计算的一组技术和规范。
    -语言精简,运行环境高度优化。

10.Java EE

  • 开发企业级和服务端的应用
  • J2SE+Enterprice JavaBeans(EJB), Java Servlets API + Java Server Pages(JSP).

在这里插入图片描述

在这里插入图片描述

11.Java特征

11.1简单性
  • Java语言句法和语义都比较单纯,来自C++容易学习和使用
  • Java对C++中容易引起错误的成分进行成功改造
    1 .去掉指针,取消多重继承和运算符重载
    2.设立自动内存回收:内存管理由程序员移向Java内嵌的自动内存回收机制等,从而简化语义,减少出错机会,减轻程序员负担
    3.Java还提供了大量功能丰富的可重用类库,简化了编程工作量
11.2 面向对象

Java 是最“纯洁”的面向对象语言,对面向对象方法学的支持也最全面:

  • 与C++一样,Java的对象有模块化性质和信息隐藏能力,满足面向对象的封装要求;
  • 支持继承;
  • 支持多态(通过抽象类、接口(interface)、方法重载和重载来实现)
11.3 半编译,半解释

在这里插入图片描述

  • 半编译:
    采用编译器对程序进行编译,但编译得到的是一种中性的字节码,并不是本机代码,编译没有进行彻底,所以称为“半编译”;
  • 半解释:
    字节码的执行采取解释执行方式,这种解释执行与传统的解释执行的差别是:不是以源代码为输入的,而是以程序编译后产生的字节码为输入,所以称为“半解释”。
    在这里插入图片描述
    优点:
  • 兼具编译执行的效率优势和解释执行的灵活性;
  • 提高了应用程序的可移植性:源程序、中间代码
11.4可移植性

  • 一次编程,到处运行
  • 可移植性源于两方面:
    ①Java的半编译,半解释的特征
    ②Java采用标准的独立于硬件平台的数据类型
11.5 安全性

在语言和运行环境中引入了多级安全措施:

  • Java的内存分配和引用模型对于程序员透明,完全由底层的运行系统控制;
    ① 内存布局与C、 C++不同,不是由编译器决定,而是运行系统根据所在的硬件平台的特性决定;
    ②取消了C、C++的指针,JAVA编译器通过符号指针来引用内存,由JAVA运行系统在运行时将符号指针具体解释为实际的内存地址。
  • 字节码验证
    运行系统引入字节码验证器,其中包含简单的规则验证程序,以确保遵循下列规则:
    ①不存在伪造的指针;
    ②未违反访问权限;
    ③严格遵循对象访问规范来访问对象;
    ④合适的参数调用方法;
    ⑤没有栈溢出。
11.6 多线程
  • JAVA在语言级嵌入对并发的支持功能,具体机制就是多线程。线程是比进程更小、更经济的并发执行单位,不拥有单独的内存空间。
  • JAVA中线程的同步采用C.A.R.Hoare的临界区保护规则。
  • JAVA线程执行中被映射到实际的操作系统线程。
    这意味着做多机环境下,可以真正实现并行。
11.7 动态特性

JAVA程序的基本组成单元 —— 类是运行时动态装载的。使JAVA可以动态地维护应用系统及其支持类之间的一致性。

12.Java运行系统的构成级运行过程

12.1 运行系统的构成
  • 类装配器
  • 字节码验证器
  • 解释器
  • 代码生成器
  • 运行支持库
12.2 程序运行过程

在这里插入图片描述

13. 核心类包

java.lang – JAVA语言的核心类组成,包括了基本数据类型和出错处理方法等。

  • java.io – JAVA语言的标准I/O库
  • java.util– 包括集合类,日期时间相关的类等。
  • java.net– 提供实现网络应用所需的类。
  • java.awt–(Abstract Window Toolkit)提供创建用户界面,绘制图形图像所需的类。
  • java.awt.event–提供图形用户界面中事件处理相关的类。

这里接下一篇 第二章 面向对象程序设计基本概念
JAVA期末复习知识点总结(二)

纸上得来终觉浅,绝知此事要躬行。
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱笑君吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值