`
zds420
  • 浏览: 205196 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

J2SE--Java简介

    博客分类:
  • J2SE
阅读更多

  本文主要根据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  JVM Java 字节码转换为与平 台相对应的机器语言

        

良葛格的话 匣子:

“平台” (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 皆尝试在性能上做出改进。




  













分享到:
评论

相关推荐

    j2se-doc-cn java的API文档,有助于你写JAVA程序

    Java API文档是学习和开发Java程序的重要资源,它包含了Java平台标准版(J2SE)的所有公共类、接口和方法的详细说明。这份名为“j2se-doc-cn”的压缩包包含的是Java API的中文版,对于中国开发者来说,无疑极大地...

    Java-J2se、J2ee开发全程视频教程和源码(87集)

    资源名称:Java-J2se、J2ee开发全程视频教程和源码(87集)资源目录:【】Java-J2se-J2ee全程教程(01-10)【】Java-J2se-J2ee全程教程(11-20)【】Java-J2se-J2ee全程教程(21-30)【】Java-J2se-J2ee全程教程(31...

    jaxmpp-j2se-3.0.0.jar(XMPP/Tigase开发,java代码类型客户端使用的jar包)

    jaxmpp-j2se-3.0.0.jar(XMPP/Tigase开发,java代码类型客户端使用的jar包) 需要的朋友自己下载,一个朋友让我帮他找的,就顺便发出来给更多需要的朋友吧

    JAVA-J2SE-JAVA EE学习方法

    java初学者很好的学习指南...从J2SE到JAVA EE一系列的学习过程,有很好的引导作用...

    core-2.3.0 + QRCode + zxing-1.6-core + zxing-j2se-1.7

    这里提到的"core-2.3.0 + QRCode + zxing-1.6-core + zxing-j2se-1.7"组合,是与二维码处理相关的Java库集合。下面我们将详细探讨这些组件以及它们在实际开发中的应用。 首先,"core-2.3.0"可能指的是某个项目的...

    Java:The Complete Reference,J2SE 5 Edition

    中文译名是J2SE参考大全(第5版) 这份是自己制作的电子书,现在还没有制作完成,因为内容太多,关打字就打个半死.

    zxing-code-1.7&zxing-j2se-1.7[用于编解二维码].7z

    结合MATLAB标签,我们可以推测ZXing的Java库可能被用在MATLAB环境中,通过Java-MATLAB接口来实现二维码的处理。这为MATLAB用户提供了在数值计算和数据分析之外,进行条码和二维码操作的能力。 总的来说,ZXing是一...

    J2SE-孙鑫授课总结的ppt

    《J2SE-孙鑫授课总结的PPT》是一份深度总结Java标准版(Java 2 Platform, Standard Edition,简称J2SE)核心知识的教学资料,由知名IT教育专家孙鑫精心编撰。这份PPT涵盖了Java SE的各个方面,旨在帮助学习者系统地...

    core-3.3.3 + javase-3.3.3+ zxing-1.7-core + zxing-j2se-1.7

    - **zxing-j2se-1.7**:这是ZXing针对Java标准版(Java SE)的实现,提供在桌面环境中生成和读取条码的功能。这个库使得开发者可以在Java应用中轻松集成二维码生成和扫描功能。 2. **iReport** iReport是一款流行...

    j2se-server.rar_connect

    标题“j2se-server.rar_connect”暗示我们关注的是Java SE(标准版)服务器端的连接技术,特别是与移动设备交互的代码。描述中提到的"connect mobile javacode"进一步明确了我们要探讨的是如何使用Java来实现移动...

    j2se-Music

    在IT行业中,J2SE(Java 2 Platform, Standard Edition)是Java开发平台的一个标准版本,主要用于桌面应用的开发。本项目"j2se-Music"显然是基于J2SE实现的一个音乐管理系统的雏形,主要功能包括音乐信息的增加、...

    J2SE-IO.ppt

    Java中的IO流是Java平台标准版(J2SE)的核心特性之一,用于处理输入和输出操作。在Java中,流是一组数据的有序传输,可以是字节或字符。流的分类、节点流与处理流的概念,以及各种流类的使用方法是理解Java IO系统...

    Java-J2SE学习笔记

    Java-J2SE学习笔记Java-J2SE学习笔记Java-J2SE学习笔记Java-J2SE学习笔记Java-J2SE学习笔记Java-J2SE学习笔记Java-J2SE学习笔记Java-J2SE学习笔记

    J2SE-API中文版

    javase 的api文档 学习java最基本的东西 大家应该都懂得

    J2SE-多线程.ppt

    Java J2SE中的多线程技术是编程中的重要概念,特别是在开发高效并发应用程序时。本篇内容主要围绕线程的基础知识、创建与启动、状态转换、控制方法、优先级以及线程组展开。 首先,线程被定义为程序内部的顺序控制...

    J2SE6.0-API(中文)-冷冻大雪.chm和java api1.6中文文档.chm

    J2SE(Java Standard Edition)6.0版本是Java平台的一个重要里程碑,为开发者带来了许多新特性、增强和优化。这个压缩包包含三个重要的资源:《J2SE6.0-API(中文)-冷冻大雪.chm》、《java api1.6中文文档.chm》...

    ee.j2se-1.5.0.jar

    jar包,官方版本,自测可用

    actorframe-j2se-1.3.1-sources.jar

    官方版本,亲测可用

    actorframe-j2se-1.3.0-sources.jar

    官方版本,亲测可用

    actorframe-j2se-1.2.10-sources.jar

    官方版本,亲测可用

Global site tag (gtag.js) - Google Analytics