你知道java,和你不知道java

你知道java,和你不知道java

ID:21285759

大小:30.50 KB

页数:6页

时间:2018-10-20

你知道java,和你不知道java_第1页
你知道java,和你不知道java_第2页
你知道java,和你不知道java_第3页
你知道java,和你不知道java_第4页
你知道java,和你不知道java_第5页
资源描述:

《你知道java,和你不知道java》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、你知道的Java,和你不知道的Java最近我们收到一封电子邮件,咨询“什么是Java?”条目的信息。在2006年,难道还有人不知道“什么是Java”吗?十年来,有大量介绍Java的书籍、网站和会议,难道不是所有人都知道“什么是Java”吗?显然答案是否定的。毕竟,情况已经改变。每个涉及applet和实时(Just-in-time)编译器的含糊定义都有许多已固定下来并为许多人所了解的新说明和新事实,但它们并非全部都写入文档中了。过去,Java常常意味着:•Applet•字节码解释•缓慢的性能•等待Sun恩赐的“拜物教”而如今,它意味着

2、:•Web应用程序、Web服务、SOA等等•热点动态编译•高性能•一个日益独立于Sun的开源社区过去有个口号叫做“一次编写,随处运行”,这仍然是事实,但编写的内容及其运行环境和方式正在改变。Java编程语言Java是一种面向对象的高级编程语言,它在许多方面受到C、C++和Smalltalk的影响,还借用了其他语言的概念。其语法的设计方式使得那些熟悉“大括号”语言(继承自C)的人也会熟悉Java语法,但它具有比C++更强的面向对象性、对象的静态类型转换以及相当严格的异常系统,该系统要求调用堆栈中的每个方法要么处理异常,要么声明其抛出异

3、常的能力。当然还有垃圾自动收集功能,这使开发人员不必释放由废弃对象占用的内存。Java的一个比较受争议的方面(这些方面在发布Java时被广为接受,但现在正日益受到批评)是它的不完全的面向对象性。具体来说,Java基本类型(如int、char、boolean等等)都不是对象,并且开发人员需要以完全不同的方式来处理它们:由于int不是类,因此不能为其创建子类并为其声明新方法,也不能将它传递给需要普通对象的方法,诸如此类。基本类型提高了Java的性能,但却降低了代码的清晰度,这一点使用所谓的“包装器类”(Integer、Character

4、和Boolean)的人应该深有体会。Java5.0引入了autoboxing(自动装箱)模式,以消除许多使用包装器类的用例,但在某些方面这使代码的功能不那么明显了。从理论上讲,Java是种“早期出错”语言。由于它的语法约束,许多编程错误在Java中不可能出现。由于不能直接访问指针,所以指针运算错误也就不存在了。使用对象时的类型如果与当初声明它的类型不同,就会要求进行显式的类型转换,这使编译器能够拒绝不合逻辑的编程,如对一幅图像调用一个字符串方法。许多Java企业框架都要求使用配置文件或者部署描述符(通常用XML编写)来指定操作:哪个

5、类处理特定的HTTP请求、在规则引擎中执行的步骤顺序等等。实际上,要实现这些功能不能只用这种语言。评论人士指出,这会产生不当后果:不仅避开了Java编译器的检查,而且开发人员无法再(只)根据程序的源代码就可确定它如何运行。Java5.0为该语言添加了注释(annotation)特性,它允许使用值为方法、字段和类添加标签,在运行时,通常可通过反射对这些值进行内省和操作。许多程序员喜欢注释,因为它简化了工作,否则就需要通过部署描述符或其他方法来解决问题。但是,注释也有可能使Java代码难以理解,因为注释的有无可能会影响代码的执行方式,而

6、这从注释中不太容易看出来。尽管存在这么多的批评意见,但Java通常还是被认为是当今最流行的通用计算语言。在企业编程领域,它是一个广泛使用的标准,而且2005年它取代C++成为SourceForge项目使用最多的语言。使用Java有很多好处:免费的工具(适用于多种平台:Linux、Windows、Solaris和Mac均可编译和执行Java应用程序)、内容丰富的知识库以及大量乐意提供帮助的开发人员。Java语言已经达到了开发人员生产率与代码性能之间的一个特定平衡点:CPU周期成本持续降低,但开发人员的开发周期却并未明显缩短,因此在开发

7、人员与CPU操作码执行之间再出现一个抽象层也许是不可避免的了,它将使开发人员能够更快地创建更好的软件。实际上,Java生产率的批评者(如《BeyondJava》的BruceTate)可能正是观察到了这种不断推进Java使其达到新的平衡点,从而进一步牺牲性能去换取更高的开发人员生产率的趋势。Java平台通常有三种Java平台:StandardEdition(标准版,SE)、EnterpriseEdition(企业版,EE)和MicroEdition(微型版)。每个平台都是一个包含某个语言版本、一组标准库和执行代码的虚拟机(见下文)的组

8、合。EE是SE的超集,任何EE应用程序都可假定所有的SE库都存在。EE平台的语言使用与SE的一样。由于小型设备(如:电话或机顶盒)的局限性,JavaMicroEdition与另两个版本有很大区别。它并非SE的子集(像SE是EE的子集那

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。