Java的起源
是由1991年成立了一个由詹姆斯.高斯林领导的名为“Green”的项目小组。因为C++过于复杂和庞大,也不利于让编写的程序跨平台运行,所以项目小组决定去对C++进行改造,最终在1992年开发了一种名为“Oak”的面向对象语言,后来因为某些原因,改名为著名的“Java”。
Java主要分为三个方向:J2ME(应用于移动、无限及有限资源的环境),J2SE(应用于桌面环境)和J2EE(应用于基于Java的应用服务器)。目前最新的长期支持版本是Java SE 11.
Java体系与特点
Java SE (标准版:各应用平台的基础,桌面开发和低端商务应用的解决方案)
Java EE (企业版:以企业为环境而开发应用程序的解决方案)
Java ME (微型版:致力于消费产品和嵌入式设备的最佳解决方案)
Java特性
一种纯面向对象的编程语言
一种跨平台语言。(它提供了在不同平台下运行的解释环境)
一种健壮的语言,吸收了C/C++语言的优点
有较高的安全性。(自动回收垃圾,前值类型检查,取消指针)
JVM和GC
JVM是Java虚拟机,可以理解成一个可运行Java字节码的虚拟计算机系统,相当于翻译官,Java的源代码通过编译为Java字节码(也就是.class文件)然后经过验证运行在JVM上,翻译成指令最后交给运行期系统,最终交给操作系统,操作系统对相关的硬件进行操作。JVM屏蔽了底层运行平台的差别。
垃圾回收器(GC)不再需要程序员负责回收无用内存,JVM提供了一个系统线程,用于跟踪存储空间的分配情况,检查并释放那些可以被释放的存储空间。GC在Java程序运行过程中自动启动,程序员无法精确控制和干预。
JDK和JRE
JDK是Java开发工具集,包含JRE(Java运行是环境)和 JavaAPI(应用程序编程接口)。
JRE的三项主要功能:加载代码,校验代码,执行代码。
环境变量
就是提供一个可供程序运行的环境。主要是Path里面的变量。在里面添加JDK的地址就能给命令执行提供了一个外部命令配置。或者手动添加一个JAVA_HOME,在里面添加JDK的地址,然后在Path中添加%JAVA_HOME%\bin,也能给命令执行提供一个外部命令配置。这样的意义在于,以后更改JDK版本时,不用去Path中修改,以防止误删Path中的变量,导致计算机出现不可避免的问题。
Eclipse安装
步骤 1: 打开官网: https://www.eclipse.org/ , 点击 Download
步骤 2. 在新的页面中, 点击 Download Packages
步骤 3. 根据操作系统不同,选择不同版本进行下载
步骤 4. 在新的页面中点击 Download 进行下载.
步骤 5. 第 4 步的操作完成后, 可能会出现捐款页面,不用担心,稍等一会就回开始下载。
最后下载完成的压缩包解压就完成了安装,打开解压后文件夹中的eclipse.exe。
当然,下载完ecplise后需要在里面进行已经配置好的JDK的配置。
首先,在eclipse中找到“Window”,选择下面的“Preferences”,然后鼠标左键点击进入设置界面。
然后,进入设置界面之后,找到“Java”选项,然后展开,选择“Installed JRES”,可以看到右侧已有的JDK配置。
然后,需要配置大家本地的JDK版本,然后在右侧点击“Add”进行添加,然后点击“Next”下一步。
然后,进入配置页面之后,点击“Directory”按钮选择本地jdk路径,这里我安装的jdk11,请大家根据自己的版本来选择。然后点击“Finish”按钮完成配置。因为我已经配置过了,所以finish是灰色的。
(*注意:当你改变JDK版本时,这个eclipse要重新配置一下,改成对应的版本。)
自动关机程序
首先打开eclipse,然后点击New,创建一个新的Java project,然后在文件src中新建一个class,勾选public static void main(String [] arges),然后在main函数中写入 Runtime.getRuntime().exec(“shutdown -s -t 这边加多久后时候关机”); 取消自动关机程序只需要在main函数中写入Runtime.getRuntime().exec(“shutdown -a”); //注意,写取消关机程序时要屏蔽自动关机程序或者再创建一个class写。代码如下:
package demo3;
import java.io.IOException;
public class demo1 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
// 这是自动关机程序
Runtime.getRuntime().exec("shutdown -s -t 3600");
//这是取消自动关机程序,已经用双杠屏蔽
//Runtime.getRuntime().exec("shutdown -a");
}
}
代码分类
1.结构定义语句 (简单来说,就是大括号)
2.功能执行语句 (只能写在main函数里面或者写在自己定义的方法内,语句必须以英文分号结束)