今日分享开始啦,请大家多多指教~
明天给大家分享一下 Java 内容,Java 根底是学习 JavaEE、大数据、Android 开发的基石!学习 Java 从根底开始,细节决定成败!
1.0 Java 的简略介绍
举例:Spring–Rest(Spring MVC) 外围代码:
举例:Spark Spark Streaming
Java 基础知识图解
Java 根底课程概述
Java 根底课程体系
1.1 软件开发介绍
- 软件开发
软件,即一系列依照特定程序组织的计算机数据和指令的汇合。有系统软件和应用软件之分。
- 人机交互形式
图形化界面(Graphical User Interface GUI)这种形式简略直观,使用者易于承受,容易上手操作。
命令行形式(Command Line Interface CLI)须要有一个控制台,输出特定的指令,让计算机实现一些操作。较为麻烦,须要记录住一些命令。
罕用的 DOS 命令
- dir 列出当前目录下的文件以及文件夹
- md 创立目录
- rd 删除目录
- cd 进入指定目录
- cd .. : 退回到上一级目录
- cd 退回到根目录
- del 删除文件
- exit : 退出 dos 命令行
- 补充:echo javase>1.doc
罕用快捷键
- ←←→→:挪动光标
- ↑↑↓↓:调阅历史操作命令
- Delete 和 Backspace:删除字符
1.2 计算机编程语言介绍
1. 什么是计算机语言
- 语言: 是人与人之间用于沟通的一种形式。例如:中国人与中国人用普通话沟通。而 中国人要和英国人交换,就要学习英语。
- 计算机语言: 人与计算机交换的形式。
如果人要与计算机交换,那么就要学习计算机语言。
计算机语言有很多种。如:C ,C++ C++,Java ,PHP Kotlin Python Scala 等。
- 第一代语言:机器语言。 指令以二进制代码模式存在。
- 第二代语言:汇编语言。 应用助记符示意一条机器指令。
第三代语言:高级语言
- C、Pascal、Fortran 面向过程的语言
- C++ 面向过程面向对象
- Java 跨平台的纯面向对象的语言
- .NET 跨语言的平台
- Python、Scala…
2. 为什么选 Java
理由一:如 Google 的 Android 系统结构
- java 开发效率更高(面向对象)
- python 开发周期短,但运行工夫长,两者取其利处
- 社区大,人员多
理由二:从 java 语言的市场需求来看
1.3 Java 语言概述
1. 基本概念
- 是 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
2.Java 技术体系平台
3.Java 在各畛域的利用
从 Java 的应用领域来分,Java 语言的利用方向次要体现在以下几个方面:
企业级利用:次要指简单的大企业的软件系统、各种类型的网站。Java 的平安机制以及它的跨平台的劣势,使它在分布式系统畛域开发中有广泛应用。应用领域包含金融、电信、交通、电子商务等。
Android 平台利用 Android 应用程序应用 Java 语言编写。Android 开发程度的高下很大水平上取决于 Java 语言外围能力是否扎实。
大数据平台开发:各类框架有 Hadoop spark storm flink 等,就这类技术生态圈来讲,还有各种中间件如 flume kafka sqoop 等等,这些框架以及工具大多数是用 Java 编写而成,但提供诸如 Java scala Python R 等各种语言 API 供编程。
挪动畛域利用:次要体现在生产和嵌入式畛域,是指在各种小型设施上的利用,包含手机、PDA、机顶盒、汽车通信设施等。
4. 次要个性
- 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 类或其子(孙)类来创立。
1.4 运行机制及运行过程
1.Java 语言的特点
特点一:面向对象
- 两个基本概念:类、对象
- 三大个性:封装、继承、多态
特点二:健壮性
- 排汇了 C/C++ 语言的长处,但去掉了其影响程序健壮性的局部(如指针、内存的申请与 开释等),提供了一个绝对平安的内存治理和拜访机制
特点三:跨平台性
- 跨平台性:通过 Java 语言编写的应用程序在不同的零碎平台上都能够运行。Write once , Run Anywhere
- 原理:只有在须要运行 java 应用程序的操作系统上,先装置一个 Java 虚拟机 (JVM Java Virtual Machine) 即可。由 JVM 来负责 Java 程序在该零碎中的运行。
因为有了 JVM,同一个 Java 程序在三个不同的操作系统中都能够执行。这样就实现了 Java 程序的跨平台性。
2.Java 两种外围机制
- Java 虚拟机 (Java Virtal Machine)
- 垃圾收集机制 (Garbage Collection)
外围机制垃圾回收
- 不再应用的内存空间应回收垃圾回收。
- 在 C/C++ 等语言中,由程序员负责回收无用内存。
- Java 语言打消了程序员回收无用内存空间的责任:它提供一种零碎级线程跟踪存储空 间的分配情况。并在 JVM 闲暇时,查看并开释那些可被开释的存储空间。
- 垃圾回收在 Java 程序运行过程中主动进行,程序员无奈准确管制和干涉。
- Java 程序还会呈现内存透露和内存溢出问题吗?Yes!
1.5 Java 的环境搭建
下载 JDK
装置 JDK
配置环境变量
path:windows 零碎执行命令时要搜查的门路。
验证是否胜利:javac java
抉择适合的文本编辑器或 IDE 开发
1. 明确什么是 JDK, JRE
- 简略而言,应用 JDK 的开发工具实现的 java 程序,交给 JRE 去运行。
2.JDK、JRE、JVM 关系(重点)
装置 JDK
- 装置,下一步即可。
- 倡议:装置门路不要有中文或者空格等特殊符号。
- 如果操作系统是 64 位的,软件尽量抉择反对 64 位的(除非软件自身不辨别。
- 当提醒装置 JRE 时,失常在 JDK 装置时曾经装过了,然而为了后续应用 Eclipse 等开发 工具不报错,倡议也依据提醒装置 JRE。
3. 配置环境变量 path
- 在 dos 命令行中敲入 javac,呈现谬误提醒
- 谬误起因: 以后执行的程序在当前目录下如果不存在,windows 零碎会在零碎中已有的一个名为 path 的环境变量指定的目录中查找。如果仍未找到,会呈现以上的谬误提醒。所以进入到 jdk 装置门路 bin 目录下,执行 javac,会看到 javac 参数提示信息。为了能在所有文件执行胜利,须要配置环节变量。
- 额定:查看 JDK 版本
每次执行 java 的工具都要进入到 bin 目录下,是十分麻烦的。可不可以在任何目录下都能够执行 java 的工具呢?
依据 windows 零碎在查找可执行程序的原理,能够将 java 工具所在门路定义到 path 环境变量中,让零碎帮咱们去找运行执行的程序。
配置办法:
- 我的电脑属性高级零碎设置环境变量
- 编辑 path 环境变量,在变量值开始处加上 java 工具所在目录,前面用““; 和其余值分隔 开即可。
- 关上 DOS 命令行,任意目录下敲入 javac。如果呈现 javac 的参数信息,配置胜利。
4. 配置完 path 环境变量当前的验证
5. 配置问题汇总解决
容许配置多个 JDK 版本,然而用的时候就一个
如果 java 或 javac 不能同时实现,则把 JAVA_HOME 放在最后面
如果用户变量不好使就间接放在环境变量
1.6 开发体验 HelloWorld
步骤:
\1. 将 Java 代码编写到扩大名为 .java 的文件中。
\2. 通过 javac 命令对该 java 文件进行 编译。
\3. 通过 java 命令对生成的 class 文件进行 运行。
步骤一:编写
- 抉择最简略的编辑器:记事本。
- 敲入代码 class Test{} 将文件保留成 Test.java,这个 文件是寄存 java 代码的文件,称为源文件。
步骤二:编译
- 有了 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 因为程序进行改变,所以再从新编译,运行即可。
1.7 常见问题及解决办法
- 源文件名不存在或者写错
- 以后门路谬误
- 后缀名暗藏问题
- 类文件名写错,尤其文件名与类名不统一时,要小心
- 类文件不在以后门路下,或者不在 classpath 指定门路下
- 申明为 public 的类应与文件名统一,否知编译失败
- 编译失败,留神谬误呈现的行数,再到源代码中指定地位改错
1.8 正文
1. 正文的必要性
用于注解阐明解释程序的文字就是正文。
Java 中的正文类型:
- 单行正文,格局:// 正文文字
- 多行正文,格局::/ 正文文字 /
文档正文进步了代码的浏览性;调试程序的重要办法。
正文是一个程序员必须要具备的良好编程习惯。
将本人的思维通过正文先整理出来,再用代码去体现
注:
- 对于单行和多行正文,被正文的文字,不会被 JVM java 虚拟机)解释执行。
- 多行正文外面不容许有多行正文嵌套。
2. 文档正文(Java 特有)
格局:
@ author 指定 java 程序的作者
@ version 指定源文件的版本
- 正文内容能够被 JDK 提供的工具 javadoc 所解析,生成一套以网页文件模式体现的该程序的阐明文档。
- 操作形式
小结第一个程序
- Java 源文件以“java”为扩展名。源文件的根本组成部分是类 class 如本例中的 Hello World 类。
- Java 应用程序的执行入口是 main() 办法。它有固定的书写格局 public static void main(String[] args )
- Java 语言严格辨别大小写。但 window 没有辨别
- Java 办法由一条条语句形成,每个语句以“;”完结。
- 大括号 都是成对呈现的,缺一不可。
- 一个源文件中最多只能有一个 public 类。其它类的个数不限,如果源文件蕴含一个 public 类,则文件名必须按该类名命名。
对第一个 java 程序进行总结
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 源文件的类名雷同
1.9 API 文档
API(Application Programming Interface, 应用程序编程接口)是 Java 提供的根本编程接口。
Java 语言提供了大量的根底类,因而 Oracle 也为这些根底类提供了相应的 API 文档,用于通知开发者如何应用这些类,以及这些类里蕴含的办法。
1. 下载 API
2. 学 Java 怎么看 API(具体图解)+ 查看 Java 源码(IDEA)
1.10 良好的编程格调
1. 正确的正文和正文格调
应用文档正文来正文整个类或整个办法。
如果正文办法中的某一个步骤,应用单行或多行正文。
2. 正确的缩进和空白
应用一次 tab 操作,实现缩进
运算符两边习惯性各加一个空格。比方:2 + 4 * 5。
3. 块的格调
Java API 源代码抉择了行尾格调
1.11 罕用的 Java 开发工具
文本编辑工具:
- 记事本
- UltraEdit
- EditPlus
- TextPad
- NotePad
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
5. 编译和运行上述代码的指令
编译:javac ChairMan.java
运行:java ChairMan
小结
学习编程最容易犯的错就是语法错误。Java 要求你必须依照语法规定编写代码。如果你的程序违反了语法规定,例如:遗记了分号、大括号、引号,或者拼错了单词,java 编译器都会报语法错误。尝试着去看懂编译器会报告的错误信息。
今日份分享已完结,请大家多多包涵和指导!