What Java

原创 2004年09月11日 23:20:00

 

Java™是全新的计算机技术,它是建立在基于强大的网络和同样的软件应该在不同的计算机系统上运行的思想上的。这些计算机系统包括消费型器件和其他一些设备。利用Java技术,您能令人信服的让同一种应用在各种各样机器如:PC、Macintosh系统、计算机网络或者象Internet可视电话一样的新技术上运行。

Java可以既可以看做是一种真正的程序设计语言,也可以看作是一个完整的平台。作为一种程序语言,它简洁、面向对象、安全、健壮以及适用于Internet技术。而作为一个平台,它通过那些符合Sun公司发布的标准APIs 开发的应用,在操作系统、数据库、中间件和其他第三方厂商提供的服务。

你能用Java干什么?

Java能够做得比其他语言更灵活。下列是Java的一些典型的应用。

  • GUI应用和applets
  • 分布式组件(EJB,RMI,CORBA等)
  • 数据库以及数据库控制
  • Web服务器
  • 消费设备和内置设备的应用(移动电话,PDAs,smart卡,可携带摄像机)
  • 任何在计算机上你能想到的应用......

Java怎样工作?

Java应用程序能够被JVM(Java虚拟机)翻译,JVM位于操作系统之上。有不少厂商已经有JVMs,如Sun,IBM,HP,Applet等。

下面的图形显示Java在编译和运行时的步聚:

图一:Java的编译

图二:Java的运行

Java应用程序(.class文件)不需要重新编译在任何操作系统上运行。

下面是简单的Java程序:

public class HelloWorld
{
public static void main(String args[]) throws Exception
{
System.out.println("Hello World!");
}
}

各种各样的 Java产品和APIs

Java平台分成三个主要的类:

  • Standard Java
  • Enterprise Java
  • Java for sonsumer and embedded devices

下面是一些关健的技术/APIs在这三个方面的应用。

Standard Java

  • Java 2 SDK(J2SE)
  • Java 2 运行环境
  • Java插件
  • Java Web应用
  • Java热点服务和虚拟机
  • Java基本类(JFC)
  • 收集框架
  • Swing组件
  • 即插即用
  • 安全
  • Java IDL
  • JDBC
  • 远程方法调用(RMI)
  • Java 2D

Enterprise Java

  • Enterprise JavaBeans (EJB) 体系结构
  • JavaServer Pages?(JSP)
  • Java Servlet
  • Java 名称和目录接口 (JNDI)
  • Java IDL
  • JDBC
  • Java Message Service (JMS)
  • Java 事务 (JTA)
  • Java 事务服务(JTS)
  • JavaMail
  • RMI-IIOP
  • Software Development Kit & Application Model
  • Java 2 SDK, Enterprise Edition (J2EE)
  • Sun BluePrints Design Guidelines for J2EE

消费和移动设备

  • Java 2 Platform, Micro Edition (J2ME technology)
  • Connected Device Configuration (CDC)
  • Connected Limited Device Configuration (CLDC)
  • C Virtual Machine (CVM)
  • K Virtual Machine (KVM)
  • PersonalJava
  • Java Card
  • JavaPhone API
  • Java TV API
  • Jini 网络技术
  • 移动信息设备 (MIDP)?

Java的历史

自从1995年Java被介绍给公众,就引起了公众的注目。不久就有几百个有价值的报道事件:产品发布、Java技术的叙述。下面的表格大致的证明了许多关键的事件。

1995

  • Java 技术发行,开始的重点是applets

1996

  • Java Development Kit (JDK) v1.0 发布. 包含核心层的功能 (socket programming, file I/O, GUI等)

1997

  • JDK 1.1 发布. 引入几个增强的方面:Java GUI, JDBC数据控制, RMI 分布对象和其他一些。

1998

  • JDK 1.2 (称 Java 2) 发布
  • JFC/Swing ships ,那年JFC/Swing被下载了500,000多次

1999

  • Java 技术被分成J2SE, J2EE and J2ME
  • Java HotSpot performance engine unveiled
  • JavaServer Pages (JSP)技术公诸于众
  • J2EE platform ships
  • J2SE platform on Linux ships

2000

  • JDK v1.3 发布
  • Java APIs for XML ship
  • J2EE 授权给 ATG, BEA Systems, Gemstone, Silverstream和其他几个公司. 许多卖主已经接收了这个。
  • Java开发者成员上升到150万。

Java的成长

Java现在运行在桌面系统、服务器、数据库、smart卡、PDAs、smart电话、机顶盒等许多方面。

Java 成功的众多原因

  • 奇妙的程序设计语言
    • 没有类似与C/C++的内存问题
    • 面向对象
    • 高度动态,不像 C/C++/VB
    • 安全
    • 针对Internet程序设计
  • 平台无关:一次编译,到处运行
  • Java推出一个公共的途径以代替象Windows, MQ Series, Sybase DB Library等一样的私有技术。这对于每个人来说都是非常伟大的,不论你是开发者还是企业。

一些感兴趣的事实

  • 在JavaOne2000年会上,有超过25000人参加;有超过330个公司显示了他们基于Java的解决方案
  • 在世界上有超250万的Java程序。IDC估计到2003年将会超过400万
  • JDK V 1.1 已经有超过500万的下载
  • 有关Java平台的书籍已经超过2000本
  • 在世界上已经有超过1500个Java用户训话(JUGs)
  • Sun解决问题的网站已经超2800个,并且提供超过2100个的Java服务
  • 2千万的Java Smartcards已经在去年被销售
  • java.sun.com一个月这内就有110万的浏览者,他们在这个站点浏览了3600万个页面。
  • 80%的境外大学要求学习Java;其中50%是作为必修课

关键原因是Java让企业增加了市场判断能力

  • 在市场中存在大量的好的产品可供使用,让开发者以及开发者去执行他们的系统变化
  • 能够与各种各样的环境结合在一起(由于支持通讯、XML、CORBA等)
  • 端到端的分布式传输支持
  • 自从被推出以来,Java有著引人关注的成熟

Java以其相关技术

微软

  • Sun和微软之争对于开发者来说是无关紧要的,因为你可以简单的安装Java虚拟机在Windows 2000、NT4.2、或者9x上。
  • 对于浏览器端的Java,这些项目包括:
    • 基于HTML/JavaScript的Web应用和服务器端Java
    • 在IE 4.x 和IE 5.x中对于JDK1.1 90%以上的支持
    • Java 2以及更新版本的支持
    • Sun的Java插件
    • Sun的Java Web Start(在浏览器之外也能运行应用)
  • Java认为在其他Unix平台下比在Windows平台下运行得更好、更快。
  • 几个"桥 "在Java和微软技术之间可供使用

XML

  • Java和XML是高端的补充技术
  • Java提供代码布局,XML提供数据布局
  • Java有成熟的支持XML、XSL和其他相关技术
  • Java中包含有Sun、IBM和Apache的针对于XML的程序
  • JSP做为动态网而能够很易的使用XML

其他: WAP, SOAP, 蓝牙, CORBA 等.

  • Java能看作是一种程序设计语言或整个平台
  • 从程序设计语言的角度
    • Java可以符合几乎所以的协议写程序
    • 很多新出现的技术和产品支持Java接口
    • Java也能通过C/C++而扩展

 

玩转Android--组件篇---Handler的使用

原址:http://hualang.iteye.com/category/143855 public class  Handler extends Object   java.lang.O...
  • luckypeng
  • luckypeng
  • 2015年07月30日 19:38
  • 335

CVPR2013一些论文集合供下载(visual tracking相关)

CVPR2013一些论文集合供下载(visual tracking相关) zouxy09@qq.com http://blog.csdn.net/zouxy09          看到CVPR...
  • zouxy09
  • zouxy09
  • 2013年04月26日 21:18
  • 20579

mysql学习7备份和导出导入

携程网被黑,备份很重好 (1)数据库备份:直接拷贝data文件是不好的,因为mysql服务器可能在运行和操作数据库。备份还原还有:mysqlhotcopy工具。 ./bin/mysqldump -u...
  • hxchuan000
  • hxchuan000
  • 2015年07月03日 16:08
  • 697

Android aapt使用方法

D:>aapt -h  ERROR: Unknown command ‘-h’  Android Asset Packaging Tool Usage:  aapt l[ist] [-v]...
  • kaka735
  • kaka735
  • 2015年05月26日 10:15
  • 553

UVA, 10008 What's Cryptanalysis?(先按次数从大到小排列,后按照字典中的字母顺序)

Problem I : What's Cryptanalysis? From:UVA, 10008 Cryptanalysis is the process of breaki...
  • Hush_lei
  • Hush_lei
  • 2014年07月30日 23:56
  • 684

Spring的AOP原理

AOP是什么? 软件工程有一个基本原则叫做“关注点分离”(Concern Separation),通俗的理解就是不同的问题交给不同的部分去解决,每部分专注于解决自己的问题。这年头互联网也天天强调要专...
  • GarfieldEr007
  • GarfieldEr007
  • 2017年03月20日 23:25
  • 130

Spark PairRDD 行动与数据分区

package edu.berkeley.simple_project; import java.util.ArrayList; import java.util.Arrays; import ja...
  • henry860916
  • henry860916
  • 2016年02月03日 19:55
  • 748

简历中使用STAR法则

一.什么是STAR法则?The STAR (Situation, Task, Action, Result) format is a job interview technique used by i...
  • Jungle_hello
  • Jungle_hello
  • 2016年05月12日 17:54
  • 3772

学习技术的三部曲:WHAT、HOW、WHY

下面是我今天写的一个Blog,转贴给大伙儿,希望论坛里的牛人多提批评意见。 最近几天有些网友在邮件里面问我关于学习的问题。有很多人觉得工作了几年,也学会了不少的类库、框架、甚至语言,但是感觉自己的能力...
  • zhaoyw2008
  • zhaoyw2008
  • 2013年07月05日 01:54
  • 2437

你必须知道的25道JavaScript核心面试题

你应该知道的25道Javascript面试题 题目来自 25 Essential JavaScript Interview Questions。闲来无事,正好切一下。 一 ...
  • mjr99999
  • mjr99999
  • 2017年12月21日 00:50
  • 38
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:What Java
举报原因:
原因补充:

(最多只允许输入30个字)