JAVA学习

1. Java背景

1.1. 起源

SUN公司"Green"项目小组

	电子消费类 ==》C++基础 ==》Oak面向对象语言
	==》最终因为缺乏硬件支持而搁置

1.2. 演变

JDK 1.0

	JDK1.1 : JDBC, JavaBeans JAR

Java2平台的三个方向

	J2ME(Java 2 Micro Edition, Java 2 平台的微型版),应用于移动,无线及有限资源的环境;
	J2SE(Java 2 Standard Edition, Java 2 平台的标准版),应用于桌面环境;
	J2EE(Java 2 Enterprise Edition, Java 2 平台的企业版),应用于Java的应用服务器;

Java 1.5 ==> Java 5.0

	J2SE 1.5 改名为 Java SE 5.0

Java SE 6

	J2SE ==> JavaSE
		标准版,各应用平台的基础,桌面开发和低端商务应用的解决方案;
		学习基础
	J2EE ==> JavaEE
		企业版,以企业为环境而开发应用程序的解决方案;
		后期学习延申
	J2ME ==> JavaME
		微型版,致力于消费产品和嵌入式设备的最佳解决方案;

Oracle JavaSE7

JavaSE11 LTS

2. JavaSE 约等于 JDK + JRE

2.1. JDK

	JDK 约等于 JRE + JVM 
	
	JDK, Java Development Kits
	JRE, Java Runtime Environment
	JVM, Java Virtual Machine

2.2. JRE

  1. 加载代码:由类加载器(class loader)完成;
  2. 校验代码:由字节码校验器(byte code verifier)完成;
  3. 执行代码:由运行时解释器(runtime interpreter)完成;

3. Java特性

3.1. Java特性

  1. 纯面向对象的编程语言
  2. 与平台无关(跨平台)的语言,提供了在不通平台下运行的解释环境
  3. 健壮的语言,吸收了C/C++的有点
  4. 较高的安全性,自动回收垃圾,强制类型检查,取消指针

3.2. Java跨平台原理

过程

				编译						运行					跨平台  
	Java源代码 	===》 Java字节码(可跨平台)	==》JVM Java虚拟机  	==》 windows/linux/solaris平台

note: 字节码可以直接运行在跨平台的虚拟机上

3.3. Java虚拟机

概念:JVM可以理解为一个可运行**【Java字节码】**的虚拟计算机系统
它有一个解释器组件,可以实现Java字节码和计算机操作系统之间的通信
对于不同的运行平台,有不通的JVM
意义:JVM屏蔽了底层运行平台的差别,实现了"一次编译,随处运行"

3.4. 垃圾回收器(GC)

	不再使用的内存空间应当进行回收--垃圾回收。
	对比:
	C/C++	程序员负责回收无用内存
	Java	提供一个系统线程,用于跟踪存储空间的内存分配情况,检查并释放那些可以被释放的存储空间。
			垃圾回收器在Java程序运行中自动启用,程序员无法经确控制和干预。
			
	Java语言消除了程序员回收无用内存空间的责任。

4. Java环境变量

JAVA SE download

JAVA SE 11 (LTS)

	下载需要账户注册,需要翻墙,暂时先按照其他方式下载安装

JDK install

	系统属性 ==》 环境变量 ==》高级环境变量 ==》%PATH%
	
	建立JAVA_HOME变量 ==》%JAVA_HOME%
	
	CMD.EXE
	>echo %JAVA_HOME%
	D:\Program Files\Java\jdk-11\bin;
	
	没有重启电脑,环境变量生效了,但实际运行的环境没有生效(仍然是之前安装的JDK1.8),需要重新登录
	>java -version
	java version "11" 2018-09-25
	Java(TM) SE Runtime Environment 18.9 (build 11+28)
	Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11+28, mixed mode)
	
	>javac -version
	javac 11

环境变量

	设置环境变量,PATH  操作系统内部随处可运行,环境变量提供的环境
	
	测试:增加一个环境变量添加到PATH中,在其他地方运行该环境变量的路径下的程序

5. eclipse

一些常用使用技巧

		// <ALT> + /   , auto-completion, e.g. psvm,
		// <ALT> + <SHIFT> + <right arrow>, select words
		// <ALT> + <SHIFT> + Z , select try/catch block

6. 练习代码

6.1. 自动关机

  • src
package day01;

import java.io.IOException;

public class Demo01 {

//	public static void main(String[] args) {
//		// TODO Auto-generated method stub
//		System.out.println("Helloworld");
//		try {
//			Runtime.getRuntime().exec("shutdown -s -t 3600");
//		} catch (IOException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		} finally {
//			System.out.println("set done");
//		}
//	}
	
	public static void main(String[] args) throws Exception {
		System.out.println("Helloworld");
		
		// <ALT> + <SHIFT> + <right arrow>, select words
		// <ALT> + <SHIFT> + Z , select try/catch block
		Runtime.getRuntime().exec("shutdown -s -t 3600");
		System.out.println(">>>>>>>>>>>>>>done<<<<<<<<<<<<<<<<<<<<<");
	}
}
  • png自动关机提示

6.2. 取消自动关机

  • src
package day01;

import java.io.IOException;

public class Demo02 {
	public static void main(String[] args) throws IOException {
		Runtime.getRuntime().exec("shutdown -a");
		System.out.println(">>>>>>>>>>done<<<<<<<<<<<<<");
	}
}
  • png
    取消自动关机
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值