01.语法基础--Java语言概述
1.基础常识
软件:即一系列按照特定顺序组织的计算机数据和指令的集合。分为:系统软件 和 应用软件
系统软件:windows , mac os , linux ,unix,android,ios,…
应用软件:word ,ppt,画图板,…
人机交互方式: 图形化界面 vs 命令行方式
应用程序 = 算法 + 数据结构
常用DOS命令:
Windows+R---->cmd
盘符名: 切换盘符
tips:
.表示当前目录
…表示上一级目录
rd只能删除空目录
md可以创建单级目录,也可以创建多级目录
路径分类
1)绝对路径
以盘符开始的路径,比如D:\demo\new\1.txt
2)相对路径
相对于当前目录的路径,比如…\test\2.txt 或 .
2.计算机语言
计算机语言:人与计算机交流的方式
发展历史:
第一代:机器语言 指令以二进制代码形式存在。
第二代:汇编语言 使用助记符表示一条机器指令
第三代:高级语言
面向过程:C,Pascal、Fortran
面向对象:Java,JS,Python,C#、Scala,…
3.Java语言版本迭代概述
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 -> JavaSE,JavaEE -> 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
4.Java的3大技术架构
JavaSE(Java sdtandar edition)
Java标准版,里面包含了应用开发的基础环境(包含类库和工具),主要开发桌面程序
JavaME(java micro edition
Java微型版
JavaEE(Java enterprise edition
Java企业版,用来开发分布式企业级应用的规范,主要针对Web应用程序进行开发
例如:电信资费系统、银行网银系统…
tips:
分布式:由分布在不同主机上的进程协同在一起,构成整个应用
5.Java语言应用的领域:
企业级应用开发:企业软件系统,Web应用开发。领域包含金融、电信、电子商务、交通等
大数据开发:大多数框架和中间件都是Java写的
Android应用程序开发:客户端开发
6.Java语言的特点
面向对象性:
两个要素:类、对象
3个特征:封装、继承、多态
健壮性:
① 去除了C语言中的指针
②自动的垃圾回收机制 -->仍然会出现内存溢出、内存泄漏
跨平台性:
通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once , Run Anywhere”
原理:只要在需要在运行 java 应用程序的操作系统上,先安装一个Java虚拟机 (JVM Java Virtual Machine) 即可。
由JVM来负责Java程序在该系统中的运行。
7.Java语言运行机制及运行过程
核心机制—Java虚拟机
JVM是一个虚拟的计算机,具有指令集并使用不同的存储区域。负责执行指 令,管理数据、内存、寄存器。
对于不同的平台,提供不同的虚拟机。
只有平台提供了对应的java虚拟机,java程序才可在此平台运行
Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
核心机制—垃圾回收
不再使用的内存空间应回收——> 垃圾回收。
1在C/C++等语言中,由程序员负责回收无用内存。
2Java 语言消除了程序员回收无用内存空间的责任:它提供一种系统级线程跟踪存储空 间的分配情况。
并在JVM空闲时,检查并释放那些可被释放的存储空间。
3垃圾回收在Java程序运行过程中自动进行,程序员无法精确控制和干预。
Java程序还会出现内存泄漏和内存溢出问题吗?Yes!