Java基础一(Java语言概述)

时间:2022-12-14 15:12:57

一、软件开发介绍

  • 软件,即一系列按照特定顺序组织的计算机数据和指令的集合。有系统软 件和应用软件之分。
  • 人机交互方式
  • 图形化界面(Graphical User Interface GUI)这种方式简单直观,使用 者易于接受,容易上手操作。
  • 命令行方式(Command Line Interface CLI):需要有一个控制台,输 入特定的指令,让计算机完成一些操作。
  • 常用的DOS命令
dir
md
rd
cd
cd ..
cd \
del
exit

二、计算机编程语言介绍

  • 第一代语言:机器语言。指令以二进制代码形式存在。
  • 第二代语言:机器语言。指令以二进制代码形式存在。

Java基础一(Java语言概述)

  • 第三代语言:高级语言
  • C、Pascal、Fortran面向过程的语言
  • C++面向过程/面向对象
  • Java跨平台的纯面向对象的语言
  • .NET跨语言的平台
  • Python、Scala、go…

三、Java语言概述

  • 是SUN(Stanford University Network,斯坦福大学网络公司 ) 1995年推出的一 门高级编程语言。
  • 是一种面向Internet的编程语言。Java一开始富有吸引力是因为Java程序可以 在Web浏览器中运行。这些Java程序被称为Java小程序(applet)。applet使 用现代的图形用户界面与Web用户进行交互。 applet内嵌在HTML代码中。
  • 随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。
1.Java简史
  • 1991年 Green项目,开发语言最初命名为Oak (橡树)
  • 1999年,Java分成J2SE、J2EE和J2ME,JSP/Servlet技术诞生
  • 2004年,发布里程碑式版本:JDK 1.5,为突出此版本的重要性,更名为JDK 5.0
  • 2014年,发布JDK 8.0,是继JDK 5.0以来变化最大的版本
  • 2018年9月,发布JDK 11.0,版本号也称为18.9

四、Java语言运行机制及运行过程

1.Java语言的特点
  1. 面向对象
  1. 两个基本概念:类、对象
  2. 三大特性:封装、继承、多态
  1. 健壮性
  1. 吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与 释放等),提供了一个相对安全的内存管理和访问机制
  1. 跨平台性
  1. 跨平台性:通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once , Run Anywhere”
  2. 原理:只要在需要运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java Virtual Machine) 即可。由JVM来负责Java程序在该系统中的运行。
2.Java语言的特点:跨平台性

因为有了JVM,同一个Java 程序在三个不同的操作系统中都可以执行。这 样就实现了Java 程序的跨平台性。

3.Java两种核心机制
  • Java虚拟机 (Java Virtal Machine)
  • 垃圾收集机制 (Garbage Collection)
核心机制—Java虚拟机
  • JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指 令,管理数据、内存、寄存器。
  • 对于不同的平台,有不同的虚拟机。
  • 只有某平台提供了对应的java虚拟机,java程序才可在此平台运行
  • Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”

Java基础一(Java语言概述)

核心机制—垃圾回收
  • 不再使用的内存空间应回收—— 垃圾回收。
  • 在C/C++等语言中,由程序员负责回收无用内存。
  • Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空 间的分配情况。并在JVM空闲时,检查并释放那些可被释放的存储空间。
  • 垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。
  • Java程序还会出现内存泄漏和内存溢出问题吗?Yes!

五、Java语言的环境搭建:

配置环境变量 path

  • 在dos命令行中敲入javac,出现错误提示:

Java基础一(Java语言概述)

  • 错误原因:当前执行的程序在当前目录下如果不存在,windows系统会在系 统中已有的一个名为path的环境变量指定的目录中查找。如果仍未找到,会 出现以上的错误提示。所以进入到 jdk安装路径\bin目录下,执行javac,会 看到javac参数提示信息。

Java基础一(Java语言概述)

六、Hello Word

  • 步骤:
  1. 将 Java 代码编写到扩展名为 .java 的文件中。
  2. 通过 javac 命令对该 java 文件进行编译
  3. 通过 java 命令对生成的 class 文件进行运行

Java基础一(Java语言概述)


class Demo{
public static void main(String[] args){
System.out.println("mink!!!");
}
}

Java基础一(Java语言概述)

七、常见为问题和解决办法

Java基础一(Java语言概述)

声明为public的类应与文件名一致,否则编译失败

编译失败,注意错误出现的行数,再到源代码中指定位置改错

总结: 学习编程最容易犯的错是语法错误。Java要求你必须按照语法规则编写代码。 如果你的程序违反了语法规则,例如:忘记了分号、大括号、引号,或者拼 错了单词,java编译器都会报语法错误。尝试着去看懂编译器会报告的错误 信息。

八、注释

  • 单行注释 //
  • 对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。
  • 多行注释 /* */
  • 多行注释里面不允许有多行注释嵌套。
  • 文档注释 (java特有) /** */
  • 注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形 式体现的该程序的说明文档。
  • 操作方式
javadoc -d mydoc -author -version Demo.java

Java基础一(Java语言概述)

  • Java源文件以“java”为扩展名。源文件的基本组成部分是类(class),如 本例中的HelloWorld类。
  • Java语言严格区分大小写。
  • 一个源文件中最多只能有一个public类。其它类的个数不限,如果源文件包含 一个public类,则文件名必须按该类名命名

九、Java API文档

  • API (Application Programming Interface,应用程序编程接口)是 Java 提供 的基本编程接口。
  • Java语言提供了大量的基础类,因此 Oracle 也为这些基础类提供了相应的 API文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。
  • 下载API: ​​http://www.oracle.com/technetwork/java/javase/downloads/index.html​
  • Additional Resources-Java SE 8 Documentation下载。

十、良好的编程风格

  • 正确的注释和注释风格
  • 使用文档注释来注释整个类或整个方法。
  • 如果注释方法中的某一个步骤,使用单行或多行注释。
  • 正确的缩进和空白
  • 正确的缩进和空白
  • 运算符两边习惯性各加一个空格。比如:2 + 4 * 5。
  • 块的风格
  • Java API 源代码选择了行尾风格

Java基础一(Java语言概述)

章节练习题及面试题

1.GC是什么? 为什么要有GC

GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。

2.垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收

对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。

当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。可以。程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。