Java 基础是学习 JavaEE 、大数据、 Android 开发 的基石!
举例:Spring – Rest(Spring MVC) 核心代码:
举例: Spark Spark Streaming
软件,即一系列按照特定顺序组织的计算机数据 和指令的集合。有系统软 件 和 应用软件之分。
图形化界面 Graphical User Interface GUI) 这种 方式 简单直观,使用 者易于接受,容易上手操作。
命令行方式 Command Line Interface CLI) 需要有 一个控制台,输 入特定的指令,让 计算机 完成一些 操作。较为麻烦,需要记录住一些 命令。
Pascal 之父 Nicklaus Wirth Algorithms+Data Structures=Programs”
dir 列出当前目录下的文件以及文件夹
md 创建目录
rd 删除目录
cd 进入指定目录
cd .. : 退回到上一级目录
cd 退回到根目录
del 删除文件
exit : 退出 dos 命令行
补充: echo javase>1.doc
常用快捷键
←←→→:移动光标
↑↑↓↓:调阅历史操作命令
Delete 和 Backspace :删除字符
如果人要与计算机交流,那么就要学习计算机语言。
计算机语言有 很多种 。 如: C ,C++ C++,Java ,PHP Kotlin Python Scala 等 。
第三代语言:高级语言
C 、 Pascal 、 Fortran 面向过程的语言
C++ 面向过程 面向对象
Java 跨平台的纯面向对象 的语言
.NET 跨语言的 平台
Python 、 Scala…
java开发效率更高(面向对象)
python开发周期短,但运行时间长,两者取其利处
社区大,人员多
如下图
查询网站:https://www.tiobe.com/tiobe index/
是 SUN( S tanford U niversity N etwork ,斯坦福大学网络公司 ) 1995 年推出的一 门高级 编程语言。
是 一种面向 Internet 的 编程语言 。 Java 一开始富有吸引力是因为 Java 程序可以 在 Web 浏览器中运行。 这些 Java 程序被 称为 Java 小程序( applet )。 applet 使 用现代的图形用户界面与 Web 用户进行交互。 applet 内嵌在 HTML 代码中。
随着 Java 技术在 web 方面的不断成熟,已经成为 Web 应用程序的首选开发语言。
后台开发: Java 、 PHP 、 Python 、 Go 、 Node.js
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.3
2018 年 9 月,发布 JDK 11.0 ,版本号也称为 18.9
从 Java 的应用领域来分, Java 语言的应用方向主要表现在以下几个方面:
企业级应用 :主要指复杂的大企业的软件系统、各种类型的网站。 Java 的安全机制以及 它的跨平台的优势,使它在分布式系统领域开发中有广泛应用。应用领域包括金融、电 信、交通、电子商务等。
Android 平台应用 Android 应用程序使用 Java 语言编写。 Android 开发水平的高低 很大程度上取决于 Java 语言核心能力是否 扎实 。
大数据平台开发 :各类框架有 Hadoop spark storm flink 等,就这类技术生态圈来讲,还有各种中间件如 flume kafka sqoop 等等 ,这些框架以及工具大多数 是用 Java 编写而成,但提供诸如 Java scala Python R 等各种语言 API 供编程。
移动领域应用:主要表现在消费和嵌入式领域, 是 指在 各种小型设备上的应用,包括手 机、 PDA 、机顶盒、汽车通信设备等。
java 之 父 James Gosling 团队在开发 ” 项目时,发现 C 缺少垃圾回收系统,还有可移植的安 全性、 分布 程序设计和 多线程功能。最后,他们想要一种易于移植到各种设备上的平台。
Java 确实是从 C 语言和 C++ 语言继承了许多成份,甚至可以将 Java 看 成是 类 C 语言 发展和衍生的产物。比如 Java 语言的变量声明,操作符 形式,参数传递,流程控制等方面和 C 语言、 C++ 语言完全相同。但同 时, Java 是一个 纯粹的面向对象 的程序设计语言,它 继承 了 C 语言 面向对象技术的核心。 Java 舍弃了 C 语言中容易引起错误的指针 (以 引用取代)、运算符重载( operator overloading )、多重继承 (以接口取代)等特性 增加了垃圾回收器功能 用于回收不再被引用 的对象所占据的内存空间。 JDK1.5 又引入了泛型编程( Generic Programming )、类型安全的枚举、不定长参数和自动装拆箱.
Java 语言是易学的 。 Java 语言的语法与 C 语言和 C++ 语言很接近,使得大多数程序员 很容易学习和使用 Java 。
Java 语言是强制面向对象的 。 Java 语言提供类、接口和继承等原语,为了简单起见, 只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制 (关键字为 implements )。
Java 语言是分布式的 。 Java 语言支持 Internet 应用的开发,在基本的 Java 应用编 程接口中有一个网络应用编程接口( java net ),它提供了用于网络应用编程的类 库,包括 URL 、 URLConnection 、 Socket 、 ServerSocket 等。 Java 的 RMI (远程方法激活)机制也是开发分布式应用的重要手段。
Java 语言是健壮的。 Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序 健壮性的重要保证。对指针的丢弃是 Java 的明智选择。
Java 语言是安全的。 Java 通常被用在网络环境中,为此, Java 提供了一个安全机 制以防恶意代码的攻击。如:安全防范机制(类 ClassLoader ),如分配不同的 名字空间以防替代本地的同名类、字节代码检查。
Java 语言是体系结构中立的。 Java 程序(后缀为 java 的文件)在 Java 平台上被 编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。
Java 语言是解释型的。 如前所述, Java 程序在 Java 平台上被编译为字节码格式, 然后可以在实现这个 Java 平台的任何系统的解释器中运行。
Java 是性能略高的。 与那些解释型的高级脚本语言相比, Java 的性能还是较优的。
Java 语言是原生支持多线程的。 在 Java 语言中,线程是一种特殊的对象,它必须 由 Thread 类或其子(孙)类来创建。
因为有了 JVM ,同一个 Java 程序在三个不同的操作系统中都可以执行。这 样就实现了 Java 程序的跨平台性。
不再使用的内存空间应回收 垃圾回收。
在 C/C++ 等语言中,由程序员负责回收无用内存。
Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空 间的分配情况。并在 JVM 空闲时,检查并释放那些可被释放的存储空间。
垃圾回收在 Java 程序运行过程中自动进行,程序员无法 精确控制 和 干预。
Java 程序还会出现内存泄漏和内存溢出问题吗? Yes!
下载 JDK
安装 JDK
配置环境变量
path:windows 系统执行命令时要搜寻的路径。
验证 是否成功: javac java
选择合适的文本编辑器或 IDE 开发
官方网址:
安装 JDK
傻瓜式安装,下一步即可。
建议:安装路径不要有 中文或者空格等特殊符号。
如果操作系统是 64 位的,软件尽量选择支持 64 位的(除非软件本身不区分 。
当 提示安装 JRE 时,正常在 JDK 安装时已经装过了,但是为了后续使用 Eclipse 等开发 工具不报错,建议也根据提示安装 JRE 。
介绍jdk包内的各个文件内容
P31 1:48
统中已有的一个名为 path 的环境变量指定的目录中查找。如果仍未找到,会
出现以上的错误提示。所以进入到 jdk 安装路径 bin 目录下,执行 javac ,会
看到 javac 参数提示信息。为了能在所有文件执行成功,需要配置环节变量。
每次执行 java 的工具都要进入到 bin 目录下,是非常麻烦的。可不可以在任何目 录下都可以执行 java 的工具呢?
根据 windows 系统在查找可执行程序的原理,可以将 java 工具所在路径定义到 path 环境变量中,让系统帮我们去找运行执行的程序。
配置方法:
我的电脑 属性 高级系统设置 环境变量
编辑 path 环境变量,在变量值开始处加上 java 工具所在目录,后面用 ““; 和其他值分隔 开即可。
打开 DOS 命令行,任意目录下敲入 javac 。如果出现 javac 的参数信息,配置成功。
注: 具体操作流程, 参看 JDK8 下载 安装 配置 .doc
允许配置多个JDK版本,但是用的时候就一个
如果java或javac不能同时完成,则把JAVA_HOME放在最前面
如果用户变量不好使就直接放在环境变量
步骤:
\1. 将 Java 代码 编写 到扩展名为 .java 的文件中。
\2. 通过 javac 命令对该 java 文件进行 编译 。
\3. 通过 java 命令对生成的 class 文件进行 运行 。
有了 java 源文件,通过编译器将其编译成 JVM 可以识别的字节码文件。
在该源文件目录下,通过 javac 编译工具对 Test.java 文件进行编译。
如果程序没有错误,没有任何提示,但在当前目录下会出现一个 Test.class 文 件,该文件称为字节码文件,也是可以执行的 java 的程序。
有了可执行的 java 程序 Test.class 字节码文件
通过运行工具 java.exe 对字节码文件进行执行。
出现提示:缺少一个名称为 main 的方法。
因为一个程序的执行需要一个起始点或者入口,所以在 Test 类中的加入 public static void main(String[] args
对修改后的 Test.java 源文件需要重新编译,生成新的 class 文件后,再进行执行。
发现没有编译失败,但也没有任何效果,因为并没有告诉 JVM 要帮我们做什么事情,也就是 没有可以具体执行的语句。
想要和 JVM 来个互动,只要在 main 方法中 加入 一句 System.out.println (“Hello 因为程 序进行改动,所以再重新编译,运行即可。
源文件名不存在或者 写 错
当前 路径 错误
后缀 名隐藏问题
学习编程最容易犯的错是 语法错误 。 Java 要求你必须按照语法规则编写代码。 如果你的程序违反了语法规则,例如:忘记了分号、大括号、引号,或者拼 错了单词, java 编译器都会报语法错误。 尝试着去看懂编译器会报告的错误 信息。
单行注释
多 行注释
文档注释 (java 特有
提高了 代码的 阅读性;调试程序的重要方法 。
注释 是一个程序员必须要具有的良好编程习惯。
将自己的思想通过注释先整理出来,再用代码去体现
格式: //注释文字
格式: :/* 注释文字 */
注:
@ author 指定 java 程序的作者
@ version 指定源文件的版本
Java 源文件以“ java ”为扩展名。源文件的基本组成部分是类 class 如 本 例 中 的 Hello World 类。
Java 应用程序的执行入口是 main()
方法。它有固定的书写 格式public static void main(String[] args )
Java 语言严格区分大小写。但window没有区分
Java 方法由一条条语句构成,每个语句以 “;”结束。
大括号 都是成对出现的, 缺一不可。
一个源文件中最多只能有一个 public 类。其它类的个数不限,如果源文件包含 一个 public 类,则文件名必须按该类名命名。
1.java程序编写-编译-运行的过程
编写:我们将编写的java代码保存在以“.java”结尾的源文件中I
编译:使用javac.exe命令编译我们的java源文件。格式:javac
运行:使用java。exe命令解释运行我们的字节码文件。格式:java类名
2.在一个java源文件中可以声明多个class。
但是,只能最多有一个类声明为public的。
而且要求声明为public的类的类名必须与源文件名相同。
3.程序的入口是main()方法。格式是固定的。
4.输出语句:
System.out.print1n():先输出数据,然后换行
System.out.print():只输出数据
5.Java 方法由一条条语句构成,每个语句以 “;”结束。
6.编译的过程:编译以后,会生成一个或多个字节码文件。字节码文件的文件名与java源文件的类名相同
方法一:Java API、JDK 8 英文版+中文版.zip
方法二:官网下载 Additional Resources Java SE 8 Documentation 下载 。
记事本
UltraEdit
EditPlus
TextPad
NotePad
JBuilder
NetBeans
Eclipse
MyEclipse
IntelliJ IDEA
1.JDK,JRE,JVM三者之间的关系,以及JDK、JRE包含的主要结构有哪些
JDK = JRE + Java的开发工具(javac.exe,java.exe,javadoc.exe)
JRD = JVM + Java核心类库
2.为什么要配置path****环境变量?如何配置?
希望在任何路径下都能正常运行
建立JAVA_HOME变量,JAVA_HOME=bin的上层目录
path=%JAVA_HOME%/bin
3.常用的几个命令行操作都有哪些?(至少4个)
cd 前往目录
cd… 返回上级目录
cd/ 返回根目录
dir 显示目录
md 创建目录 makedirectory
rd 删除目录 rmdir
del 删除文件
exit 退出
4.创建如下的类,使得运行的话可以输出:
创建java文件:ChairMan.java
public class ChairMan{
public static void main(String[] args){
System.out.println("姓名:xdd\n");//
//System.out.println();
System.out.println("性别:男");
System.out.println("家庭住址:北京znh");
}
}
5.编译和运行上述代码的指令
编译:javac ChairMan.java
运行:java ChairMan