实训行业的NO.1
专注有恒久价值的高品质职业教育

电话咨询

PHONE CONSULTING

400-033-4568

在线咨询

ONLINE CONSULTING
和我联系吧

Java编程语言

Java编程语言
从实用性来讲,Java可以说是第一种“网页”语言。尽管像Perl等语言会突然发现它们处理字符串的能力在恢复价值和发送HTML到网页浏览器上是天生的,但是Java是最早发现自己是根植于浏览器中,最初是在一个有趣但却非常古怪的HotJava浏览器(基于Java本身进行编写),而之后又以现有浏览器的扩展形式呈现出来。
尽管从表面上看其结构与C和C++类似,但是Java的后端表现却与这两种语言不同。比起编译Java源代码到原生及其代码中,Java编译器将编译由Virtual Machine或VM所运行的“字节码”。Java字节码是一种汇编语言,但却不是与特定处理器有关系的汇编语言。Java VM是字节码的运行时解释器,将为你的机器目标处理器解释字节码。这一方法的优点在于,如果目标及其拥有可兼容的Java VM或Java所承诺的“编写一次就能够在任何地方运行”,你便可以在不同机器间移动Java字节码,并且可以无需做出任何改变而运行。这一方法的缺点在于Java字节码并不是原生机器代码,尽管像“及时”编译器能够完善VM性能,但实际上你是在运行时间做一些解释,这将引起较小但却可衡量的性能打击。
还有其它缺点便是,Java的现实性并不符合语言的早期承诺。尽管在网页中执行游戏的理念几乎能够马上让所有人动心,但现实是Java VM并不能与所有内容兼容,使用特定VM而编写的Java应用或支程序可能不能运行于带有其它VM版本的机器上。“编写一次就能够在任何地方运行”被改为“编写一次便能够移植到任何地方”,也就是说一旦你完成你的Java代码的编写,它便能够有效地运行于一个平台上,然后你所面临的重要任务便是确保你的应用能够有效运行于所有系统上。
Java的第三个缺点便是源自其GUI。尽管首次“传递”促使Java GUI使用原生的OS控制(按键,滚动条等等),较小且较快,但却没有深度。下一次传递Swing虽然看起来好多了,但是表现仍然很早,并且完全不同于最初的控制。最糟糕的是Sun(Java之父),太慢了,难以添加现有的OS功能,就像关于ClearType字体渲染的支持。因此,Java应用总是着眼于一些与现代化不着边的版本。
但是在服务器编程方面,Java便扬眉吐气了。VM的一大优势便是,它并非真正的处理器,只是一个模拟,所以销毁VM并不是多大的问题。如果你对于Java VM感到困惑,这并不会真正影响基本的操作系统,你大可以选择关闭并重新开始,并且不需要重启整个机器。再加上Java的内存管理模式是源自C++和C语言,所以像分配内存(无需将其带回之前的系统)这样的问题便不再是多大的问题了。像这样的系统非常适合服务器环境。服务器可以突然出现并在必要的时候消灭VM且不会对潜在OS造成任何影响。同样地,GUI问题也并不适用,如果你的服务器软件看起来并不壮观,它便一点都不重要,除非你想要给服务器管理员留下深刻印象。今天你将会发现许多商业大型多人游戏在服务器端使用了Java。Three Rings的多人游戏便是个很好的例子,他们不仅在客户端,同时也在服务器端使用了Java语言。
  Java发挥重要作用的另一个领域便是手机市场。J2ME(Java 2,Micro Edition)是带有删节类程序库(游戏包注:专门为在手机和其它较小的设备上运行而设计的)的Java VM的微小版本。实际上,如果你包含了手机目标群体,Java可以说是现在最受欢迎的平台之一。
  优点:Java的Virtual Machine加上其内存管理和不再需要的内存的自动收集让你能够创造非常诱惑力且足以避免被摧毁的软件。它同样也带有强大的扩展文件传统。
缺点:Java的“编写一次便能够在任何地方运行”的承诺未能兑现。Java类程序库已经经过多次重新编写且未删除早前的调用,所以即使程序库与早前的代码是反向兼容,似乎还有三种方法能够做到一切,除了因为“过时”而被拒绝。
可移植性:非常不错,但却不像想象中那么棒。基于Java创造一款可移植且能够使用潜在的OS最新功能的应用与在C++上这么做一样困难。
是否适合新手:非常适合。尽管在不遭遇弃用对象的前提识别执行某项任务的“正确”方式对于那些还在摸索语言的新手来说有点困难,但是语言本身的核心是很容易理解的。同样地,Java也是许多大学课程的标准语言。

国贸游戏动漫校区 (010-65680016)

翡翠教育-完美空间北京国贸校区王嘉玲学员毕业成功入职完美时空科技有限公司,任职Unity3D程序开发,月薪12000元;翡翠教育-完美空间北京国贸校区网址:http://www.bjifeicuiedu.com/,电话:010-65680016