用java可以干什么用?请说清楚一点好吗?谢谢了
发布网友
发布时间:2022-04-22 02:03
我来回答
共3个回答
热心网友
时间:2022-04-30 18:24
Java可以开发大多数种类的软件,只不过因为种种原因,Java桌面程序没有普及(原因很多,在这里很难说完),但是Java的一大优势就是跨平台性,编写一次,几乎不用太多的修改,就可以运行在不同的操作系统平台上,Java主要有3个领域 J2SE(标准版本)J2ME(主要是嵌入式开发) J2EE(主要是企业开发)
一. Java的由来
当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。那么Java到底有何神奇之处呢?
Java语言其实最是诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。但是,网络的出现改变了OAK的命运。
在Java出现以前。Internet上的信息内容都是一些乏味死板的HTML文档。这对于那些迷恋于WEB浏览的人们来说简直不可容忍。他们迫切希望能在WEN中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得*为力,面SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都想到:噢,这正是我想要的。于是Java成了一颗耀眼的明星,丑小鸭一下了变成了白天鹅。
二. Java的定义
Java是一种简单的,面象对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。
Java的开发环境有不同的版本,如sun公司的Java Developers Kit, 简称 JDK。后来微软公司推出了支持Java规范的Microsoft Visual J++ Java开发环境,简称 VJ++。
三. Java的特点
1. 平台无关性
平台无关性是指Java能运行于不同的平台。Java引进虚拟机 原理,并运行于虚拟机,实现不同平台的Java接口之间。使 用Java编写的程序能在世界范围内共享。Java的数据类型与 机器无关,Java虚拟机(Java Virtual Machine)是建立在 硬件和操作系统之上,实现Java二进制代码的解释执行功能, 提供于不同平台的接口的。
2. 安全性
Java的编程类似C++,学习过C++的读者将很快掌握Java的精 髓。Java舍弃了C++的指针对存储器地址的直接操作,程序 运行时,内存由操作系统分配,这样可以避免病毒通过指 针侵入系统。Java对程序提供了安全管理器,防止程序的 非法访问。
3. 面向对象
Java 吸取了C++面向对象的概念,将数据封装于类中,利用类 的优点,实现了程序的简洁性和便于维护性。类的封装性、 继承性等有关对象的特性,使程序代码只需一次编译,然后 通过上述特性反复利用。程序员只需把主要精力用在类和接 口的设计和应用上。Java 提供了众多的一般对象的类,通 过继承即可使用父类的方法。在 Java 中,类的继承关系是单一的非多重的,一个子类 只有一个父类,子类的父类又有一个父类。Java 提供的 Object 类及其子类的继承关系如同一棵倒立的树形,根类 为 Object 类, Object 类功能强大,经常会使用到它及其 它派生的子类。
4. 分布式
Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。
5. 键壮性
Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自已操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发Java应用程序的周期。Java提供: Null指针检测、 数组边界检测、 异常出口、 Byte code校验。
四. Java与C/C++语言
Java提供了一个功能强大语言的所有功能,但几乎没有一点含混特征。C++安全性不好,但C和C++被大家接受,所以Java设计成C++形式,让大家很容易学习。
Java去掉了C++语言的许多功能,让Java的语言功能很精炼,并增加了一些很有用的功能,如自动收集碎片。
Java去掉了以下几个C和C++功能:
指针运算
结构
typedefs
#define
需要释放内存
这将减少了平常出错的50%。而且,Java很小,整个解释器只需215K的RAM。
面象对象:Java实现了C++的基本面象对象技术并有一些增强,(为了语言简单,删除了一些功能)。Java处理数据方式和用对象接口处理对象数据方式一样。
五. Java与Internet
我们知道,早先的 www 仅可以传送文本和图片,Java的出现实现了互动的页面,是一次伟大的*。
Java并不是为 Internet,WWW而设计的,它也可以用来编写独立的应用程序。Java 是一种面向对象语言。Java 语言类似于 C++ 语言,所以已熟练掌握 C++语言的编程人员,再学习 Java 语言就容易得多!Java 程序需要编译。实际上有两种 Java 程序:一种 Java 应用程序是一个完整的程序,如 Web 浏览器。一种 Java 小应用程序是运行于 Web 浏览器中的一个程序.
Java程序和它的浏览器HotJava,提供了可让你的浏览器运行程序的方法。你能从你的浏览器里直接播放声音。你还能播放页面里的动画。Java还能告诉你的浏览器怎样处理新的类型文件。当我们能在2400 baud线上传输视频图象时,HotJava将能显示这些视频。
当今Internet的一大发展趋势是电子商务,而Internet的安全问题是必须解决的问题,通常大的部门应设置防火墙,阻止非法侵入。
电子商务是当今的热门话题,然而传统的编程语言难以胜任电子商务系统,电子商务要求程序代码具有基本的要求:安全、可靠、同时要求能 与运行于不同平台的机器的全世界客户开展业务。Java以其强安全性、平台无关性、硬件结构无关性、语言简洁同时面向对象,在网络编程语言中占据无可比拟的优势,成为实现电子商务系统的首选语言。
Java程序被放置在Internet服务器上,当用户访问服务器时,Java程序被下载到本地的用户机上,由浏览器解释运行。
Java:Java是进行网络编程.(特别是分布式网络开发)的首选语言.Java的特点是一次编写,到处运行,就是说它的语言代码可以方便地在多操作及平台运行(当然目前还不是说的那么简单,只能等未来了)。J2EE(Java 2 Enterprise Edition)是目前最为成熟的企业级应用开发平台。是开发基于Internet/Intranet的分布式应用的首选平台。J2EE(Java 2 Macro Edition)是目前嵌入式及移动开发的首选平台(有人说,十年之后Java将从PC上消失,只留下J2ME)。如果你要做目前最火的手机软件开发的话,选择J2ME吧!
热心网友
时间:2022-04-30 19:42
传统情况下,通过网络发布软件需要用户在Web上查找和下载,然后在系统中存放并执行安装程序。执行安装程序后,将提示指定安装路径和安装选项,例如完全、典型或最小安装。这通常是一个耗时、复杂的任务,而且在安装软件的每个新版本时都必须重复进行此任务。
Java Web Start(JWS)是Sun公司推出的新的一种基于Java技术的应用程序发布技术。它是连接计算机和 Internet 的便捷通道,并且允许用户在完全脱离Web 的情况下运行和管理应用程序。JWS提供一次点击就激活应用程序的简易方法,并保证总是运行最新的版本,从而可消除复杂的安装或升级过程。JWS技术是一种面向Web的应用程序部署解决方案,使用JWS技术的好处如下:
1. 高效交互的用户界面,可与传统应用程序(如文字处理和电子表格软件)相媲美;
2. 较低的带宽需求,应用程序无须在每次单击时都与Web服务器进行连接,它可以缓存已经下载的信息,在低速连接上实现更好的交互;
3. JWS将下载的所有文件缓存在本地计算机上,支持脱机使用;
4. 在每次启动时,JWS将检查Web服务器是否有应用程序的更新版本,如果有将自动下载和启动。这样,应用程序将自动更新,没有复杂的升级过程。
JWS的实现
为了实现JWS软件发布、自动更新功能,需要在服务器端和客户端进行一些配置。其中客户端配置相对比较简单,只需要安装JWS客户端软件即可。该软件可以从http://java.sun.com/procts/javawebstart下载安装。如果本机安装了JDK1.4,因其内部已经内置JWS,就不必另外下载了。
客户端正确安装JWS以后,就将基于Java网络加载协议(JNLP)从浏览器或者桌面加载应用程序。如果服务器端有更新版本的应用出现时, 客户端将自动下载最新的版本,并在本机缓存应用程序需要的类,以加速启动速度。无论是Application 还是Applet,应用程序都以安全的方式使用诸如文件系统这样的本机资源。
服务器端的配置相对复杂一些,它有几个关键点需要注意:
1.为了使Java程序(Application 或Applet)的Jar文件能被JWS执行,必须为Java程序创建一个网络语言协议(Java Networking Language Protocol,JNLP)文件。JNLP是一个为Java程序提供基本元素和描述的XML文件,它的后缀名为.jnlp。通过JNLP文件,Web服务器可以找到要发布的Jar文件和其在Web服务器上的存放位置,以及发布文件的一些说明。所以,正确编写JNLP是JWS配置的关键所在。JNLP语法比较简单,可以参考JWS说明文档。
2.因为Java程序需要从网上传输、下载和运行,所以分离的Class文件是很难保证传输的完整性,这样必须将Java应用程序或Applet打包,生成Jar文件,并放在Web服务器的相应目录下。
3.修改Web服务器配置,增加Web服务器的关联类型,使Web服务器能够识别和运行.jnlp文件。以Tomcat为例,找到TomcatHOME/conf下的web.xml文件,在其中添加application/x-java-jnlp-file ,Tomcat就可以支持JNLP文件了。
使用JBuiler6快速实现JWS
尽管JWS的应用有许多优点,但初学者刚刚接触时还是有一种无从下手的感觉。这时,可以使用JBuider 6的JWS相关功能,实现Java程序打包和自动生成.jnlp文件,然后对该文件进行修改,再安装在Web服务器上。以下为建立Login JWS的操作步骤:
1.在JBuilder 6下建立名字为Logconsole的项目,在该项目中加入一个名为Log的Applet,编译并运行,以保证logconsole.Log.class工作正常,这一步与编写普通Java程序完全一样,在此不再做进一步介绍。
2.使用Archive Builder工具将Class文件打包,步骤如下:
(1)在Jbuilder6工具栏中选择Wizard|Archive Builder,弹出“Archive Builder”5个步骤中的第一步—选择文档类型,按缺省设置选择“Basic”,点击“Next”。
(2)选择要建立的文档名及文件名。文档名设为Logconsole,文件名按缺省值即可。
(3)在文档中加入所需的Class文件以及相关的类和资源文件。点击“Add classes”键,选择刚才生成的logconsole.Log.class,该Class文件名就会出现在“Required classes,packeges,resources:”文本框中,点击“Next”。
(4)选择类库的关联性,这是最容易出错的地方。一般在项目设置中,我们可能增加了许多类库,像图中的mysql驱动程序。因为本程序并不需要这些类库,所以一定要把它们设置为“不包括”,否则,最终生成的Jar文件会非常大。
5)生成Jar文件的最后一步是设置清单(manifest)选项,注意一定要选上“建立一个清单”和“在文档中包含清单”这两项。点击“Finish”键,Jar文件的配置文件就生成了,然后点击“Project|Rebuilder Project”工具项,就可以最终生成Jar文件了。
3.使用JBuilder 6生成JNLP文件。
(1)在JBuilder6“File|new|Web”页面上选择“Web Start Launcher”,“Name”栏中输入“log”,“JAR file”中选择我们刚才生成的logconsole.jar,“Main class”中指定jar文件中的主类(程序入口),在本例子中只有一个类,就选择logconsole.Log,点击“Next”,进入下一步。
(2)主要是输入一些信息,它将会在客户平台启动JWS时显示出来。点击“Finish”,JBuilder 6就会自动生成log.jnlp文件了。
笔者使用Java语言设计了一套网关型宽带网计费软件,分为服务器端和客户登录程序。服务器端的功能是根据应用客户登录程序发送过来的用户名、密码及客户端IP地址,来实现身份认证。如果认证成功,服务器开放客户端的IP地址,开始计费。在设计时,如何将登录程序既能安装在校园网近3000余台的电脑上,同时又能很方便地升级登录程序让笔者颇费脑筋。最终选用JWS技术顺利解决了此问题,并且取得了非常好的效果。具体步骤如下:
1. 在Login网页上提示用户下载并安装JWS 客户端软件。
2. 使用Java编写客户端登录程序(Applet),将所有.class文件打包并生成.jar文件。
3. 采用Tomcat作为Web服务器,在%TomcatHOME%/conf下的web.xml文件中添加 “ application/x-java-jnlp-file ”一行,使Tomcat支持JNLP文件。在%TomcatHOME%/webapps/proxy/WEB-INF/下的webapp.properties 文件中设置welcomefiles=log.jnlp,确保.jnlp文件作为缺省主页。
4.使用JBuiler6生成log.jnlp文件,将该文件安装在Tomcat的相应目录下,整个工作就完成了。log.jnlp内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://172.16.252.252:8086/proxy/" href="log.jnlp">
<information>
<title>log</title>
<vendor>NIT NetCenter</vendor>
<homepage href="login.html" />
<offline-allowed />
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.3+" />
<jar href="../proxy/logconsole.jar" />
</resources>
<applet-desc main-class="proxy.LogConsole" name="aaa" width="400" height="300" >
<param name="dataserverip" value="172.16.252.252"/>
<param name="dataport" value="6508"/>
</applet-desc>
</jnlp>
其中,.jnlp文件是JWS 配置中的关键。如果程序不能正常发布,绝大多数问题出在JNLP文件上。在本文实例log.jnlp中,最关键的语句用黑体标出,初学者可以在JBuilder 6的JNLP生成向导中有意调整几次,生成几个文件,并进行比较,就能够明白了。
参考资料:http://www.cn-java.com/www1/?action-viewnews-itemid-2063
热心网友
时间:2022-04-30 21:16
一种编程语言,除了与硬件直接打交道的程序,差不多都可以实现,就是侧重点不同