Sun公司已经开放了对java技术的最后限制,并且鼓励在linux发行版中集成java平台和netbeans框架,在未来的时间内java很可能成为linux的内建功能。
对java技术的实现,目前有三种方式:java虚拟机、java操作系统、java硬件系统(java卡),目前应用最广泛的是java虚拟机,但无疑用操作系统来实现java功能可以获得更高的性能。苹果的Mac OS X就是操作系统级的java实现。
目前java技术的主要对手是微软公司的.net技术。微软公司一直宣称.net平台比java有更好的性能,并且将原因归功于即时编译技术(JIT)。但java从1.3开始就内置了JIT编译器和Hotspot虚拟机,有兴趣的可以去看看Java JIT编译器大战的资料。.net平台的性能,更多的来源于与windows系统的紧密集成,只是微软不敢这么说。
一直依赖人们对java都存在误解,即java是靠虚拟机解释执行java字节码运行的,java一定比编译执行的C 要慢,不适合做桌面程序。但实际上,java程序在运行的时候,字节码只被解释执行一次,而后都是以机器码运行的。java程序运行的速度相当快,别告诉我你还在用java 1.4.2。另外java的可执行文件是JAR格式而不是class。JAR是可以双击执行的。
现在java程序的运行速度跟.net平台相比,在性能上差的仅仅是与系统集成度那么一点。如果linux内建java虚拟机,这最后一点差距也可以弥补。同时以java开发linux桌面程序,也可以解决linux程序依赖性众多移植难度大的问题。
.net平台上最重要的应用是ASP.net,于此相对应的是java平台的JSF(JSP的升级版)JSF同样支持可视化网络编程。由于Sun公司的宣传力度的问题,JSF的知名度不及ASP.net,但JSF在功能上毫不逊色与ASP.net。JSF与ASP.net的差别,正如JSP与ASP的差别一样,JSF比ASP.net要难一点,但功能和可定制程度更强。
来自: http://java.ccidnet.com/art/12011/20090316/1709933_1.html
分享到:
相关推荐
在这个特定的问题"Java调用Linux CentOS系统安装的OpenOffice4报错"中,开发者可能在尝试使用Java来自动化处理文档,如转换Office格式,而OpenOffice4提供了一个开源的解决方案,可以将Microsoft Office文档转换为...
这个库是跨平台的,支持包括Windows、Linux、Mac OS X等在内的多种操作系统。RXTXcomm.jar包含了必要的Java类和本地库,以便在Java程序中调用串口和并口操作。 **串口通信基础** 串口通信是一种简单但实用的数据...
1. 下载:由于从Oracle官网下载Java SE 14可能需要注册和登录,用户可以访问Oracle官方网站,找到Java SE页面,选择适合Linux系统的下载选项,通常会提供.tar.gz格式的文件,这就是我们的"jdk-14-linux"。...
在实际开发中,你可能需要以下步骤来使用Linux Java RXTXcomm: 1. **安装RXTX库**:首先,你需要在Linux系统上安装RXTX的库文件,并确保它们与Java运行时环境正确链接。 2. **导入库到项目**:在Java项目中,导入...
1. **aapt**: Android Asset Packaging Tool,虽然HarmonyOS与Android有区别,但早期版本的HarmonyOS开发可能借鉴了部分Android工具。aapt用于处理应用的资源文件,如图片、字符串和布局。 2. **apksigner**: 签名...
在Linux操作系统中安装TinyOS 2.0是一个相对复杂的过程,因为这个开源操作系统主要用于...记住,安装过程可能会因系统版本和依赖包的不同而略有变化,所以遇到问题时,查找更新的安装指南或在线寻求帮助是很有帮助的。
`RunScript.java`和`StreamGobbler.java`这两个文件可能就是用来实现这个功能的。 `RunScript.java`很可能是主类,它包含了一个方法来判断当前运行的操作系统,并根据系统类型来执行相应的脚本。在Windows中,...
在这个类中,可能会有逻辑判断来确定当前操作系统类型(Linux或Windows),然后调用相应的备份方法。 2. **DatabaseManager.java** - 这个类可能封装了与MySQL数据库交互的所有功能,例如建立连接、执行SQL语句(如...
2. **速度**:某些情况下,调用OS命令可能比Java的File API更快,因为这是直接由操作系统处理的。 然而,这种方式也存在一些缺点: 1. **安全性**:调用OS命令可能会引入安全风险,如果命令被恶意篡改,可能会导致...
在Linux和OS20这样的操作系统上移植Java VM,是为了确保Java应用能在这些平台上无缝运行。 Java VM在Linux上的移植涉及到多个层次的理解和技术挑战。首先,JVM需要理解和模拟目标操作系统的底层机制,包括内存管理...
在Linux环境下,Java程序可以通过Runtime类或者ProcessBuilder类来调用外部的可执行程序。这个过程通常涉及以下几个关键步骤: ...正确理解这些步骤有助于在Java程序中有效地集成和控制外部程序的执行。
项目的核心特点是实现了跨平台的兼容性,包括Mac OS、Windows和Linux操作系统。这意味着无论用户使用哪种主流的桌面操作系统,都能无缝地运行和利用此OCR功能。值得注意的是,这个实现是纯Java代码编写的,这确保了...
在IT领域,掌握Java、Linux命令、操作系统原理、网络知识、数据结构以及数据库技术是非常重要的。这些技术构成了软件开发和系统运维的基础,并且在面试中经常被考察。下面将对这些知识点进行详细的阐述。 首先,...
在压缩包子文件"sigar-Linux 32位"中,可能包含的不仅仅这两个库文件,还可能有相关的头文件(.h)、文档、示例代码、配置脚本和其他支持文件。这些文件通常用于帮助开发者在32位Linux系统上构建和使用Sigar库,进行...
10. **跨平台性**: 由于Java的跨平台特性,JavaCV可以在多种操作系统上运行,包括Windows、Linux、Mac OS X等,只需确保系统安装了对应的依赖库。 综上所述,JavaCV是一个强大的工具,它简化了Java开发者与多个...
Java平台是一个全面的软件环境,旨在为开发者提供一个跨平台的解决方案,这意味着Java程序可以在任何安装了Java运行环境(JRE)的计算机上运行,无论这台计算机运行的是Windows、Linux还是Mac OS等操作系统。...
4. **重新打包应用**:对于部署的Java应用程序,可能需要将库文件打包进JAR或WAR文件,然后使用工具(如FatJar或One-JAR)创建一个自包含的可执行文件,这样库文件会与应用程序一起分发。 5. **使用libjna**:除了...
另外,不同操作系统可能对串口有不同的管理方式,例如在Linux中可能需要以root权限运行程序才能访问某些串口。 总的来说,这个免费的Java串口通信包为开发者提供了一套跨平台的解决方案,帮助我们方便地在Windows和...
标签“Java restart OS”表明这是关于Java与操作系统交互的话题,这涵盖了操作系统接口、系统命令执行、权限管理等多个方面。在实际开发中,除了重启之外,可能还会遇到其他系统级别的需求,如监控系统状态、管理...
Java的"Write Once, Run Anywhere"(一次编写,到处运行)理念使其在各种操作系统上都能运行,包括Windows、Mac OS、Linux等。 源码是程序的原始文本形式,它包含了所有的编程指令,使得程序员能够查看并理解代码...