Java既是编译型语言,又是解释型语言。
java源文件首先需要通过javac编译生成后缀名为.class的字节码文件(与平台无关,只面向JVM),然后使用Java虚拟机将字节码解释成特定平台上的机器码运行。
(想自学的小伙伴搜索圈T社区,更多行业相关资讯更有行业相关免费视频教程。一起加油吧!陌生人)
Java虚拟机JVM
不同平台上的JVM不同,但是都提供了相同的接口。
开发Java准备
下载安装Java8的JDK,并将jdk的安装路径添加到环境变量中。
开发Java需要安装JDK,JDK包含Java编译器(javac命令工具)、Java运行时环境(JRE)、常用的Java类库等。
JRE包含JVM,还包含类加载器、字节码校验器及大量的基础类库等环境支持。
如果只是运行Java程序,可以只安装JRE。
第一个Java程序
编写第一个著名的程序:HelloWorld。
java pulic calss HelloWorld { public static void main(String[] args) { System.out.println(“HelloWorld”); } }使用javac命令编译java程序。
命令行输入cmd,进入Java源文件所在的路径
输入如下命令,其中destdir是目标生成路径
javac -d destdir HelloWorld.java
进入destdir路径下,可以看到已经生成了后缀名为.class的字节码文件
使用java命令解释执行字节码文件。
运行如下命令执行程序
java HelloWorld
Java程序的基本规则
Java是纯面向对象的语言,类是Java程序的最小程序单位。
javac可以编译一个类,而解释执行一个类则需要以main方法为入口,main方法的写法是固定的。
Java严格区分大小写,类名首字母大写,方法名第一个单词首字母小写,关键字小写。
一个java源文件最多只能定义一个public类,因源文件名需要与public类的类名相同。
垃圾回收机制
显式进行垃圾回收的缺点
忘记回收导致内存泄漏,降低系统性能
错误回收程序核心类库的内存,导致系统崩溃
Java虚拟机的堆内存用来保存类的对象,JVM的一个超级线程会进行检测,如果一个对象长时间不被引用GC会释放其所占用的内存空间,同时进行碎片整理将所占用的堆内存移到堆的一端,整理出新内存分配给其他对象。
使用GC的优点
提高编程效率
保护程序的完整性和安全性
使用GC的缺点
垃圾回收在cpu空闲或者内存不足时进行,影响程序性能
GC的特点
只能回收JVM堆内存的内存空间,不能回收物理内存的资源
将对象的引用变量设置为null可以暗示GC回收该对象
调用Runtime对象的gc()或者System.gc()仅仅是建议系统进行垃圾回收,不能精确控制
使用IDE工具
下载安装Eclipse开发工具
配置自动补全
Windows-Preferences-Java-Editor-Content Asist,将Auto activation triggers for Java改为“.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”即可
熟悉快捷键
自动导入相关包:Ctrl+Shift+O
…
不为当下而战,何以颠覆未来