JavaSE 学Java语言的前情概要

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

    Java发展到今天,已经成为了一个真正意义上的语言标准Java的标准指的是一种作为应用层封装的标准,使用Java可以调用一些底层的操作但是Java的历史发展,可以归纳为如下的几个阶段:

             · 第一阶段(完善期):JDK 1.0 ~ JDK 1.2;
             · 第二阶段(平稳期):JDK 1.3 ~ JDK 1.4;
             · 第三阶段(发展期):JDK 1.5 ~ JDK 1.7;

在1995年的时候推出了JDK 1.0、在1998年的时候推出了JDK 1.2(更名为Java2)、2005年的时候推出了JDK1.5。 

 此处为本人提供的提供Oracle公司JDK下载地址(推荐jdk1.7)


    Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

1. 跨平台性

  

    所谓的跨平台性,是指软件可以不受操作系统的限制, Java自带的虚拟机(JVM)很好地实现了跨平台性。Java源程序代码经过编译后生成二进制的字节码是与平台无关的,却是可被Java虚拟机识别的一种机器码指令。Java语言是在JVM虚拟机上运行的,而JVM又是运行在操作系统上的,不同的操作系统有不同版本的JVM。

              

    Java虚拟机提供了一个字节码到底层硬件平台及操作系统的屏障,使得Java语言具备跨平台性。Java虚拟机的最大作用是起到平台的支持上,通过如上的图形可以发现,所有要解释的程序在JVM上执行,只需要由不同版本的JVM去匹配不同的操作系统,这样只要JVM的支持不变,程序可以任意的在不同的操作系统上运行。但是这种运行方式很明显没有直接运行在操作系统上性能高,不过随着硬件技术的发展,这些问题几乎可以忽略了


2. 面向对象


    面向对象是指以对象为基本粒度,其下包含属性和方法。对象的说明用属性表达,而通过使用方法来操作这个对象。面向对象技术使得应用程序的开发变得简单易用,节省代码。

     

    Java是一种面向对象的语言,也继承了面向对象的诸多好处,如代码扩展、代码复用等,在这块先简单提下类和对象的概念。

    类:是对一类实物描述,是抽象、概念上的一种定义;

    对象:实际存在的该类的事物的每个个体;

这块只需要先知道类是定义,而对象是一种实例化,在内存中类的实例化,即 new 构造器会在内存的堆空间中开辟空间,类一开始就是以CLASS的形式存在磁盘上,需要的时候才由类加载器加载进内存。


3.自动垃圾回收(核心机制)


    本子相当于硬盘,时不时可以翻看一下;脑袋相当于内存,太满了就塞不下了;而这里的垃圾回收就是释放那些不再使用的数据所占用的内存。众所周知,内存的有效使用对于程序计是非常重要的。对于不再被使用的数据,就应该及时释放其占据的内部,以提高内存使用效率,被称为“垃圾回收”。

    Java语言的垃圾回收采用后台线程自动完成,不需要程序员通过代码完成,称为“自动垃圾回收”。后台线程将跟踪并检查内存使用情况,对于不再被引用的据,自动进行内存释放。然而,值得注意的是,虽然Java语言有自动垃圾回收机制,但是并不能保证不会出现内存泄露的问题。如果源代码的结构或算法等有问题,也同样可能出现内存泄露。


4.健壮性(Robustness)。


    健壮性又称鲁棒性,Java在编译和运行时,都要对可能出现的问题进行检查,以消除错误的产生。Java提供自动垃圾回收机制来进行内存管理,防止程序员在管理内存时容易产生的错误;通过异常处理机制,帮助程序员正确地处理异常,以防止系统的崩溃


5.简单性、多线程和动态性


     Java语言取消了指针,内存管理通过后台线程自动进行,不再使用goto语句,不支持多继承这些特性都保证了Java的简单性。从编程语言的角度而言,应该分为两种:

·   编译型:如C语言,编译之后会形成出一个*.exe的文件;

·   解释型:像ASP语言那样,直接将代码放到服务器上进行解释。

但是Java本身却属于两种类型的集合,观察图形下:


   
     通过如上的图形可以发现,任何一个*.java程序首先必须经过编译,编译之后会形成一个*.class的文件(字节码文件),而后在电脑上执行的不是*.java,而是编译之后的*.class文件(这个文件可以理解为“加密”的文件),但是解释程序的电脑并不是一台真正意义上的电脑,而是一台由软件和硬件模拟出来的电脑 —— Java虚拟机。


在正式学习java并安装配置开发环境之前,有必要了解一些有关Java的专业术语:

    JDK(Java Development Kit ):编写Java程序的程序员使用的软件
    JRE(Java Runtime Environment):运行Java程序的用户使用的软件
    Server JRE (Java SE Runtime Environment):服务端使用的 Java 运行环境
    SDK(Software Development Kit):软件开发工具包,在Java中用于描述1998年~2006年之间的JDK
    DAO(Data Access Object):数据访问接口,数据访问,顾名思义就是与数据库打交道
    MVC(Model View Controller):模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法


      


Java2平台包括标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本:

    J2SE就是Java2的标准版,主要用于桌面应用软件的编程;
    J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;
    J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

    StandardEdition(标准版)J2SE包含那些构成Java语言核心的类。比如:数据库连接、接口定义、输入/输出、网络

   编程。

    EnterpriseEdition(企业版)J2EE包含J2SE中的类,并且还包含用于开发企业级应用的类。比如:EJB、servlet、

   JSP、XML、事务控制

    MicroEdition(微缩版)J2ME包含J2SE中一部分类,用于消费类电子产品的软件开发。比如:呼机、智能卡、手机、

    PDA、机顶盒

    他们的范围是:J2SE包含于J2EE中,J2ME包含了J2SE的核心类,但新添加了一些专有类。笼统的讲,可以这样理解,J2SE是基础;压缩一点,再增加一些CLDC等方面的特性就是J2ME; 扩充一点,再增加一些EJB等企业应用方面的特性就是J2EE。




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜马拉雅以南

奶茶,干杯?!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值