JAVA基础
一、Hello JAVA
1.Java的发展史
20世纪90年代,单片式计算机系统诞生。单片式计算机系统不仅廉价,而且功能强大,使用它可以大幅度提升消费性电子产品的智能化程度。
1991年成立了一个由高斯林领导的名为Green的项目小组,目的是开发一种能够在各种消费性电子产品上运行的程序架构。
1992年,他们开发了一种名为Oak的面向对象语言,Oak语言因为缺乏硬件的支持而无法进入市场从而被搁置一旁。
1994年,项目小组看到了浏览器在未来的发展前景,决定将Oak应用于万维网
1995年,用Oak研发了一种能将小程序嵌入网页中执行的技术,与此同时,Oak正式更名为Java。
2.演变
1996年1月,SUN公司推出了JDK1.0
1997年2月,推出了JDK1.1
1998年12月8日,JDK1.2发布
1999年6月,SUN公司把Java体系分为三个方向:J2ME(无线、移动),J2SE(桌面环境),J2EE(服务器)
2000年5月,JDK1.3.JDK1.4和J2SE1.3相继发布
2002年2月26日,JDK1.4发布
2004年9月30日,J2SE1.5发布
2005年6月,发布了JAVA SE 6
2011年7月28日,收购SUN公司的Oricle发布了JAVA SE 7
2014年3月18日,Oracle公司发布了JAVA SE 8
2017年9月22日,Oracle公司发布了JAVA SE 9
2018年3月21日,JAVA SE 10发布
2018年9月26日,JAVA SE 11发布
2019年3月20日,JAVA SE 12发布
2019年9月23日, JAVA SE 13发布
二、JAVA体系与特点
Java SE:
标准版:各应用平台的基础,桌面开发和低端商务应用的解决方案
Java EE:
企业版:以企业为环境而开发应用程序的解决方案
Java ME:
微型版:致力于消费产品和嵌入式设备的最佳方案
三、JAVA特性
一种纯面向对象的编程语言
一种与平台无关的语言(跨平台)。
一种健壮的语言,吸收了C/C++语言的优点。
有较高的安全性(自动回收垃圾,强制类型检测,取消指针)
四、JVM与GC概述
1.JVM是什么?
JVM可以理解成一个可运行JAVA字节码的虚拟计算机系统
它有一个解释器组件,可以实现JAVA字节码和计算机系统之间的通信
对于不同的运行平台,有不同的JVM
JVM屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。
2.GC垃圾回收器
不再使用的内存空间应当进行回收——垃圾回收
在C/C++等语言中,由程序员负责回收无用内存。
JAVA语言消除了程序员回收无用内存空间的责任:JVM提供了一个系统进程,用于跟踪存储空间的分配情况,检查并释放那些可以被释放的存储空间。
垃圾回收器在JAVA程序运行过程中自动启用,程序员无法精确控制和干预。
五、JDK与JRE
JDK:开发工具集,包含JRE、一些工具程序和API
JRE:JAVA运行的环境
三项主要功能:
1、加载代码:由类加载器完成;
2、校验代码:由字节码校验器完成;
3、执行代码:由运行时解释器完成。
JAVA API
JAVA编译器(javac.exe)、JAVA运行时解释器(java.exe)、JAVA文档化工具(javadoc.exe)及其它工具及资源
六、JDK11和Eclipse的安装
度娘yyds
七、环境变量详述
如果不配置环境变量,在文件所在目录下才能使用该文件。
如果配置环境变量,在任意路径下都可以使用该文件。
例如,Chorme浏览器google.exe文件的路径在D:/Google-Chorme下,如果不配置环境变量则需要将cmd窗口路径转变为D:/Google-Chorme下输入google才能打开Chrome浏览器,如果配置了环境变量,则在任何路径下都可以输入google打开Chrome浏览器。
1、如何更加合理的配置环境变量
Path环境变量内配置的大部分都是系统环境,为了防止误删导致系统组件缺失,最合理的办法就是新建一个环境变量。
例如,配置java的环境变量时,新建一个名为JAVA_HOME的环境变量,将java的家目录放入JAVA_HOME中,原Path中的家目录那一部分用%JAVA_HOME%代替,%%表示引用。
八、自动关机程序
1.自动关机源代码
package kkb_java;
import java.io.IOException;
public class kkb_guanji {
public static void main(String args[]) throws IOException{
Runtime.getRuntime().exec("shutdown -s -t 3600");
}
}
2.停止自动关机源代码
package kkb_java;
import java.io.IOException;
public class kkb_stopguaji {
public static void main(String args[]) throws IOException{
Runtime.getRuntime().exec("shutdown -a");
}
}
九、代码语句分类
- 结构定义语句
- 功能执行语句,必须以英文分号结尾
菜鸡一枚,不喜勿喷!本人QQ3495879676