Java的优势
1. 简单
不像C或者C++语言,Java中省去了对指针的操作。但是,Java中并没有省去指针,代替指针的是一种新的变量——引用,引用也是保存一个对象的内存地址。
2.方便
Java虚拟机自带垃圾回收器,能够自动回收内存资源。而C和C++语言,需要开发人员手动进行内存资源回收。
3.安全
不支持指针操作
4.平台无关性
Java语言是跨平台的,一次编译,到处运行。
而且,不同平台,C语言中数据类型所占的位数是不同的,而Java语言中,数据类型所占的位数是固定的。
5.面向对象
Java是一门面向对象的语言,面向对象思想与人类看待客观世界的方式是差不多的,这也是Java的优势。
6.解释执行
使用编译器将源代码编译成字节码文件,然后由解释器将字节码翻译成机器语言
7.多线程
Java支持多线程
Java的垃圾回收
由一个后台线程GC进行垃圾回收
JVM判定内存不足的时候会中断代码的执行,然后进行垃圾回收
内存中什么算是垃圾?不再被引用的对象就是垃圾
JDK/JRE/JVM的区别
JDK:
Java Development Kit,即java开发工具包。提供开发环境和运行环境。
JRE:
Java Runtime Rnvironment,即Java运行时环境。面向Java程序使用者,而不是开发者。
JVM:
Java Virtual Machine,即Java虚拟机。运行.class文件时使用。
Windows下环境变量配置
JAVA_HOME:
JDK的目录
CLASSPATH:
指定运行时需要到哪里找类代码
PATH:
指定开发工具如javac、java等的位置
第一个Java程序
1 public class FirstCode
2 {
3 public static void main(String[] args)
4 {
5 System.out.println("Hello Java");
6 }
7 }
注意:
1、Java源文件以.java作为文件后缀。
2、一个Java源文件中可以有多个类,但是只能有一个访问控制符为public的类,且这个类的名称要与源文件的名称一致。
3、Java源文件编译后,一个class对应一个.class文件
3、一个程序必须要有一个程序入口,即main方法,且main方法必须是公开、静态的。
程序运行过程:
总的来说是先编译后解释,如下所示
.java源文件——>使用javac进行编译——>得到.class文件——>使用java进行解释字节码
Java中的基础包
java.lang:Java语言包,提供了利用Java编程语言进行程序设计的基础类。
java.io:输入输出流包,提供了IO操作的一些类
java.util:Java工具包
java.net:网络包,为实现网络应用程序提供类
java.awt和javax.swing:GUI开发包