Java基础是学习JavaEE、大数据、Android开发
的基石!
案例
举例: Spring – Rest(Spring MVC)举例:Spark – Spark Streaming
Java基础知识图解
Java基础课程概述
第一部分:编程语言核心结构主要知识点:变量、基本语法、分支、循环、数组、 …第二部分: Java 面向对象的核心逻辑主要知识点: OOP 、封装、继承、多态、接口、 …第三部分:开发 Java SE 高级应用程序主要知识点:异常、集合、 I/O 、多线程、反射机制、网络编程、 ……第四部分:实训项目项目一:家庭收支记账软件项目二:客户信息管理软件项目三:开发团队人员调度软件附加项目一:银行业务管理软件附件项目二:单机考试管理软件
Java基础课程体系
第 1 章 Java 语言概述 第 10 章 泛型 第 2 章 基本语法 第 11 章 IO 流 第 3 章 数组 第 12 章 多线程 第 4 章 面向对象编程 ( 上 ) 第 13 章 Java 常用类 第 5 章 面向对象编程 ( 中 ) 第 14 章 Java 反射机制 第 6 章 面向对象编程 ( 下 ) 第 15 章 网络编程 第 7 章 异常处理 第 16 章 Lambda 表达式与 Stream API 第 8 章 枚举类 & 注解第17章 Java 9 & 10 & 11新特性 第 9 章 Java 集合
1.软件开发介绍
软件开发软件,即一系列按照特定顺序组织的计算机数据和指令的集合。有 系统软 件和 应用软件之分。人机交互方式1. 图形化界面( Graphical User Interface GUI)这种方式简单直观,使用者易于接受,容易上手操作。2. 命令行方式( Command Line Interface CLI):需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记录住一些命令。Pascal 之父 Nicklaus Wirth : “Algorithms+Data Structures=Programs”常用的 DOS 命令
dir列出当前目录下的文件以及文件夹 md创建目录 rd删除目录 cd进入指定目录 cd..退回到上一级目录 cd\退回到根目录 del删除文件 exit退出 dos 命令行 补充: echo javase>1.doc 常用快捷键
← →移动光标 ↑ ↓调阅历史操作命令 Delete和Backspace 删除字符
2.计算机编程语言介绍
什么是计算机语言1.语言:是人与人之间用于沟通的一种方式。例如:中国人与中国人用普通话沟通。而中国人要和英国人交流,就要学习英语。2. 计算机语言:人与计算机交流的方式。 如果人要与计算机交流,那么就要学习计算机语言。 计算机语言有很多种。如: C ,C++ ,Java ,PHP , Kotlin , Python , Scala 等。1. 第一代语言:机器语言。指令以二进制代码形式存在。2.第二代语言:汇编语言。使用助记符表示一条机器指令。3.第三代语言:高级语言:
C 、 Pascal 、 Fortran 面向过程的语言 C++ 面向过程 / 面向对象 Java 跨平台的纯面向对象的语言 .NET 跨语言的平台Python、Scala…
3.Java语言概述
1.是 SUN( S tanford U niversity N etwork ,斯坦福大学网络公司 ) 1995 年推出的一 门高级编程语言。2.是一种面向 Internet 的编程语言。 Java 一开始富有吸引力是因为 Java 程序可以在Web 浏览器中运行。这些 Java 程序被称为 Java 小程序( applet )。 applet 使用现代的图形用户界面与Web 用户进行交互。 applet 内嵌在 HTML 代码中。3.随着 Java 技术在 web 方面的不断成熟,已经成为 Web 应用程序的首选开发语言。后台开发: Java 、 PHP 、 Python 、 Go 、 Node.jsJava 简史
1991 年 Green 项目,开发语言最初命名为 Oak ( 橡树 ) 1994 年,开发组意识到 Oak 非常适合于互联网 1996 年,发布 JDK 1.0 ,约 8.3 万个网页应用 Java 技术来制作 1997 年,发布 JDK 1.1 , JavaOne 会议召开,创当时全球同类会议规模之最 1998 年,发布 JDK 1.2 ,同年发布企业平台 J2EE 1999 年, Java 分成 J2SE 、 J2EE 和 J2ME , JSP/Servlet 技术诞生 2004 年, 发布里程碑式版本: JDK 1.5 ,为突出此版本的重要性,更名为 JDK 5.0 2005 年, J2SE -> JavaSE , J2EE -> JavaEE , J2ME -> JavaME 2009 年, Oracle 公司收购 SUN ,交易价格 74 亿美元 2011 年,发布 JDK 7.0 2014 年,发布 JDK 8.0 ,是继 JDK 5.0 以来变化最大的版本 2017 年,发布 JDK 9.0 ,最大限度实现模块化 2018 年 3 月,发布 JDK 10.0 ,版本号也称为 18.32018年9月,发布JDK 11.0,版本号也称为18.9 Java 技术体系平台
Java SE(Java Standard Edition) 标准版 支持面向桌面级应用(如 Windows 下的应用程序)的 Java 平台,提供了完整的 Java 核 心API ,此版本以前称为 J2SE Java EE(Java Enterprise Edition) 企业版 是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如 :Servlet 、 Jsp 等,主要针对于 Web 应用程序开发。版本以前称为 J2EE Java ME(Java Micro Edition) 小型版 支持 Java 程序运行在移动终端(手机、 PDA )上的平台,对 Java API 有所精简,并加 入了针对移动终端的支持,此版本以前称为J2ME Java Card支持一些Java小程序(Applets)运行在小内存设备(如智能卡)上的平台 Java 在各领域的应用从 Java 的应用领域来分, Java 语言的应用方向主要表现在以下几个方面:1. 企业级应用:主要指复杂的大企业的软件系统、各种类型的网站。Java的安全机制以及它的跨平台的优势,使它在分布式系统领域开发中有广泛应用。应用领域包括金融、电信、交通、电子商务等。2. Android 平台应用 : Android 应用程序使用 Java 语言编写。 Android 开发水平的高低很大程度上取决于Java 语言核心能力是否扎实。3. 大数据平台开发 :各类框架有 Hadoop , spark , storm , flink 等,就这类技术生态圈来讲,还有各种中间件如flume , kafka , sqoop 等等 ,这些框架以及工具大多数是用Java 编写而成,但提供诸如 Java , scala , Python , R 等各种语言 API 供编程。4. 移动领域应用:主要表现在消费和嵌入式领域,是指在各种小型设备上的应用,包括手 机、PDA 、机顶盒、汽车通信设备等。Java 语言的诞生java之父 James Gosling 团队在开发 ”Green” 项目时,发现 C 缺少垃圾回收系统,还有可移植的安 全性、分布程序设计和多线程功能。最后,他们想要一种易于移植到各种设备上的平台。Java确实是从 C 语言和 C++ 语言继承了许多成份,甚至可以将 Java 看成是 类 C 语言 发展和衍生的产物。比如 Java 语言的变量声明,操作符形式,参数传递,流程控制等方面和C 语言、 C++ 语言完全相同。但同时,Java 是一个 纯粹的面向对象 的程序设计语言,它继承了 C++ 语言面向对象技术的核心。Java 舍弃了 C 语言中容易引起错误的指针 (以引用取代)、运算符重载(operator overloading )、多重继承(以接口取代)等特性, 增加了垃圾回收器功能 用于回收不再被引用的对象所占据的内存空间。JDK1.5 又引入了泛型编程( GenericProgramming )、类型安全的枚举、不定长参数和自动装 / 拆箱
主要特性1.Java语言是易学的 。 Java 语言的语法与 C 语言和 C++ 语言很接近,使得大多数程序员 很容易学习和使用Java 。2.Java 语言是强制面向对象的 。 Java 语言提供类、接口和继承等原语,为了简单起见, 只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements )。3. Java 语言是分布式的 。 Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net ),它提供了用于网络应用编程的类库,包括URL 、 URLConnection 、 Socket 、 ServerSocket 等。 Java 的 RMI (远程方法激活)机制也是开发分布式应用的重要手段。4.Java 语言是健壮的。 Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是Java 的明智选择5.Java语言是安全的。 Java 通常被用在网络环境中,为此, Java 提供了一个安全机制以防恶意代码的攻击。如:安全防范机制(类ClassLoader ),如分配不同的名字空间以防替代本地的同名类、字节代码检查。6.Java 语言是体系结构中立的。 Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为class 的文件),然后可以在实现这个Java平台的任何系统中运行。7.Java 语言是解释型的。 如前所述, Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个Java 平台的任何系统的解释器中运行。8.Java 是性能略高的。 与那些解释型的高级脚本语言相比, Java 的性能还是较优的。9.Java 语言是原生支持多线程的。 在 Java 语言中,线程是一种特殊的对象,它必须由Thread 类或其子(孙)类来创建。
4.运行机制及运行过程
Java 语言的特点1.特点一: 面向对象1.两个基本概念:类、对象2.三大特性:封装、继承、多态2. 特点二: 健壮性1.吸收了 C/C++ 语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与 释放等),提供了一个相对安全的内存管理和访问机制3. 特点三: 跨平台性1.跨平台性:通过 Java 语言编写的应用程序在不同的系统平台上都可以运行。 “ Writeonce , Run Anywhere ”2.原理:只要在需要运行 java 应用程序的操作系统上,先安装一个 Java 虚拟机 (JVM J ava V irtual M achine) 即可。由 JVM 来负责 Java 程序在该系统中的运行。跨平台性因为有了JVM ,同一个 Java 程序在三个不同的操作系统中都可以执行。这样就实现了Java 程序的跨平台性。Java 两种核心机制1.Java虚拟机 (Java Virtal Machine)2.垃圾收集机制 (Garbage Collection)Java 虚拟机1.JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指 令,管理数据、内存、寄存器 。2.对于不同的平台,有不同的虚拟机。3.只有某平台提供了对应的 java 虚拟机, java 程序才可在此平台运行4.Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“ 一次编译,到处运行 ”
垃圾回收
1.不再使用的内存空间应回收—— 垃圾回收。1.在C/C++ 等语言中,由程序员负责回收无用内存。2.Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空 间的分配情况。并在JVM 空闲时,检查并释放那些可被释放的存储空间。2.垃圾回收在 Java 程序运行过程中自动进行,程序员无法精确控制和干预。3. Java 程序还会出现内存泄漏和内存溢出问题吗? Yes!
5.Java的环境搭建
什么是 JDK , JRE
JDK( J ava D evelopment K it Java 开发工具包 ) JDK 是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了 JRE。所以安装了 JDK ,就不用在单独安装 JRE 了。其中的开发工具:编译工具 (javac.exe) 打包工具 (jar.exe) 等 JRE( J ava R untime E nvironment Java 运行环境 ) 包括 Java 虚拟机 (JVM J ava V irtual M achine) 和 Java 程序所需的核心类库等,如果想要 运行 一个开发好的 Java 程序,计算机中只需要安装 JRE 即可。简单而言,使用 JDK 的开发工具完成的 java 程序,交给 JRE 去运行。JDK 、 JRE 、 JVM 关系
JDK = JRE + 开发工具集(例如 Javac 编译工具等)JRE = JVM + Java SE 标准类库
下载并安装 JDK1. 官方网址:www.oracle.com、java.sun.com2.安装 JDK1.傻瓜式安装,下一步即可。2. 建议:安装路径不要有中文或者空格等特殊符号。3.如果操作系统是64 位的,软件尽量选择支持 64 位的(除非软件本身不区分)。4.当提示安装 JRE 时,正常在 JDK 安装时已经装过了,但是为了后续使用 Eclipse 等开发工具不报错,建议也根据提示安装JRE 。配置环境变量 path1. 在 dos 命令行中敲入 javac ,出现错误提示:2.错误原因:当前执行的程序在当前目录下如果不存在,windows系统会在系统中已有的一个名为path的环境变量指定的目录中查找。如果仍未找到,会出现以上的错误提示。所以进入到 jdk安装路径\bin目录下,执行javac,会看到javac参数提示信息。
3.每次执行 java 的工具都要进入到bin目录下,是非常麻烦的。可不可以在任何目
录下都可以执行 java 的工具呢?1.根据windows系统在查找可执行程序的原理,可以将java工具所在路径定义到path 环境变量中,让系统帮我们去找运行执行的程序。2.配置方法:1.我的电脑 -- 属性 -- 高级系统设置 -- 环境变量2.编辑 path 环境变量,在变量值开始处加上java工具所在目录,后面用 “ ; ”和其他值分隔开即可。3. 打开 DOS 命令行,任意目录下敲入 javac 。如果出现 javac 的参数信息,配置成功。配置完path环境变量以后的验证
6.开发体验—HelloWorld
第一个 Java 程序public class Test{ public static void main(String[] args) { System.out.println(“Hello World!”); } }
7.常见问题及解决方法
总结:学习编程最容易犯的错是 语法错误 。 Java 要求你必须按照语法规则编写代码。如果你的程序违反了语法规则,例如:忘记了分号、大括号、引号,或者拼错了单词,java 编译器都会报语法错误。 尝试着去看懂编译器会报告的错误信息。
8.注 释(Comment)
9.Java API文档
1. API ( Application Programming Interface, 应用程序编程接口)是 Java 提供的基本编程接口。2. Java 语言提供了大量的基础类,因此 Oracle 也为这些基础类提供了相应的API文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。3. 下载 API :1. http://www.oracle.com/technetwork/java/javase/downloads/index.html2.Additional Resources-Java SE 8 Documentation 下载。
10.良好的编程风格
11.常用的Java开发工具
http://edn.embarcadero.com/cn/jbuilder
https://netbeans.org/features/index.html
https://eclipse.org/
http://www.myeclipsecn.com/
https://www.jetbrains.com/idea/