JAVA是什么意思,有什么用?

Java简介

Java是SunMicrosystems于1995年5月推出的Java编程语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Javaapplet)展示了Java的魅力:跨平台、动态Web、互联网计算。此后,Java被广泛接受并推动了Web的快速发展,现在常用的浏览器都支持Javaapplet。另一方面,Java技术也在不断更新。

Java平台由Java虚拟机和Java应用编程接口(API)组成。Java应用程序编程接口为Java应用程序提供了一个独立于操作系统的标准接口,可分为基础部分和扩展部分。在硬件或操作系统平台上安装Java平台后,Java应用程序就可以运行了。现在Java平台已经嵌入了几乎所有的操作系统。这样,Java程序可以一次编译,在各种系统中运行。Java应用编程接口从1.1x版本发展到1.2版本。目前常用的Java平台是基于Java1.4,最新版本是Java1.7。

Java分为三个系统:java SE (java平台标准版)、Java EE (Java平台企业版)、Java ME (Java平台微版)。

2009年4月20日,甲骨文(甲骨文)宣布收购孙。

Sun公司的JamesGosling在1991。BillJoe等人开发了一款Oak(一棵橡树的名字)软件,用于电视、烤面包机等家用电器的交互操作。他是Java的前身。那时候橡木还没有引起人们的注意。直到1994年,随着互联网和3W的飞速发展,他们用Java编写了HotJava浏览器,得到了Sun公司CEO ScottMcNealy的支持,并得到开发和研制。出于推广和法律原因,Oak于1995更名为Java。有一集《Java之名》。一天,在喝咖啡的时候,Java团队的成员在讨论给新语言取什么名字。有人建议使用Java(Java是印度尼西亚盛产咖啡的一个岛屿),得到了其他成员的赞同,于是他们采用Java来命名新语言。Java很快得到了业界的认可,很多大公司,比如IBM微软。DEC,购买了Java的使用权,被美国杂志PCMagazine评为1995年度十大杰出科技产品之一。从此开始了Java应用的新篇章。

Java一诞生,就挑战了传统的计算机模式,对计算机软件开发和软件业产生了深远的影响:

(1)软件4A的目标要求软件可以由任何人、任何地点、任何时间应用于任何电子设备。这可以满足软件平台上的互操作性、可扩展性和重要性、即插即用等分布式计算模式的要求。

(2)基于构建和开发方法的兴起,介绍了CORBA国际标准软件体系结构和多层应用体系结构框架。在此基础上,两派,Java.2平台和。NET平台,促进了整个IT行业的发展。

(3)对软件行业和工业企业影响深远,软件从开发型向服务型转变。中介提供商、组件提供商、服务器软件和咨询服务提供商出现。企业必须重塑自我。B2B电子商务将驱动整个新经济市场,使企业获得新价值、新增长、新商机和新管理。

(4)给软件开发带来了新的革命,重视使用第三方组件集成,利用平台的基础设施服务实现开发各阶段的重要技术,重视开发团队的组织和文化理念。协作、创造、责任、诚信是人才的基本素质。

总之,目前我们已经看到了Java对信息时代的重要性,未来还会继续发展,Java在应用上的前景会更加广阔。

[编辑本段]JAVA- name origin

Java诞生于1995,至今已有14年的历史。爪哇的名字来源:爪哇是印度尼西亚爪哇岛的英文名,以盛产咖啡而闻名。Java语言中的很多库类名大多和咖啡有关,比如JavaBeans(咖啡豆)、NetBeans(网络豆)、ObjectBeans。SUN和JAVA的logo也是一杯热气腾腾的咖啡。

据JamesGosling回忆,最初为电视机顶盒设计的语言,一直被称为Sun内部的绿色工程。我们的新语言需要一个名字。高斯林注意到他办公室外面有一棵茂密的橡树,这是硅谷常见的树。所以他把这种新语言命名为Oak。但Oak是另一家注册公司的名字。这个名字不能再用了。

在命名大会上,提出了许多名字。最后根据大家的选择顺序,把十几个名字排成一张表,报给商标律师。首先是丝绸。虽然大家都很喜欢这个名字,但是詹姆斯戈斯林坚决反对。第二第三名没有人过律师关。只有第四个名字,已经被大家认可,被律师传的,是Java。

10多年来,Java和Java咖啡一样,成为企业应用平台的霸主。而Java语言就像咖啡一样醇厚动人。

[编辑本段]Java语言的特性

Java是一种简单的、面向对象的、分布式的、解释性的、健壮的、安全的、结构中立的、可移植的、性能优异的多线程动态语言。

当孙在1995介绍Java语言时,全世界的目光都被这种神奇的语言所吸引。那么Java的神奇之处在哪里呢?

其实Java语言最早诞生于1991年。最初叫OAK language,是SUN公司为一些消费类电子产品设计的通用环境。他们最初的目的只是开发一种平台无关的软件技术,而在网络出现之前,OAK默默无闻,甚至差点死掉。然而,网络的出现改变了橡树的命运。

在Java出现之前,互联网上的信息内容都是枯燥刻板的HTML文档。这对于痴迷于网页浏览的人来说,简直是无法忍受的。他们渴望在WEB上看到一些交互内容,开发者也渴望创建一种可以不考虑软硬件平台而执行的应用程序。当然,这些程序必须有很强的安全性。传统的编程语言无力满足用户的这一要求。SUN的工程师们敏锐地意识到了这一点。从1994开始,他们开始将OAK技术应用到WEB上,开发了HotJava的第一个版本。当SUN公司在1995以Java的名义正式上线时,几乎所有的WEB开发者都感叹:哦,这正是我想要的!于是Java变成了耀眼的明星,丑小鸭突然变成了白天鹅。

[编辑本段]Java的主要特性

1,Java语言简单。Java语言的语法非常接近C语言和C++语言的语法,这使得大多数程序员很容易学习和使用Java。另一方面,Java抛弃了那些C++中很少使用的、难以理解和混淆的特性,比如运算符重载、多重继承和自动强制类型转换。特别是Java语言不使用指针,提供自动垃圾回收,程序员不用担心内存管理。

2.Java语言是面向对象的。Java语言提供了类、接口和继承等原语。为了简单起见,只支持类之间的单一继承,支持接口之间的多重继承,支持类和接口之间的实现机制(关键字是implements)。Java语言完全支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一种纯面向对象的编程语言。

3.Java语言是分布式的。Java语言支持互联网应用程序的开发。基础Java应用编程接口中有一个网络应用编程接口(java.net),提供了网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

4.Java语言是健壮的。Java的强类型机制、异常处理和垃圾自动收集是Java程序健壮性的重要保证。丢弃指针对Java来说是明智的选择。Java的安全检查机制使得Java更加健壮。

5.Java语言是安全的。Java通常用于网络环境。为此,Java提供了一种安全机制来防止恶意代码攻击。除了Java语言的很多安全特性之外,Java对通过网络下载的类有一个安全防护机制(ClassLoader),比如分配不同的命名空间防止用相同的名字替换本地类,检查字节码,为Java应用提供一个安全管理机制(Class SecurityManager)来设置安全防护。

6.Java语言是架构中立的。Java程序(带有Java后缀的文件)在Java平台上被编译成与架构无关的字节码格式(带有class后缀的文件),然后可以在任何实现这个Java平台的系统上运行。这种方法适用于异构网络环境和软件分发。

7.Java语言是可移植的。这种可移植性来自于架构的中立性。此外,Java还严格规定了每个基本数据类型的长度。Java系统本身也是高度可移植的。Java编译器用Java实现,Java的运行环境用ANSIC实现。

8.Java语言是解释性的。如上所述,Java程序在Java平台上被编译成字节码格式,然后可以在任何实现这个Java平台的系统上运行。在运行时,Java平台中的Java解释器解释并执行这些字节码,执行过程中需要的类在join阶段加载到运行时环境中。

9.Java是高性能的。与那些解释型高级脚本语言相比,Java确实是高性能的。事实上,随着JIT(Just-In-Time)编译技术的发展,Java的运行速度越来越接近C++。

10,Java语言是多线程的。在Java语言中,线程是一个特殊的对象,它必须由Thread类或其子类创建。创建线程通常有两种方式:一种是通过使用Thread(Runnable)类型的构造函数将带有Runnable接口的对象包装成线程;另一种是从thread类派生一个子类,重写run方法,用这个子类创建的对象就是一个线程。值得注意的是,Thread类实现了Runnable接口,所以任何线程都有它的run方法,run方法包含了线程想要运行的代码。线程的活动由一组方法控制。Java语言支持多线程的同时执行,并提供了多线程之间的同步机制(关键字是synchronized)。

11,Java语言是动态的。Java语言的设计目标之一是适应动态环境。Java程序需要的类可以动态加载到运行环境中,也可以通过网络加载。这也有利于软件升级。此外,Java中的类有一个运行时表示,可以检查运行时的类型。

Java语言的优秀特性使得Java应用程序极其健壮可靠,这也降低了应用系统的维护成本。Java对对象技术的全面支持和Java平台中的嵌入式API可以缩短应用系统的开发时间,降低成本。Java可以编译一次,然后在任何地方运行,这使它能够提供一个可以在任何地方使用的开放结构,以及在多个平台之间传输信息的低成本方式。特别是JavaEnterpriseAPIs为企业计算和电子商务应用系统提供了相关技术和丰富的类库。

[编辑本段]Java相关技术

1和JDBC(JavaDatabaseConnectivity)提供了连接各种关系数据库的统一接口,可以为各种关系数据库提供统一的访问。它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发者提供了标准的API,这样可以构建更高级的工具和接口,数据库开发者可以用纯JavaAPI编写数据库应用。同时,JDBC也是一个品牌名称。

2.EJB(EnterpriseJavaBeans)使得开发者可以方便地创建、部署和管理跨平台的基于组件的企业应用。

3.Java RMI (Java远程方法定位)用于开发分布式Java应用程序。远程Java虚拟机可以调用Java对象的方法。这样,远程方法激活可以发生在对等体的两端,或者发生在客户机和服务器之间,只要这两个应用程序都是用Java编写的。

4.Java IDL (Java接口定义语言)提供了与CORBA(公共对象请求代理架构)的无缝互操作性。这使得Java能够集成异构的业务信息资源。

5.JNDI(JavaNamingandDirectoryinterface)提供了从Java平台到。该接口屏蔽了企业网络使用的各种命名和目录服务。

6.JMAPI(JavaManagementAPI)为异构网络上的系统开发、网络和服务管理提供了一套丰富的对象和方法。

7.JMS(JavaMessageService)提供企业消息服务,比如可靠的消息队列、发布和订阅通信,以及推/拉技术的各个方面。

8.JTS(JavatransactionService)提供了访问交易资源的开放标准,包括交易应用、交易管理和监控。

在Java技术中,JavaBeans也值得关注。它是一种开放的标准组件架构,独立于平台,但使用Java语言。JavaBean是一个符合JavaBeans规范的Java类,通常定义现实世界中的事物或概念。JavaBean的主要特性包括属性、方法和事件。通常,在支持JavaBeans规范的开发环境中(如SunJavaStudio和IBMVisualAgeforJava),可以对JavaBeans进行可视化操作,或者使用JavaBeans构造新的JavaBeans。JavaBean的优势还在于Java带来的可移植性。现在,EJB(EnterpriseJavaBeans)将JavaBeans的概念扩展到Java服务器组件架构,支持多层分布式对象应用。除了JavaBeans之外,典型的组件架构还包括DCOM和CORBA,对这些组件架构的深入讨论超出了本书的范围。

Java-参见

计算机科学课程列表

JNI(JavaNativeInterface)Java本地接口。

[编辑本段]Java开源项目

SpringFrameworkJava开源J2EE框架

Spring是一个强大的框架,它解决了J2EE开发中的许多常见问题。Spring提供了一种一致的方式来管理业务对象,并鼓励注入编程接口而不是类的好习惯。Spring的架构基础是基于使用JavaBean属性的InversionofControl容器。然而,这只是全貌的一部分:Spring在使用IoC容器作为一个完整的解决方案方面是独一无二的,这个解决方案在构建之后关注所有的架构层。Spring提供了一个独特的数据访问抽象,包括一个简单高效的JDBC框架,大大提高了效率,减少了可能的错误。Spring的数据访问架构还集成了Hibernate和其他O/Rmapping解决方案。Spring还提供了一个独特的事务管理抽象,它可以在各种底层事务管理技术中提供一致的编程模型,比如JTA或JDBC事务。Spring提供了一个用标准Java语言编写的AOP框架,它为POJOs提供了声明式事务管理和其他企业事务——如果需要,还可以实现自己的方面。这个框架足够强大,应用程序可以摆脱EJB的复杂性,享受与传统EJB相关的关键服务。Spring还提供了一个强大而灵活的MVCWeb框架,可以与IoC容器集成。Spring IDE:辅助开发插件SpringIDE:Eclipse平台。

WebWorkJava开源Web框架

WebWork是一个具有拉出式MVC模式的J2EEWeb框架,由OpenSymphony组织开发,致力于组件化和代码重用。WebWork的最新版本是2.1。现在的WebWork2.x是RickardOberg开发的,但是现在的WebWork已经拆分为两个项目:Xwork1和WebWork2。Xwork简单、灵活且功能强大。它是一个标准的命令模式实现,并且与web层完全分离。Xwork提供了很多核心功能:前端拦截器、运行时表单属性验证、类型转换、强大的表达式语言(OGNL _ TheObjectGraphNotation语言)、IoC(InversionofControl)容器等等。WebWork2构建于Xwork之上,后者处理HTTP响应和请求。WebWork2使用ServletDispatcher将HTTP请求映射为Action(业务层操作类)、session(应用程序)和request请求参数。WebWork2支持多视图表示,视图部分可以使用JSP、Velocity、Freemarker、JasperReports、XML等。基于DWR和Dojo的WebWork2.2增加了AJAX支持。EclipseWork:用于网络辅助开发的Eclipse插件。

StrutsJava开源Web框架

Struts是基于SunJ2EE平台的MVC框架,主要通过Servlet和JSP技术实现。Struts在过去的一年中备受关注,因为它可以完全满足应用开发的需求,简单易用,敏捷快速。Struts将Servlet、JSP、自定义标签和messageresources集成到一个统一的框架中,开发人员在开发时不需要自己编码实现全套MVC模式,大大节省了时间,所以Struts是一个非常好的应用框架。Struts side:用于Struts辅助开发的Eclipse插件

HibernateJava开源持久层框架

Hibernate是一个开源的对象关系映射框架,它以一种非常轻量级的方式封装了JDBC,这样Java程序员就可以用对象编程的思维随意操纵数据库。Hibernate可以在任何使用JDBC的情况下使用,不仅是在Java客户端程序中,也可以在Servlet/JSP Web应用程序中使用。最具革命性的是,在应用EJB的J2EE架构中,Hibernate可以代替CMP,完成数据持久化的任务。Eclipse平台下的Hibernate辅助开发工具:Hibernatesynchronizerdlegenide

QuartzJava开源作业调度

Quartz是OpenSymphony开源组织在Jobscheling领域的另一个开源项目。它可以与J2EE和J2SE应用程序结合使用,也可以单独使用。Quartz可用于创建简单或复杂的每日计划,以运行十个、数百个甚至数万个任务。作业可以做成标准的Java组件或EJB。石英的最新版本是Quartz1.5.0。

VelocityJava开源模板引擎

Velocity是一个基于java的模板引擎。它允许任何人简单地使用templatelanguage来引用java代码定义的对象。当Velocity应用于web开发时,界面设计人员和java开发人员可以同时开发一个遵循MVC架构的网站,即页面设计人员可以只关注页面的显示效果,而java开发人员则关注业务逻辑编码。Velocity将java代码从网页中分离出来,方便了网站的长期维护,为我们提供了JSP和PHP之外的替代解决方案。Velocity的能力远远超出了网站开发领域。例如,它可以从模板生成SQL、PostScript和XML,也可以作为独立的工具生成源代码和报表,或者作为其他系统的集成组件。Velocity还可以为Turbineweb开发架构提供templateservice。Velocity+Turbine提供了一个模板服务,允许使用真正的MVC模型开发web应用程序。VeloEclipse:Velocity是Eclipse平台下的辅助开发插件。

IBATISJava开源持久层框架

利用ibatis提供的ORM机制,业务逻辑实现者面对的是纯Java对象,基本上和通过Hibernate实现ORM是一样的。对于具体的数据操作,Hibernate会自动生成SQL语句,而ibatis则需要开发者编写具体的SQL语句。相比Hibernate等“全自动”的ORM机制,ibatis通过在SQL开发工作量和数据库可移植性上做出让步,为系统设计提供了更大的自由空间。作为实现“全自动”ORM的有益补充,ibatis的出现具有特殊的意义。

CompiereERP & ampCRMJava开源ERP和CRM系统

CompiereERP & ampCRM为全球中小企业提供全面的解决方案,涵盖从客户管理到供应链到财务管理的所有领域,支持多组织、多币种、多会计模式、多成本计算、多语言、多税制等国际化特征。易于安装、实施和使用。只需几个小时,您就可以使用采购-采购-发票-付款、报价-订单-发票-收款、产品和定价、资产管理、客户关系、供应商关系、员工关系、经营业绩分析等强大功能。

RollerWeBloggerJava开源博客博客

这篇博客设计精美,源代码是很好的学习资料。它支持weblogging的功能,如评论功能,所见即所得HTML编辑,TrackBack,提供页面模板,RSSsyndication,博客管理和提供一个XML-RPC接口。

EclipseJava开源开发工具

Eclipse platform是IBM捐赠给开源社区的一个开发框架。它出名并不是因为IBM声称它总共投入了4000万美元进行开发,而是因为如此巨大投入的结果:一个成熟的、设计良好的、可扩展的架构。

NetBeansJava开源开发工具

NetBeansIDE是一个面向软件开发人员的免费开源集成开发环境。您可以获得使用Java、C/C++甚至Ruby创建专业桌面应用程序、企业应用程序、web和移动应用程序所需的所有工具。这个IDE可以运行在很多平台上,包括Windows、Linux、MacOSX和Solaris。安装简单,使用非常方便。

XPlannerJava开源项目管理

XPlanner是一个基于web的XP团队规划和跟踪工具。XP有迭代、用户故事等独特的开发理念,XPlanner提供了相应的管理工具。XPlanner支持XP开发过程,解决用XP思想开发项目遇到的问题。XPlanner的特点是简单的模型规划,虚拟Virtualnotecards),迭代,用户故事和工作记录跟踪,未完成的故事会自动迭代,工作时间会被跟踪,团队效率会产生,个人工作时间报告会产生,并提供SOAP接口支持。

开源DBMS数据库

HSQLDB(HypersonicSQL)是纯Java开发的关系数据库。