JAVA学习.JAVA历史和机制以及一些规则

来源:互联网 发布:旺达与巨像结局 知乎 编辑:程序博客网 时间:2024/05/04 23:00

<1>. JAVA语言特点:

   a)跨平台,一次编译,到处运行。

   b) 速度慢,但很稳定, 没有内存泄漏 (memory leakage),不容易出现错误。

     内存泄漏:也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元,直到程序结束。

     JVM 会自动的在系统空闲或者内存不足的情况下按照自身一定的规则回收和释放已经分配但是当前没有被使用或者永远不会被使用到的内存空间。

   c) 不适合对速度要求高的图形界面操作,适合服务端应用。

   发展的趋势:C/S (Client/Server) -> B/S (Browser/Server)。



<2>.  JVM 以及 跨平台:

   JVM:Java Virtual Machine(JAVA虚拟器)。

   1) JVM像一个翻译,其把JAVA字节码实时翻译成对应硬件CPU的机器语言,因为有这么一个翻译的开销,所以JAVA运行速度较慢。

   2)一个JVM只知晓一门硬件语言,所以不同的平台(CPU不同)将需要安装不同的JVM。

   3) 因为JVM机制的存在,JAVA可以跨平台, JAVA的跨平台是建立在JVM不跨平台的基础上的。

   4)因为依靠JVM机制,JAVA运行速度慢,但稳定安全。



<3>. JRE和JDK

     JRE:  JAVA运行环境 (Java Runtime Environment) , 由JVM加上一些运行类库(jar包)构成。

     JAR:java archive (java类压缩包, 很多很多java类被压缩在一起而得到的)。

     JDK: JAVA开发者套件(Java Development Kit),由JRE,JAVA编译器,示例代码等构成。

    如果你只是需要运行JAVA字节码文件,则只需要JRE, 但如果你是JAVA程序员,你则需要安装JDK。


<4> 基本JAVA程序结构

   a) JAVA是纯面向对象编程的语言,处处都是class。

   b) JAVA的类名首字母必须大写,符合驼峰命名法,类名一般来说是个名词,可以加上若干定语。

   c) JAVA的类名与其所在的文件名相同,最好一个java文件一个类。

   d)  可执行的JAVA类只有一main()方法作为入口点。

   e)  JAVA变量名和方法名首字母小写,其他部分继续按驼峰命名法处理。

      方法名一般使用动宾结构:doSomething,  eg: playGame, searchPrime, isPrime.



<5>.JAVA编程一般执行流程

   a)编制JAVA源代码文件 (*.java),该文件为文本文件。

   b)编译  *.java -> *.class  (bytecode, 字节码, 其不是真正的X86机器语言),window平台下的JAVA编译器(compiler)是javac.exe。

编译器将*.java  转换成 JVM能读懂的对于JVM来说是机器语言的字节码文件 *.class 

   c)在JAVA虚拟机(JVM)中执行,(window平台下的JAVA虚拟机是java.exe)。

之后在由JVM将*.class(字节码文件)翻译为具体的机器语言(针对不同的CPU),之后就可以在不同的平台上面运行了。


   争对具体的硬件CPU而言,字节码不是机器语言。

   争对JVM而言,字节码就是其机器语言。



原创出处:http://blog.csdn.net/u012830807

原创粉丝点击