Java基础学习分享
一、java介绍
java是由原sun公司(现已被甲骨文公司收购)于1991年开发的编程语言,初衷是为智能家电的程序设计提供一个分布式代码系统。为了使整个系统与平台无关,采用了虚拟机器码方式,虚拟机内运行解释器,而针对每种操作系统均有其对应的解释器,这样java就 成了与平台无关的语言。
二、java语言特点
java是一个广泛使用的网络编程语言,它简单、面向对象,不依赖于机器结构,不受cpu和环境限制,具有可移植性、安全性,并提供了多线程机制,具有很高的性能。
(1)简单性。java语言虽衍生自c/c++,但它略去了c/c++中指针、运算符重载、多重继承等复杂的概念,并通过自动垃圾收集机制大大简化了程序员的内存管理工作。另外,java对环境的要求也非常低,它的基本解释器及类仅几十kb,加上标准类库和线程的支持也只有大约200kb。
(2)面向对象。java是一个完全面向对象的语言,其程序设计集中于对象及其接口,它提供了简单的类机制及动态的接口模型。
(3)分布式。java是面向网络的语言,通过它提供的类库可以处理tcp/ip协议,用户可以通过url地址在网络上很方便地访问其他对象。
(4)安全性。一切对内存的访问都必须通过对象的实例来完成,有效的防止黑客使用“特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了由于指针操作失误导致的程序或系统崩溃。
(5)可移植性。与平 台无关的特性使java程序可以被移植到不同软硬件平台的计算机上,java自身的类库也实现了与不同平台的接口,使这些类库更容易移植。
(6)高性能。java字节码的设计可以很容易地直接转换成对应于特定cpu的机器码,从而得到较高的性能。
(7)支持多线程。多线程机制使应用程序能够并发地执行,同步机制又保证了对共享数据的正确操作。通过使用多线程,程序员可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。
三、java的运行机制
1、java虚拟机
java虚拟机(jvm)可以理解成一个以字节码为机器指令的cpu。首先,java编译程序将后缀名为.java的java源程序编译为jvm可执行的代码,运行jvm字节码的工作则由解释器来完成。运行过程分代码的装入、校验和执行三步进行:装入代码的工作由类装载器完成,类装载器负责装入一个程序运行所需要的所有代码;字节码校验器负责代码的校验;解释器负责代码的执行。每种类型的操作系统都有一种对应的jvm,jvm屏蔽了底层操作系统的差异,使java程序能够做到“一次编译,到处执行”。
2、垃圾收集器
java垃圾收集器能够自动回收垃圾,即运行时无用对象占据的内存空间。java语言通过提供一种系统级线程来自动跟踪程序运行时存储空间的分配情况,并在jvm空闲时检查并释放那些可被释放的存储空间。在java中,对象一旦被创建就会在堆区中分配一块内存,而当对象不再被程序引用时,它就变成一个“垃圾”,所占用的堆空间可被回收以便腾出来给后续的新对象使用。java垃圾收集器能断定哪些对象不再被引用,并且能够把它们所占用的堆空间释放出来。