Java基础知识
一、计算机开发语言发展
计算机语言总体可分为机器语言、汇编语言、高级语言三大类,这三类开发语言恰恰是计算与开发语言的三个阶段。
机器语言:机器语言是第一代计算机开发语言,是通过最原始的穿孔卡片(二进制有孔为一,无孔为零)来实现的,这种语言只有专家才能够理解,与人类熟悉的语言差别极大,人类很难理解。以后的开发语言,都是基于机器语言简化而来,所以不论计算机开发语言发展的什么阶段,最终输入计算机的还是机器语言。
汇编语言:汇编语言是第二代计算机开发语言,汇编语言用助记符代替操作码,用地址符代替地址码,这样用符号代替机器语言的方式被称为汇编,也被称为符号语言。汇编语言是机器语言向高级开发语言进化的桥梁。
高级语言:计算机开发语言发展到第三代,进入了高级语言时代,高级开发语言接近于人类使用习惯的程序设计语言,它允许用英文编写计算程序,程序中的符号和算式与日常数学公式差不多。计算机高级开发语言发展至今,种类繁多,包括面向过程的系统语言C语言,命令式面向对象语言C++,还有我们学习的面向对象语言Java。
二、Java的发展史及Java体系
1995年5月,Sun公司发布了Java1.0版本;
1997年2月,Sun公司发布了Java1.1版本;
1998年12月,Sun公司发布了Java1.2版本,此版本有了重大改革,分别拆分出三个方向(JavaSE面向桌面应用开发,JavaEE面向企业级应用开发,JavaME面向移动端应用开发);
2004年9月30日,发布了Java1.5版本,Java语言的易用性进行了扩展,使开发更便捷;
2006年11月13日,Sun公司在Java One大会上公布Java开始开源,Java正式迈进开源时代;
2009年4月20日,Oracle公司正式完成对Sun收购,Java归入Oracle旗下;
2011年,Oracle经过长时间整合,发布了Java1.7版本;
2014年,Oracle发布了Java1.8版本;
三、Java语言的特点
面向对象的编程语言;
跨平台性,不受计算机硬件和操作系统的约束,一次编译,到处运行;
健壮型开发语言;
四、Java语言的核心机制
Java虚拟机(Java Virtual Machine,JVM)
Java的运行周期分为编译期和运行期,在编译期Java的编译器会将包含Java代码的文件,即.Java文件编译成为.class字节码文件;在运行期,Java虚拟机(JVM)将.class字节码文件解释成为计算机的机器语言。从而实现Java跨平台性,可以说Java的跨平台性完全得益于JVM的应用。
Java垃圾回收机制(Garbage Collection,GC)
对于开发者Coder来说,Java语言非常友好,Coder无需担心内存是否被占满,是否会被及时回收释放,是否会造成内存资源的浪费。在Java中,内存会被自动进行垃圾回收和释放,Coder不需要也不能精确干预内存回收。 提到内存,就要说到Java中的内存,Java中内存分为栈内存和堆内存。
栈内存:在方法定义中的一些基本类型和引用变量,Java会自动在栈内存中进行分配,就好像客栈、宾馆一样可以入住,一旦变量超过变量的作用范围,垃圾回收机制(GC)会自动释放内存,就好像你离开了客栈、宾馆时要进行退房一样。
堆内存:是通过Java中的new关键字创建的变量,变量的定义在堆内存中,堆内存中存储了变量的地址标记,它会在程序运行中被使用。当变量没有引用指向它的时候,它才会被定义为垃圾,虽然不会再被使用,但是依旧占用着内存。垃圾回收机制(GC)会在一个不确定的时间才会进行回收。
五、JDK和JRE
JDK:Java Development Kit,Java开发者工具包,是为开发者使用的;
JRE:Java Runtime Environment,Java运行环境,是为使用者准备的;
所以,JDK包含JRE,JRE包含JVM
六、Java环境配置
1、Java下载安装JDK
JDK 8下载链接
2、配置环境变量
此电脑==》右键==》属性==》高级系统设置
七、第一个Java程序HelloWorld
1、关键名词讲解
类:Java程序中可运行的最小单元,一个Java程序是由多个类构成的;Java通过class关键字来创建一个类
包:相当于生活中的盒子,盒子里面放的都是Java的类
方法:Java中表示行为的代码块,行为即功能
Java程序的入口:main方法,Java程序的入口点,运行在主线程中
程序调试:输出语句, Java通过输出,来调试Java程序
2、HelloWorld
创建项目
创建类
创建main方法
package test;
public class HelloWord {
public static void main(String[] args) {
}
}
程序调试
菜单栏==》Run==》Run As==》Java Application
输出结果
package test;
public class HelloWord {
public static void main(String[] args) {
System.out.println("Hello word");
}
}