仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 878|回复: 19
打印 上一主题 下一主题

[学习教程] JAVA网页编程之编写跨平台Java程序注重事项

[复制链接]
再现理想 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:55:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
恰恰证明了java的简单,要不怎么没有通过c/c++来搞个这种框架?程序利用Java言语编写使用程序最年夜的长处在于“一次编译,到处运转”,但是这并非说一切的Java程序都具有跨平台的特征,现实上,相称一部分的Java程序是不克不及在其余操纵体系上准确运转的,那末怎样才干编写一个真实的跨平台的Java程序呢?上面是在编写跨平台的Java程序是必要注重的一些事变:

1.编写Java跨平台使用程序时,你能够选择JDK1.0,1.1,1.2或撑持它们的GUI开辟工具如:Jbuilder,VisualAgeforJava等等,可是必需注重你的Java程序只能利用Java中心API包,假如要利用第三方的类库包,则该类库包也要由Java中心包开辟完成,不然在公布你的程序的时分还得将撑持该Java类库包的JVM公布进来。也就是说,你的程序必要是100%纯Java的。举一个例子,VisualJ++就不是纯Java的,由VisualJ++编写的程序也就不具有平台有关性。

2.不管你利用的是JDK或其他开辟工具,在编译时都要翻开一切的告诫选项,如许编译器能够尽量多的发明平台相干的语句,并给出告诫。固然不克不及包管没有编译时告诫毛病的程序必定是跨平台的,但含有告诫毛病的程序却很有多是非平台有关的。

3.在程序中利用任何一个办法的时分,要具体观察文档,确保你利用的办法不是在文档中已声名为过期的办法(Deprecatedmethod),也不是文档中未标明的隐含办法(Undocumentedmethod)。

4.加入Java程序时只管不要利用java.lang.System的exit办法。Exit办法能够停止JVM,从而停止程序,但假如同时运转了另外一个Java程序,利用exit办法就会让该程序也封闭,这明显不是我们但愿看到的情形。现实上要加入Java程序,可使用destory()加入一个自力运转的历程。关于多线程程序,必需要封闭各个非保卫线程。只要在程序非一般加入时,才利用exit办法加入程序。

5.制止利用当地办法和当地代码,尽量本人编写具有响应功效的Java类,改写该办法。假如必定要利用该当地办法,能够编写一个服务器程序挪用该办法,然后将如今要编写的程序作为该服务器程序的客户程序,大概思索CORBA(大众对象哀求代办署理)程序布局。

6.Java中有一个相似于Delphi中的winexec的办法,java.lang.runtime类的exec办法,作为该办法自己是具有平台有关性的,可是给办法所挪用的命令及命令参数倒是与平台相干的,因而,在编写程序时要制止利用,假如必定要挪用其他的程序的话,必需要让用户本人来设置该命令及其参数。好比说,在windows中能够挪用notepad.exe程序,在linux中就要挪用vi程序了。

7.程序计划中的一切的信息都要利用ASCII码字符集,由于并非一切的操纵体系都撑持Unicode字符集,这关于跨平台的Java中文软件程序不克不及不说是一年夜凶讯。

8.在程序中不要硬性编码与平台相干的任何常量,好比行分开符,文件分开符,路径分开符等等,这些常量在分歧的平台上是分歧的,好比文件分开符,在UNIX和MAC中是“/”,在windows中是“”,假如要利用这些常量,必要利用jdava.util.Properties类的getProperty办法,如java.util.Properties.getProperty(“file.separator”)能够取得文件分开符,getProperty(“line.separator”)前往行分开符,getProperty(“path.separator”)前往路径分开符。

9.在编写跨平台的收集程序时,不要利用java.net.InetAddress类的getHostName办法失掉主机名,由于分歧的平台的主机名格局是分歧的,最好利用getAddress失掉格局不异的IP地点,别的,程序中一切的主机名都要换成IP地点,好比www.263.net就要换成响应的IP地点。

10.触及文件操纵的程序必要注重:不要在程序中硬性编码文件路径,来由和8中一样,只是这一点出格主要,因而独自提出。并且,分歧平台关于文件名利用的字符及最年夜文件名长度的请求分歧,编写你的程序的时分要利用一样平常的ASCII码字符作为文件的名字,并且不克不及与平台中已存在的程序同名,不然会形成抵触。

11.假如您写的程序是GUI程序,在利用AWT组件时不克不及硬性设置组件的巨细和地位而应当利用Java的结构办理器(layoutmanager)来设置和办理可视组件的巨细和地位,不然有大概形成结构凌乱。

12.因为分歧的操纵体系,分歧的呆板,体系撑持的色彩和屏幕的巨细和分辩率都分歧,怎样取得这些属性呢?利用java.awt.Systemcolor类能够取得必要的色彩,如该类的inactiveCaption就是窗口边框中举动题目的背景色彩,menu则是菜单的背景色彩。利用java.awt.Toolkit的getScreenResolution能够以“象素每英寸”为单元显现屏幕的分辩率。该类的getScreenSize能够失掉屏幕巨细(英寸),loadSystemColors能够列出一切的体系色彩

你通过从书的数量和开发周期及运行速度来证明:net和ruby要比java简单。
海妖 该用户已被删除
沙发
发表于 2015-1-21 17:07:50 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
冷月葬花魂 该用户已被删除
板凳
发表于 2015-1-26 05:30:44 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
飘飘悠悠 该用户已被删除
地板
发表于 2015-1-26 06:00:16 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
若相依 该用户已被删除
5#
发表于 2015-2-2 16:08:50 | 只看该作者
是一种为 Internet发展的计算机语言
柔情似水 该用户已被删除
6#
发表于 2015-2-6 09:11:21 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
莫相离 该用户已被删除
7#
发表于 2015-2-10 23:22:56 | 只看该作者
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
深爱那片海 该用户已被删除
8#
发表于 2015-2-15 19:30:13 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
因胸联盟 该用户已被删除
9#
发表于 2015-2-22 14:13:06 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
山那边是海 该用户已被删除
10#
发表于 2015-2-25 22:02:38 | 只看该作者
Java 编程语言的风格十分接近C、C++语言。
老尸 该用户已被删除
11#
发表于 2015-3-6 23:55:16 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
飘灵儿 该用户已被删除
12#
发表于 2015-3-10 04:50:40 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
不帅 该用户已被删除
13#
发表于 2015-3-17 04:12:17 | 只看该作者
是一种使用者不需花费很多时间学习的语言
爱飞 该用户已被删除
14#
发表于 2015-3-22 20:08:10 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
愤怒的大鸟 该用户已被删除
15#
发表于 2015-3-24 06:56:07 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
admin 该用户已被删除
16#
发表于 2015-4-10 08:55:29 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
17#
发表于 2015-4-11 03:12:10 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
谁可相欹 该用户已被删除
18#
发表于 2015-4-13 00:20:00 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
透明 该用户已被删除
19#
发表于 2015-4-16 19:11:26 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
乐观 该用户已被删除
20#
发表于 2015-4-19 08:16:41 | 只看该作者
是一种为 Internet发展的计算机语言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-26 21:12

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表