Java的诞生是一种误会。
1990 年年末, Sun 公司预料嵌入式系统将在未来家用电器领域大显身手 于是s un 公司成立了 个由 James Gosling (詹姆斯·高斯林)领导的" Green 计划",准备为下 代智能 如电视机、微波炉、电话)编写 个通用控制系统。
使用C++ ,复杂,缺少垃圾回收,可移植性,分布式,多线程功能
结果:铁定凉凉。
塞翁失马,焉知非福
人红是非多,语言也一样
被白送
变态式发展
Java 种特殊的高级语言 ,它既具有解释型语言的特征,也具有编译型语言的特征,因为 Java 程序要经过先编译,后解释两个步骤。
编译:使用专门的编译器,针对特定平台将某种高级语言的源代码一次性翻译成该平台硬件执行的机器码,并包装成该平台能识别的可执行程序的格式,称为编译。编译生成的可执行程序可以脱离开发环境,在特定平台上运行。
优点:执行效率高
缺点:很难移植到其他平台(复制到特定平台,针对平台进行修改)
解释:使用专门的解释器对源程序执行解释成平台的机器码并立即执行的语言。解释型语言相当于把编译型语言中的编译和解释过程混合到一起完成。
优点:方便移植(提供特定平台的解释器即可)
缺点:执行效率低(每次都需要先进行编译)
Java编译步骤不会生成特定的平台机(操作系统)器码,而是生成一种个与平台无关的字节码(.class文件),这种字节码不是可执行的,必须使用Java解释器来执行。Java程序的执行过程必须经过先编译,后解释两个步骤。
Java的字节码文件不面向任何平台,只面向Jvm。不同平台上的JVM都是不同的,但是他们都提供了相同的接口。
Jvm是Java跨平台的主要部分。
如果没有JVM,相同的字节码在不同的平台上运行几乎是不可能的,只有通过相应的转换,而JVM就是这个转换器。
JVM细节:指令集,寄存器,类文件的格式,栈,垃圾回收堆,存储器。
目的:提供统一的标准,最终实现Java程序的平台无关性。
JDK:Java标准开发包,Java应用程序开发包,提供了编译,运行Java程序所需的各种工具和资源,包括Java编译器,Java运行时环境,以及常用的Java类库。开发Java程序的必要条件。
JRE:Java运行时环境,包含运行Java程序的核心虚拟机Jvm,还包含运行Java程序的必要条件。
JVM:Jvm是运行Java程序的核心虚拟机。
下载jdk
配置环境变量
配置:
jdk的安装目录
D:\java\jdk1.8.0_131
配置Path:
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin;
配置CLASSPATH
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
测试是否安装成功
java javac
下载eclipse
输出:helloword!
设置环境变量
Java程序必须经过的两个步骤:
打开控制台,输入java和javac,找不到可运行程序。虽然我们安装了jdk,但是计算机并不知道安装到了哪里。
Windows操作系统根据Path环境变量来查找指令。Path环境变量的值时一系列路径,Windows操作系统将这一系列路径中依次查找命令,如果能找到,则该命令可执行。
因此,我们需要把命令所在路径添加到Path环境变量中。
用户变量:为当前用户安装,只有当前系统用户可以使用。
系统变量:这台电脑的所有用户都可以使用。
环境变量设置
(77条消息) 配置JAVA的环境变量_夏夜的博客-CSDN博客_java环境变量配置
目的:输出编程语言界最著名的程序:“Hello World”。
工具:notepad++
第一步:编写java程序
public class HelloWorld{ public static void main(String[] args){ System.out.println("hello world"); } }
第二步:编译成.class文件
问题:为什么我们的打印,并没有输出?
javac -d . HelloWorld.java
第三步:运行java程序
java HelloWorld
实操:写一个个人介绍。
传统C/C++等编程语言。
程序员负责回收已分配的内存。程序员并不知道内存应该何时被释放。如果分配出去的内存得不到及时回收,就会引起系统运行速度下降,甚至瘫痪,称为内存泄露。
缺点:
java语言
Java的内存分配和回收都是由JRE在后台自动进行。JRE会负责不再使用的内存。称为垃圾回收机制。
JRE会提供一个后台线程进行检测和控制,一半都是在CPU空闲或内存不足时进行垃圾回收,而程序员无法精确控制垃圾回收的时间和顺序。
Java中的对象存在堆内存中,垃圾回收是一种动态存储管理技术,会自动释放不被程序引用的对象,按照特定的垃圾回收算法实现内存资源的自动回收功能。
优点:
缺点:
回收特点:
入门:使用黑窗口运行hello world
练习:使用eclipse
企业级开发:使用IDEA
•1、谈谈你对JAVA的认识?
•2、分析比较编译器与解释器的异同?
•3、下载JDK、安装、配置JDK?
•4、用下载JDK的方法去下载Java SE 8 Documentation。
•5、编写第一个java程序,并编译、执行?
•6、试用java程序输出九九乘法表?