注:视频资源“Java私塾”
http://www.javass.cn/javapeixunzlxz/zlxz.html
http://v.youku.com/v_show/id_XMjAwNTg3MzM2.html
一.配置java环境变量
JAVA_HOME: 提供给基于java的程序使用,让他们能找到jdk的位置。
Path: 提供给操作系统寻找java命令工具的路径,通常是jdk安装路径\bin
CLASS_PATH:提供程序在运行期寻找所需资源的路径,比如:类、文件、图片等。注意:在windows操作系统,最好在classpath的配置里面,始终在前面保持”.;”
JAVA_HOME C:\Program Files\Java\jdk1.5.0_09
Path %JAVA_HOME%\bin
Class_path .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar
——————————————————————————————————————————
二.java的基本运行流程
1.编写hello.java文件
2.编译:成为hello.class文件
3.类装载classloader:是为执行程序寻找和装载所需要的类。
4.字节码校验:对class文件的代码校验,保证代码的安全性。
5.解释(interpreter)或者JIT(just in time java即时编译):机器不能识别class文件,需要被解释器解释,或者通过即时编译成本地机器码,机器才能最终理解我们所要表达的东西。
6.运行:得到我们想要的。
——————————————————————————————————————————
三、Java三大特性
1.java虚拟机(jvm)
跨平台,开发和编译只与虚拟机打交道,不必关注是windows或unix。虚拟机是一个软件,功能有:
1)通过ClassLoader寻找和装载class文件。
2)解释字节码成为指令并执行,提供class文件的运行环境。
3)进行运行期间垃圾回收。
4)提供与硬件交互的平台。
2.垃圾回收
1)垃圾:在程序运行过程中,存在被分配了的内存块不再被需要的情况,这些内存块对程序来讲就是垃圾。回收垃圾是为了节省资源和提高系统性能。
2)垃圾回收:释放不需要的内存。
3)JAVA垃圾回收:java中提供了一种系统级线程跟踪内存分配,从而可以自动检查和释放不再需要的内存。是sun的核心技术之一,不开源。
4)内存泄露:低级别线程在抢占CPU资源时不占优势,垃圾回收机制不一定及时起作用,造成占用内存不断增加。
3.代码安全
1)代码有问题,编译不通过
2)装载类的时候,进行类的检查
3)装载后到运行前,字节码校验
4)运行期间的沙箱(sandbox)