1.欢迎来到java世界
本章目标:
- JAVA技术体系简介(了解)
- 编程语言的历史(了解)
- 编程语言排行榜(了解)
- JAVA的前世今生(了解)
- java技术体系的生态(理解)
- JVM、JRE、JDK了解及安装(掌握)
- java环境变量配置(掌握)
- 编写第一个java程序(掌握)
- java运行机制(理解)
一、JAVA技术体系
-
服务器端技术:JAVA基础、数据库相关(MySql)、Spring、SpringMVC、MyBatis、Redis、Linux、Ngix、SpringCloud、RabbitMQ等技术
-
前端技术:Html、Css、JavaScript、Jquery、BootStrap、Vue、ElementUI等技术
-
项目管理工具:Git、Maven等。
以上技术会分散在4个阶段以项目驱动的形式完成
b(浏览器)/s(服务器)
二、编程语言历史
-
机器语言
第一代计算机语言称为机器语言。机器语言就是 0/1 代码。计算机只能识别 0 和 1。在计算机内部,无论是一部电影还是一首歌曲或是一张图片,最终保存的都是 0/1 代码,因为 CPU 只能执行 0/1 代码。那么这是不是就意味着我们编程一定要用 0/1 代码呢?
首先这么编写肯定是可以的,但是这样太麻烦,而且很不好理解,所以后来就出现了[汇编语言]
-
汇编语言
汇编语言就是将一串很枯燥无味的机器语言转化成一个英文单词。比如说:
add 1, 2;
add 就是一个英文单词,这样看起来就稍微有一些含义了,即 1 和 2 相加。这个就是汇编语言。
-
高级语言
1+2
当计算机语言发展到第三代时,就进入了“面向人类”的高级语言。高级语言是一种接近于人们使用习惯的程序设计语言。如i++ 它允许用英文写计算程序,程序中的符号和算式也与日常用的数学式子差不多。高级语言发展于20世纪50年代中叶到70年代,以 1980 年为分界线,前一阶段属于结构化语言或者称为面向过程的语言,后一阶段属于面向对象的语言。java就是一种高级语言
三、编程语言排行榜
四、java的前世今生
-
1991,GREEN小组,想要有设计一种语言,写的程序主要运行在小型的电子消费设备上,于是产生了OAK
-
1992,OAK,*7
-
1992~1994,艰难,没有推向市场
-
1994,解散
-
上世纪90年代,互联网迅速发展
-
关键点, HOTJAVA,可以在网页上执行动态代码,1995年展示
浏览器多数只能浏览网页内的静态数据,如文字、表格、图形等,尚无法在网页中运行程序,而太阳微系统希望让Java程序成为浏览器上最普及使用的程序,初期特别是积极于容量小,容易在带宽有限的互联网上传输、下载的Java Applet,而当时多数的浏览器尚无法支持与运行Java Applet 。
不过,HotJava虽可执行Java Applet程序,但真正用于一般网页浏览的效果及支持并不佳,人们依然习惯使用网景公司的网景导航者网页浏览器,或是微软公司的Internet Explorer网页浏览器,特别是太阳微系统为了让各种浏览器都可以运行Java Applet,所以也推出Java插件,安装此软件即可让多数的网页浏览器也能运行Java Applet。
-
1996年初正式推出了java的第一个版本
-
2009~2010年,sun公司被oralce公司收购合并
五、java技术体系的生态
根据JAVA语言所能开发的项目的类型,我们做了个划分,划分为三个传统方向,方向(三个平台)
-
JAVASE:java的标准版(基础版),JAVA的基础版本,开发桌面应用程序及控制台应用程序,类似于电脑上装的扫雷、俄罗斯方块、扑克,不需要再浏览器中运行,在操作系统上直接运行
-
JAVAEE:java的企业版,开发大型的B/S结构的项目,已JAVASE平台为基础,JAVA最有优势的平台
-
JAVAME:JAVA的小型版,为机顶盒、移动电话嵌入式消费等电子设备提供的Java语言平台
今天,JAVA还可以应用在各种App的服务端、Android开发
六、JDK:java开发工具包
下载jdk:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
安装JDK
-
bin:存放了很多可执行程序(jdk的一些工具)
-
jre:java运行环境(专用jre,专门为我们在开发过程中编译运行我们的JAVA代码服务的,jdk平行目录有一个公用jre,专门运行一些写好的java程序,公用jre的路径信息会进入操作系统的注册表)
-
lib:存放了很多JAVA已有的类文件(字节码文件)
-
Include:java的底层实现有一部分是c c++实现的,include目录中存放的是c c++相关的一些文件
-
db:用JAVA语言编写的小型数据库
-
src:压缩包中,放的是JAVA语言的源代码
七、环境变量的配置
-
为什么配置?
- 我们运行java程序的时候方便我们输入命令
- 第三方的软件或者程序需要用到java相关的支持,需要从环境变量中去找对应的信息
-
怎么配置
-
JAVA_HOME: C:\Program Files\Java\jdk1.8.0_66 (JDK的安装目录).第三方软件如果要用到jdk,会按照JAVA_HOME配置的路径找jdk
-
Path:%JAVA_HOME%\bin; (dos窗口下输入的命令后台对应一个可执行程序,会按照path中所配置的路径找对应的可执行程序)
Java————java.exe
Javac———javac.exe
-
classpath(jdk1.6之后不用配置):
.; %JAVA_HOME%\lib; %JAVA_HOME%\lib\dt.jar; %JAVA_HOME%\lib\tools.jar;
在写java代码的时候要用到已有的类文件保证代码的正常编写和运行,已有的类文件存放在lib目录下。
-
八、编写JAVA程序
-
常用dos命令
-
JAVA源代码的写法:
public class Person{
//主方法是运行程序运行的入口
public static void main(String []args){
//向显示器上输出一句话。。。。。。
System.out.println("hello java");
}
}
编译前:记得一定要切换到文件所在目录下
-
运行JAVA程序
编译
javac: javac 源文件名称 如: javac Test.java
解释执行
Java :java 类名 如: java Test
字节码文件是和类对应的,不是和源文件对应的
-
特殊情况:
-
如果用记事本写的时候出现了乱码,那么将记事本另存为的时候,选择编码为ansi(平台默认编码),将文件中的乱码改为正常的,再次编译运行即可
-
如果说操作系统的文件默认情况下没有显示后缀名,那么需要在操作系统的文件搜索界面中进行设置
-
所有的符号需要是半角状态下的符号
-
-
JAVA类名起的规范(我希望你这样做):
-
首字母大写,一般使用驼峰命名法,UserName
-
望文生义
-
-
JAVA类名起的规则(你必须这样做):
-
类名起的时候保含字母 数字 下划线 $ ,但是不能以数字开头
-
java语言区分大小写
-
-
书写代码的注意事项:
- 大括号中的代码一般来说要进行一个tab缩进,让代码的层次结构看起来更清楚一些
- 注意右大括号一般和方法的开始或者类的开始对齐,左大括号一般和类名或者方法名称位于同一行
-
输出信息的时候转义字符的使用:
转义字符:在字符串中表示特定的含义
-
\t:制表符,主要起对齐的作用,按照8个字符或其倍数的字符宽度用空格补齐前面的内容,中文占两个字符的宽度
-
\n:换行
-
-
常用命令:
- javac 编译
- Java 解释
- Javadoc 针对一个java源文件生成帮助文档(了解) 如 javadoc A.java
-
注释:
- 单行注释://
- 多行注释:/内容。。。。。/、
注意:
一个JAVA源文件中可以写多个类,但是只有一个类为public的,源文件的文件名称应该和public类名一样,字节码文件跟类对应。
但是并不是很建议一个java源文件中写很多类
九、java运行机制(重点)
- 运行机制
.c(.cpp)——(编译)——-适合特定操作系统的可执行程序(可以在我们的操作系统上直接运行,更操作系统具有很强的耦合度,更换了操作系统,可执行程序可能不能运行)
不能一次编译 ,到处运行
.java——(编译)——>.class(字节码文件。不是可执行程序,但是可以跨平台)———(解释)—————》看到程序的运行结果
可以一次编译,到处运行
-
编译之后所形成的字节码文件可以跨平台,但是不能再操作系统直接运行
-
每个平台都有自己平台特有的JVM,去解释执行我们的字节码文件,一次编译到处运行
十、Jvm、Jre及Jdk的作用对关系
-
Jvm(JAVA虚拟机,跑我们的字节码程序的,不可以跨平台的):
- 解释执行我们的字节码文件
- 管理JAVA程序在运行过程中的内存空间。
- 垃圾回收(回收无用的空间)。
-
Jre:JAVA运行环境,Jvm属于Jre
-
专用Jre:专用jre,专门为我们在开发过程中编译运行我们的JAVA代码服务的
-
公用Jre:跟Jdk目录平行的公用jre:专门为其它运行系统上其它的JAVA程序服务的,如果我们用的是安装版的程序,那么公用jre安装好之后,公用jre的路径信息会进入操作系统的注册表
-