[转]再论Java未来之路
2006年我曾经写过一篇讨论Java未来的文章,在那篇文章中我讨论了开源、Java在消费电子设备中的使用,现在在所有类型的移动设备上Java的应用正在逐步上升。对Sun被收购一事,以及Java与Oracle产品集成我没什么好预测的,也没什么好的建议,我只担心Java的未来会走向何方?在这篇文章中我重新审视了Oracle收购Sun后Java的未来之路。
Java是什么?
如果要向一无所知的人解释Java是什么还是比较有难度的,是的,它是一门编程语言,但发展到今天,Java一词远程超出了语言的定义,具体来说,Java是一个包括虚拟机环境,与C语言类似,包括库和支持软件,允许它运行在各种操作系统、计算机、设备和域中的平台,包括以下技术:
用于桌面的Java SE
用于服务器和企业解决方案的Java EE
用于嵌入式和移动设备的Java ME
用于应用程序暂时需要的实时Java(Real-Time Java)
用于构建RIA应用程序的JavaFX,用于PC、移动设备和电视(机顶盒、蓝光播放机等)上的媒体应用
因此,如果有人说"我是一名Java开发人员",他们需要澄清究竟是Java的哪一个领域。我这里从平台的角度讨论Java的未来,包括Java SE,Java EE,Java ME,JavaFX,工具和语言。
Java的市场有多大?
按照Oracle的说法,Java是时下最流行的,无处不在的技术,2010年1月的统计数字如下:
9百万Java开发人员
8.4亿桌面安装了Java
100多种不同硬件平台支持上亿的Java桌面安装
a)每天2百万的下载量
财富100强公司全部使用了Java
55亿Java卡片
26亿拥有Java功能的手机
b)250家手机运营商合作伙伴
c)10多万Java ME应用程序
4千万电视和蓝光播放机
Java仍是目前最广泛使用的编程语言,比所有脚本语言加起来的总数还多,由于Java平台支持由不同脚本语言编写的应用程序运行,这些数字会是重叠的。例如,Java虚拟机(JVM)可以执行用Java、Rexx、Ruby、JavaScript、Python、PHP、Groovy、Clojure和Scala.编写的程序。在许多情况下,Sun的HotSpot JVM将会更好地运行这些应用程序,因为JIT(实时)编译器会重新优化编译过的代码。
Java仍然是大多数企业和Web应用程序开发首选的语言/平台,并继续保持增长,Java是免费提供给开发者使用的,许多大学的计算机系也选择Java作为编程语言课程,虽有这些光环笼罩,但这并不意味着我们不应该重新审视Java的未来发展方向,特别是Sun被收购后的这段时间。
Java SE
Oracle已经公布了Java的未来战略,目标是加强和继续扩大Java在新领域的应用,简化,优化,并将Java
相关文档:
引言
Java的堆是一个运行时数据区,类的实例(对象)从中分配空间。Java虚拟机(JVM)的堆中储存着正在运行的应用程序所建立的所有对象,这些对象通过new、newarray、anewarray和multianewarray等指令建立,但是它们不需要程序代码来显式地释放。一般来说,堆的是由垃圾回收 来负责的,尽管JVM规范并不要求特殊的垃圾回收 ......
在下面这个程序中String args[]起什么作用?我学过C++,String args[]与C++中的什么类似?如果是C++,想要输出字符串只要在下面写cout<<"...."<<endl;就可以了,void main()中的括号为空,而java中为什么要写String args[]呢?
class Example{
public static void main(String args[]){
System.out.printl ......
/*
*日期:2010-04-19 22:02
*开发者:heroyan
*联系方式:zndxysf@126.com
*功能:带有限期的作业排序,假设每个作业都可在单位时间内完成,完成后获得一定的效益,求效益的最大值和作业顺序
*/
import java.util.Scanner;
import java.util.Arrays;
import java.util.ArrayList;
public class JobSort{
private st ......
<%
URL url = new URL("http://www.itpub.net");
//建立URL对象,并实例化为url,获得要抓取的网页地址
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(),"GB2312"));
//建立BufferedReader对象,并实例化为reader,这里的GB2312是要抓取的网页编码格式
whi ......
import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
/**
* 文件列表。<br>
* 可以指定过滤条件。
*
* @author leo
*
*/
public class FileList {
/**
* @param args
*/
public static void main(String[] ......