`
瘋叻ハ.兩
  • 浏览: 80613 次
  • 性别: Icon_minigender_1
  • 来自: 宁德
社区版块
存档分类
最新评论
阅读更多

 

   差不多有一年没碰JavaSE了,这篇也是寒假回头复习的时候做的,算得上笔记吧,呵呵。希望能对Java感兴趣的人起些敲门砖的作用。 

   我是从大一下学期才接触JavaSE的,在接触ME之前时,压根就不知道Java原来还有分这么多模块。上第一堂课时,主讲老师并没有介绍Java的用途方面,只是一昧的在跟我们介绍Java是“面向对象”的语言,解释的我们当时几乎全军覆没。后来还是自己逼自己买书自学才懂那么些Java语法... 其实,个人认为要一个人对于一个陌生的语言有8分热度,首先你得清楚它能让我们干什么,这样在以后碰到遇到困难时,就会有激情去解决它,而不会使我们内心产生恐惧感...如果你是Java新手,如果你支持我的看法,那么请读完它吧  

 

     1.1  Java语言的发展史     

  

  Java语言最早诞生于1991年,刚开始只是Sun公司为一些消费性电子产品所设计的通用产品。为了使整个系统与平台无关,采用了虚拟机器码( Virtual  Machine  Code )方式,虚拟机运行在一个解释器上,每一个操作系统均有一个解释器。

Java出现以前,Internet上的信息内容都是一些静态的HTML文档。正是因为在Web中看不到交互式的内容,所以人们很不满意当时的Web浏览器,迫切的希望能够在Web上创建一类无须考虑软、硬件平台就可以执行的应用程序,并且这些程序还要有极大的安全保障。正是由于这种需求给了Java带来了前所未有的施展舞台。

 

     1.2 Java语言的特性

 

     1. 简单高效

   Java语言提供了很多的功能实现库,很多代码只需要简单修改便可以很轻松地应用到其他的软件产品中,大大提高了代码的重用率,所短了开发的时间,提高了开发软件

的效率.

 

     2. 面向对象

  世界万事万物皆是对象。在面向对象方面,Java语言比其他面向对象的编程语言更“纯”,所有的数据类型都有相应的类,完全可以用面向对象的方式来编写。 

 

     3. 网络分布计算

   Internet的出现,为网络计算机提供了一个良好的信息共享和信息交流平台。然而,要充分利用网络来处理各种信息,不同操作系统平台具有的不同的运行环境是一个严

重的制约,Java技术的出现为解决网络分布计算提供了最佳途径。 

     4. 健壮性

   Java虚拟机系统会在编译时对每个Java程序进行合法检查,以消除错误的产生。在运行时如果碰到出乎意料的事情,Java也可以通过异常处理机制,将异常抛出,并由相

应的程序进行处理。

 

     5. 安全性

   用于网络分布环境下的Java产品必须要防止病毒的入侵。Java语言的安全是因为它不支持指针,并提供了字节码的校验机制,禁止在自己的处理空间之外破坏内存。

 

     6. 跨平台

  Java源程序通过Java解释器解释后会产生于源程序对应的字节码指令,只要在不同的平台上安装配置好相应的Java的运行环境,Java程序就可以随处运行。

 

     7. 并发性

   Java内建了对多线程的支持,多线程机制的引入使Java程序的运行效率大大提高。同时也保证了对共享数据的安全操作。通过使用多线程,程序设计者可以分别用不同的

线程完成特定的功能,而不需要采用全局的事件循环机制,这样就可以很容易得实现网络上的实时交互行为。 

     8. 动态扩展

   Java语言是一个不断发展的优秀编程语言。它的类库可以自由的加入新的方法和实例变量而不会影响到用户程序的执行,并且通过接口机制改进了传统多继承的缺点,

使之比严格的类继承具有更灵活的方式和动态扩展等。 

 

     1.3  Java的竞争对手

 

     1.3.1      Java与CC++对比

 

    1) 全局变量

   在Java编程中,不能在类之外定义全局变量;而在CC++中,依赖于不加封装的全局变量常常造成系统的崩溃 。

 

    2) 剔除goto关键字

   虽然Java中保留了goto关键字,但是Java不支持CC++中的goto语句,而是通过异常处理语句trycatchfinal等来代替CC++中用goto语句来处理遇到错误跳转的情况,使程序更易读且更结构化

 

    3) 良好的指针控制

   在学习CC++语言进行的编程中,通过指针所进行的内存地址操作常常会造就不可预知的错误,同时通过指针对某个内存地址进行显式类型转换后,可以访问一个CC++中的私有成员,从而破坏安全性,造就系统的崩溃。 而Java语言对指针进行完全的控制,程序员不能直接进行任何指针操作。同时,数组作为类在Java中实现,较好得解决了数组访问越界这一问题。

 

    4) 自动内存回收

    一般内存资源有限,很容易被程序破坏。在C中,程序员通过库函数malloc()free()来分配和释放内存;在C++中则通过运算符newdelete来分配和释放内存。对于二者,再次释放已释放的内存块或未被分配的内存块,会造成系统的崩溃;同样,忘记释放不再使用的内存块也会逐渐耗尽系统资源。而在Java中,所有的数据结构都是对象,通过运算符new为它们分配内存堆。通过运算符new可以得到对象的处理权,而实际分配给对象的内存可能随程序运行而改变,Java对此自动地进行管理并且进行垃圾收集,有效防止了由于程序员的误操作而导致的错误,更好地利用了系统资源。

  

    5) 固定的数据类型

   在CC++语言中不同数据类型在不同的平台上所占的位数不一样,导致了代码的不可移植性。但在Java中,对于这些数据类型都采用国际统一字符码,即分配固定长度的位数,保证了Java的平台无关性。

 

    6) 严格控制数据类型转换

   一种数据类型得到数据转换成另外一种数据类型的数据时,常常会出现数据精度丢失的问题。在CC++,通过指针进行任意的数据类型转换极不安全;而在Java中,运行时系统对对象的处理要进行类型相容性检查,以防止不安全的转换。

 

    7) 库文件

   编程语言中丰富的库文件能快速得开发出各种应用软件。CC++中用头文件来声明类的原型以及全局变量、库函数等,在大的系统中,维护这些头文件是很困难的;而Java不支持头文件,类成员的类型和访问权限都封装在一个类中,运行时系统对访问进行控制,防止对私有文件的操作。同时,Javaimport语句来与其他类进行通信,以便使用它们的方法。

 

    8) 类与结构和联合体

   CC++中的结构体和联合体中的所有成员均为共有,这就带来了安全性问题;Java中不包含结构体和联合体,所有的内容都封装在类中。

 

     1.3.2    Java与C#的对比

      Java语言是开放式的世界语言,基本源代码都公开;而C#作为Microsoft的一门主打的语言也不甘示弱,一个开源,一个收费。二者的不同点注意体现在:C#Microsoft的支持下提供了强大的Visual  Studio开发平台,可以很好的提高C#程序的开发效率,而且C#更善于利用Windows平台;Java的设计宗旨是独立于任何平台,因此自然不会提供太多的Windows特性,但这也体现了Java语言的跨平台优势。一般的企业级应用,是无法确定这个应用是在怎样的平台上运行。因此,企业级开发一般选择Java作为开发语言。 

     1.4. Java平台的体系结构

 

        作为功能强大的编程语言,Java发展到今天按其应用可以分为三个版本,分别是JavaSEJavaEEJavaME,这也就构成了Java

   台体系结构。

 

      1.4.1    Java SE  标准版

      Java SE(Java Platform, Standard Edition)标准版是各种应用平台的基础,主要应用于桌面开发和低端商务应用的解决方案。

    Java SE 1.4 1.5以后的版本有很大的区别,大多数开发人员都使用1.6版本。

 

      1.4.2    Java EE  企业版

   Java EE(Java Platform, Enterprise Edition)企业版是以企业为环境而开发应用程序的解决方案,这个版本以前称为J2EE。 企业

版本帮助开发和部署可移植性、健壮、可伸缩且安全的服务器端Java应用程序,它是在Java SE的基础上构建的,他提供了Web服务、组

件模型、管理和通信API,可以用来实现企业级的面向服务体系结构(Service Oriented Architecture, SOA)Web 2.0应用程序。

 

      1.4.3    Java ME  微型版

   Java ME(Java Platform, Micro Edition)微型版致力于消费产品和嵌入式设备的最佳解决方案,这个版本以前称为J2MEJava ME

在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME包括灵活的用

户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的联网和离线应用程序的丰富支持。

 

 

   每种平台都有各自的技术,详情的请查阅书籍或者通过其他途径查阅相关资料。

 

     1.5.  Java SE环境安装和配置

    用Java语言编写出来的程序要在各种平台上运行,必须要预先安装和配置好它的运行环境。对于编程开发者而言最重要的就是要安装

JDK

 

    1.5.1  什么是JDK

   JDK(Java Development Kits) Java开发工具箱,包括:

   l   JRE(Java Run Time Environment, Java运行时环境)

   l   JVM(Java Virtual Machine, Java虚拟机) 主要作用是进行Java程序的运行和维护。

   l   Java API(应用程序编程接口) 主要作用是为编程人员提供已经写好的功能,便于快速开发。

   l   Java编译器(javac.exe)

     Java运行时解释器(java.exe)

     Java文档化的工具(javadoc.exe)及其他工具和资

     源。

 

             JRE的三项主要功能如下:

   l  加载代码:由类加载器(Class Loader)完成。

   l  校验代码:由字节码校验器(Bytecode Verifier)

       完成。

   l  执行代码:由运行时解释器(RuntimeInterpreter)

       完成。

    以上三项功能的作用基本上都是以安全为出发点。 只有安装了JDK才能运行Java程序

 

    1.5.2  JDK的安装目录和常用命令工具介绍

    安装好JDK,目录下会产生如下内容:

      l bin目录:存放Java的编译器、解释器等工具(可执行文件)

    l  db目录:JDK6-7附带的一个轻量级数据库,名字叫Derby

    l  demo目录:存放演示程序。(当然现在也许你会看不懂,呵呵)

    l  include目录:存放用于本地方法的文件。

    l  jre目录:存放Java的运行环境文件。

    l  lib目录:存放Java的类库文件。

    l  sample目录:存放一些范例程序。

    l  src.zip目录:JDK提供的类的源代码。

 

    1.5.3  设置环境变量

   仅安装了JDK还不行,因为用户编写的程序可能放置于不同的位置,怎样能让Windows系统可以在任何路径下识别Java的命令呢?这就要设置环境变量。

 

   设置环境变量需要配置一下2个参数:

      (1) Path:用于指定操作系统的可执行命令的路径,也是要告诉操作系统,Java编译器和运行器在什么地方可以找到并运行Java程序的工具。 其值是安装JDKbin目录的路径,并在最后加个“(分号)

     (2) classpathJava虚拟机在运行某个类时会按classpath指定的目录顺序去查找这个类,值为“.(字母状态下的点)

 

  1.5.4  验证配置的正确性

    DOS命令状态下,分别测试javacjava命令,未报错即可,说明配置成功。

 

关于配置JDK: 可以参考下面图片

 

 

 

本文笔记参考自 <JAVA基础与案例开发详解>

 

 

 

  • 大小: 150.9 KB
  • 大小: 34.1 KB
  • 大小: 63.1 KB
  • 大小: 45.3 KB
  • 大小: 100.9 KB
  • 大小: 22.8 KB
分享到:
评论

相关推荐

    JAVA开发前奏.ppt

    Java概述:发展及其优点、技术架构 解释JVM及JAVA跨平台的原理 Java开发环境的搭建及其环境变量的设置 体会JAVA编程过程

    Java就业培训教程 第一章 Java开发前奏.pdf

    Java就业培训教程 第一章 Java开发前奏.pdf

    java基础ppt--传智播客的内容

    java基础的ppt——传智播客的资源:java前奏、面向对象、异常、常用类、线程、集合、文件、IO、socket等内容

    张孝祥_Java基础1_Java开发前奏

    Java的特点 Java程序开发的基本过程 学习Java的前提知识 Java的特点 Java程序开发的基本过程 学习Java的前提知识 Java的特点 Java程序开发的基本过程 学习Java的前提知识

    Java培训教程开发前奏.ppt

    java程序的前奏。。。学习的好资源!!

    day01-java开发前奏

    学霸1.计算机基础 电子计算机,俗称电脑,是一种能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件和软件所组成,没有安装任何软件的计算机称为裸机

    Java开发前奏&&HelloWorld

    Java学习前的热身,熟悉一下计算机,环境配置,以及Java的历史,并写出第一个Java案例,HelloWorld

    1第一讲_Java程序开发前奏.ppt

    1第一讲_Java程序开发前奏.ppt

    Java就业培训教程》_张孝祥_1_开发前奏

    Java就业培训教程》_张孝祥_1_开发前奏

    JAVA学习手册CHM版

    全书共20章,分为4篇进行介绍,第1篇为基础篇,包括Java开发前奏、搭建Java开发环境、 扎实Java语言基本语法、掌握算法和流程控制、使用Eclipse开发工具、探秘面向对象程序设计、初探Java数组;第2篇为核心篇,包括...

    Java2游戏编程.pdf

    10.1 Actor2D类的前奏 10.2 Actor2D,前端和中央 10.2.1 Actor2D类的支撑类 10.2.2 使Actor2D对象动起来 10.2.3 扩展Actor2D类 10.3 总结 10.4 练习 第11章 实现一个布景管理系统 11.1 为什么要实现一个布景管理器 ...

    java基础知识

    java开发前奏 更新中 我要领取资料 (点击qq号直接获取资料) java编程基础 更新中 java编程基础-阶段性测试 更新中 面向对象 更新中 面向对象-阶段性测试 更新中 Eclipse使用&常见对象 更新中 Java API:常见对象 ...

    Java就业培训教程开发前奏.ppt

    JAVA教学资料,ppt,模板。。。。。

    张孝祥java就业培训教程(WORD版)

    张孝祥java就业培训教程第一章_Java开发前奏WORD版

    张孝祥Java就业培训教程.pdf

    第1章 Java开发前奏 1.1 Java虚拟机及Java的跨平台原理 1.2 Java开发环境的搭建 1.3 体验Java编程的过程 1.4 classpath的设置 1.5 有效利用Java的文档帮助 1.6 JVM(虚拟机)的运行过程 1.7 垃圾回收器 1.8 反编译工具...

    21天速成Java学习指南.rar

    day01-java开发前奏 day02变量、关键字 day03 流程控制语句 day04-函数与数组 day05-day09面向对象 day10-JavaAPI day11线程 day12-day15集合 day17JDK5.0新特性与正则表达式 day18-day21.IO 附赠Java进阶知识

    Java 开发前奏

    思维导图笔记 博文链接:https://westudy.iteye.com/blog/2042204

    Java就业培训教程高清版

    很好的学习资料,国内知名猎头烽火猎聘公司年度高薪职位招聘类别划分:...第1 章Java 开发前奏..................................................................................................................

    Java培训教程教学课件

    《Java就业培训教程》_张孝祥_1_开发前奏 《Java就业培训教程》_张孝祥_2_语言基础 《Java就业培训教程》_张孝祥_3_面向对象(上) 《Java就业培训教程》_张孝祥_3_面向对象(下).ppt

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    Java编程老鸟潜心写作,奉献高效率的Java学习心得 完全站在没有编程经验读者的角度,手把手教会读者学习Java 配16小时多媒体教学视频,高效、直观 一一击破Java入门可能会遇到的难点和疑惑 抽丝剥茧,层层推进,让...

Global site tag (gtag.js) - Google Analytics