Java基础
1.Java起源与演变
1.1 起源
1.SUN公司,James Gosling
2.对C++进行改造,去除指针和内存管理,“Oak”
3.Oak被应用于万维网,研发applet将小程序嵌入到网页中,更名java
1.2 演变
1997 JDK 1.1
1998 JDK 1.2(J2EE)
1999 分为三个方向 :J2ME(Java2 Micro Edition),J2SE(Java2 Micro Edition) ,J2EE(Java2 Enterprise Edition)
2000 JDK 1.3 1.4
2002 J2SE 1.4
2004 J2SE 1.5(J2SE 5.0)
2011 SUN被Oracle收购, Java SE7
2014 Java SE8(LTS)
2017 Java SE9
2018 Java SE10, 11
2.Java体系与特点
2.1 Java体系
Java体系 | 应用 |
---|---|
J2ME(Java2 Micro Edition) | 微型版:用于移动无线有限资源环境 |
J2SE(Java2 Micro Edition) | 标准版:用于桌面应用(QQ, WPS) |
J2EE(Java2 Enterprise Edition) | 企业版:基于java的应用服务器 |
2.2 Java特点
- 纯面向对象的语言
- 跨平台的语言,各版本windows,mac,linux兼容
- 健壮,吸收C/C++的优点
- 比较安全(自动回收内存垃圾(JC垃圾回收器),强制类型检查,取消指针)
3 Java跨平台原理
3.1 Java的两种核心机制
1.Java Virtual Machine(JVM)
2.Garabage Collection(GC)
3.2 Java虚拟机(JVM)
JVM可以理解为可运行Java字节码的虚拟计算机系统
- 有一个解释器组件,实现Java字节码和计算机操作系统之间的通信(翻译官)
- 对不同的平台,有不同的JVM
JVM屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”
3.3 垃圾回收器(GC)
内存垃圾:在程序中开辟空间存储程序运行的结果,使用后会一直占用内存。
在C/C++产生的内存垃圾中需要手动删除,但是Java提供了一个系统线程GC,自动启用检查并释放可以被释放的内存空间,但是程序员无法精确控制和干预。
3.4 Java SE的组成
- JDK开发工具集
- JRE执行Java程序
3.5 JDK
-
JDK(Java Development Kits)
- JRE(Java Runtime Environment)
- JVM
- Java API(Application Programming Interface)
- Java编译器(Javac.exe), Java运行时解释器(Java.exe), Java文档化工具(Javadoc.exe)及其他工具和资源
- JRE(Java Runtime Environment)
-
JRE的主要功能:
- 加载代码:由类加载器(class loader)完成
- 校验代码:由字节码校验器(byte code verifier)完成
- 执行代码:由运行时解释器(runtime interpreter)完成
4 JDK安装
4.1 下载
Java官网:https://www.oracle.com/index.html
每个6月更新一次,是任务预览版本,但不是长期支持版本(LTS),需要下载LTS版本。
下载安装包
登录/注册Oracle账号
4.2 安装及环境变量配置(WIN10)
1.尽量选择默认安装地址
2.右键此电脑,选择属性,点击高级系统属性
3.左键环境变量,选择新建,输入Java安装路径中的jdk-11.0.6文件夹,选择bin文件夹,复制地址栏
4.检验安装
Win+R,输入cmd,输入Java
4.3 环境变量
环境:计算机指令执行时,为执行的指令所提供的环境
不是内部命令:在14247文件夹中找不到‘aasas’命令
不是外部命令:环境变量中也找不到包含这个命令的路径
java.exe文件在Java/jdk-11.0.6/bin中,它只是该文件夹下的内部命令,如果从其他文件夹中使用Java必须将它的路径放入环境变量Path中,使其成为外部命令,命令查找顺序是先内部再外部。
如果将程序的可执行文件的文件夹路径加入到环境变量中,那么就可以从DOS命令行中直接打开该文件
4.4 JAVA_HOME环境变量
当使用多个版本的JDK时,频繁修改Path容易出现误操作
解决方法:新增系统变量JAVA_HOME,设置为jdk所在路径
在Path中将JAVA_HOME与\bin拼接,即加入%JAVA_HOME%\bin,这样更改开发版本时就只需修改JAVA_HOME的值
5.Ecilipse安装
免费开源
下载地址:https://www.eclipse.org/downloads/
选择Download Package,个性化安装
选择Java开发
6 Java
-
class类
java 代码以类为单位进行存储 -
package类
大型项目需要上百个类,分为不同功能,根据不同功能将类存在不同的文件夹中,称为包 -
文档注释
/** *多行注释类和方法 */
-
exception 异常
4.1 add throw declaration:
将问题抛给调用者,main函数使用即抛出到Java虚拟机。
4.2 surround with try/catch:
try中如果出现异常,在catch中运行处理代码。 -
自动关机脚本
public static void main(String[] args) throws IOException { //ln换行 //以此代码执行任何DOS命令,60分钟后关机 Runtime.getRuntime().exec("shutdown -s -t 3600"); }
-
取消自动关机
public static void main(String[] args) throws IOException { Runtime.getRuntime().exec("shutdown -a"); }
7 代码语句的分类
- 结构定义语句:对代码进行结构的划分
public class Hello {
public static void main(String[] args) {
}
}
- 功能执行语句:在方法中被执行,结尾必须以英文分号结束
7 代码语句的分类
- 结构定义语句:对代码进行结构的划分
public class Hello {
public static void main(String[] args) {
}
}
- 功能执行语句:在方法中被执行,结尾必须以英文分号结束