J2SE--Java简介

  本文主要根据Java的诞生,Java的特性 进行描述。有错误,欢迎指正。

 

  一:Java的诞生



Java 是从1995年的7月开始在计算机业界就受到了高度关注,特别是在Internet和多媒体(Multimedia)相关产品类方面。

Java为何有如此这么大的魅力?
Java是一种软件技术  
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言  
是一种为 Internet发展的计算机语言  
是一种使网页(Web Page)产生生动活泼画面的语言
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言  
是一种语言,用以产生「小应用程序(Applet(s))」  
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能  
是一种将安全性(Security)列为第一优先考虑的语言  
是一种使用者不需花费很多时间学习的语言  
是一种突破用户端机器环境和CPU结构的语言 
是一种「写一次,即可在任何机器上执行(Write OnceRun Anywhere)」的语言是有史以来
,第一套允使用者将应用程序(Applications)通过Internet从远端的服务器(Remote Server)传输到本地端的机器上(LocalMachine)并执行  

是一种应用程序提供者不需要知道使用者的计算机硬件(如:Sun, Intel, 或MAC等)与软件(如:SW- UNIX, MAC O/S, Windows, 或NT等)环境的语言(Kestenbaum, 1995)。  



  二:Java的特性


   Java是一种简单,健壮,多态,安全,网络,面向对象,搞性能的程序语言。

 

   简单的 (Simple)

 C/C++学习复杂,程序运行需要在各个平台运行。而Java是一次编译到处运行的。

 Java是在C/C++的基础上面产生的,且同时屏蔽了C/C++的一些 指针 (Pointer) 、运算符重载 (Operator Overloading) 和多重继承 (Multiple Inheritance) 的特性。

 

  面向对象的 (Object-Oriented)

面向对象分析 (Object-Oriented Analysis) 是分析问题的一种方式,面向对象设计 (Object-Oriented Design) 是使用面向对象的思考方式来设计问题的解决方案。但是,要了解什么是面向对象,以及学会使用面向对象的方式进行设计与解决问题,并不是一件简单 的事情,事实上让您了解面向对象正是这本书的目标之一。

 

   网络的 (Network-Savvy)


    Java本身是通过网络而产生的,且好多功能与网络有关,从Applet,(简化的)Socket,(交互式的)Jsp/Servlet网络程序到今天的Web Service等等,其实Java也正是网络使用非常的高。EJB现在使用的相对较少。


  编译的 (Interpreted)

程序在一个平台上要能够运行,必须先编译为该平台所能理解的原始机器语言 (Native Machine Instructions) ,但最大的问题在于每个平台所认识的机器语言各不相同。例如 Windows 操作系统认识的机器语言就与 Linux 认识的不相同,专为 Windows 操作系统所编写并编译好的程 序,并无法直接拿来在 Linux 操作系统上运行。

为了解决在不同平台间运行程序的问题, Java 的程序在进行编译时,并不直接编译为与平台相对应的原始机器语言,而是编译为与系统无关的“字节 码” (Bytecodes) 。为了要运行 Java 程序,运行的平台上必须安装有 JVM( Java Virtual Machine) JVM 等于是为 Java 程序所虚拟的环境。当运行 Java 程序时, Java 实时编译器 (Just In Time Compiler JIT) 会将字节码编译为目标平台所接受的原始机器语言,通过 JVM 使得 Java 程序在不同平台上都能运行的目的得以实现,如图 1-2 所示。

1-2  JVMJava 字节码转换为与平 台相对应的机器语言

        

良葛格的话 匣子:

“平台” (Platform) 一词并没有较严谨的定 义,在计算机的领域中,平台有时指的是硬件,有时指的是作用于硬件之上的软件系统,有时则指硬件加上软件,这里的平台指的是“操作系统”。由于不同的硬件 会运行不同的操作系统,所以这里对平台的定义也就是硬件加上软件。

您可以在 Google(http://www.google.com/) 上搜寻 define:platform 来查询网络上各种对平台的定义。

 

   健壮的 (Robust)

Java C/C++ 中一些功能强大但不容易掌握的功能去除了。以指针 (Point) 功能为例,即使是有经验的开发 人员在使用指针功能时也得小心翼翼,避免编写出使程序崩溃 (Crash) 的错误,诸如此类的功能在 Java 中被去除,为的是让 Java 在使用时更为简单,编写出来的程序更为健壮。

舍弃了 C/C++ 的一些特性曾使得许多开发人员质疑没有了 C/C++ 的这些特性, Java 还能开发什么软件?但从 Java 正式提出至今 10 年来已经证明, Java 确实适用于开发各个领域的软件,而且拥有广大的网络资源。


  安全的 (Secure)

Java 加入了垃圾回收 (Garbage Collection) 机制,让开发人员无需担心对象资源的回收问题,异 常 (Exception) 处理架构让开发人员可以掌握程序中各种突发的异常状况。另外,像 synchronized final 等存取关键词的使用,目的都在于加强 Java 程序的安全性。  

可移植的 (Portable)

要让程序跨平台运行并不是一件容易的事,有相当多的因素必须考虑,例如数 据类型所占内存长度就是一个问题, Java 在不同的平台上的数据类型长度是 统一的 ( C/C++ 则不然 ) 。这是 Java 在提高程序可移植性上最显而易见的一个例子。

  高性能的 (High-Performance)

高性能是 Java 所宣称的,在某些条件的配合下, Java 号称可以与 C/C++ 拥有同样甚至更好的运行性能,但更多的人只是将这个 宣称视为一个商业宣传的口号。 Java 是在运行时期才将中间的字节码编译为原始机器语 言,这就花上了一段不短的启动时间,而早期的 Java 在运行性能上确实是一直被诟病的。

不过在历经数个版本的变更, Java 一直尝试提高其运行的性能,像使用 Java HotSpot 技术。在第一次加载 Java 字节码时, JIT 会以编译模式开始加载,分析并尝试以 最佳化编译为目标平台的原始机器语言。每一次的版本更新, Java 皆尝试在性能上做出改进。




  













评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值