一、Java语言概述
1、Java的前世今生
Java起源于Sun公司的Green计划,用于解决C++在实现嵌入式平台的复杂性等问题,起初叫做Oak,由于已被人使用后来改名为Java,第一版本于1995年发布了Java开源并免费使用。
1998年发布了Java1.2,同时分为3个版本J2ME(适用于移动设备和家电)、J2SE(Java核心和基础)、J2EE(应用最广泛的一部分,提供了企业应用开发相关的完整解决方案)。
2006年发布JDK1.6,2009年被Oracle收购,2011年发布Java SE 7。
2、Java的竞争对手
C#:Microsoft在Windows平台对Java进行了进一步改进,但是局限性在于只能使用Windows平台。
Ruby:最大的特征在于简洁,能够享受编程的快乐,弱类型、跨平台的语言。
Pyhton:面向对象的解释型编程语言,功能强大且完善,特点是可扩展性和清晰的语法。
3、Java的运行机制
Java即使编译型语言也是解释型语言,但是同样不纯粹。因为他首先需要通过编译(Compile)生成*.class文件,它是与平台无关的字节码文件,再由JVM(Java Virtual Machine)解释执行该文件。
JVM包含(指令集、寄存器、类文件的格式、栈、垃圾回收堆、存储区)。
4、Java的开发准备
JDK(Java Development Kit)和JRE(Java Runtime Environment)是开发前需要下载的,注意JDK已经包含了JRE,如果是开发需要下载JDK,仅是运行则只需要下载JRE。
5、Hello World!
public class Main(){
public static void main(String args[]){
System.out.println(“Hello World!”);
}
}
编译使用命令javac Main.java
6.Java程序基本规则
类(Class)是Java程序的最小程序单位。如需某个类能被解释器直接解释执行,则这个类中必须包含main方法,且必须为public static void来修饰,且main方法的形参必须为字符串数组类型(String[] args)。
Java源文件后缀必须为.java,如果定义了一个public的类,则该源文件名必须与该public类的类名相同。
Java是大小写严格区分的语言,因此需要注意在使用时注意大小写问题。
7.垃圾回收机制
如果一些分配出去的内存得不到及时回收,会引起系统运行速度下降,甚至导致系统瘫痪,这种现象称为内存泄漏(Memory Leak)。内存溢出(Out Of Memory)是指程序申请需要内存时,系统无法给予或没有足够的空间可供其使用。内存泄漏的累积会成为内存溢出的原因之一。
Java程序的内存分配和回收都由JRE后台自动进行的。JRE会负责自动回收那些不再使用的内存,这种机制叫做垃圾回收(Grabage Collection,简称GC)。通常JRE会提供一个后台线程来进行检测和控制,一般在CPU空闲或空间不足时自动进行回收,程序员无法精确控制垃圾回收的时间和顺序等。
垃圾回收的特点:
①.垃圾回收机制的工作目标是回收无用对象的内存空间,这些内存空间都是JVM堆内存中的内存空间,垃圾回收只能回收内存资源,对于其他物力资源,如数据库的连接、磁盘I/O等资源则无能为力。
②.垃圾回收发生的不可预知性。由于不同JVM采用不同的垃圾回收机制和算法,因此虽然程序员可以通过调用对象的finalize()或System.gc()等方法来建议系统回收,但实际依然不能精确控制其执行。
对于不在使用的对象,不要再引用他们,可以通过设置引用对象为null来建议GC回收。JDK7提供了G1垃圾回收器代替原有的并行标记/清除垃圾回收器(简称:CMS)。
8.IDE工具的使用
Java编程的基础不在于工具的使用,不能完全依赖于工具,需要清楚了解IDE在底层实际做了每个细节时,才能更好的使用工具。因此不要从工具开始学习Java。