仓酷云

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

[学习教程] 来看跨平台Java程序计划的十二条划定规矩

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:28:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
还得说上一点,就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。
利用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能够列出一切的体系色彩。
这些注重事项有些是来自参考文献,有些是本人临时编写Java程序的履历所得,信任对你的程序计划会有所匡助。

大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。
分手快乐 该用户已被删除
沙发
发表于 2015-1-21 07:46:44 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
变相怪杰 该用户已被删除
板凳
发表于 2015-1-30 11:45:11 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
莫相离 该用户已被删除
地板
发表于 2015-2-4 12:53:58 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
爱飞 该用户已被删除
5#
发表于 2015-2-6 16:43:09 | 只看该作者
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
飘灵儿 该用户已被删除
6#
发表于 2015-2-8 04:30:24 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
柔情似水 该用户已被删除
7#
发表于 2015-2-17 22:07:48 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
愤怒的大鸟 该用户已被删除
8#
发表于 2015-3-5 23:10:50 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
海妖 该用户已被删除
9#
发表于 2015-3-6 13:17:13 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
活着的死人 该用户已被删除
10#
发表于 2015-3-8 20:08:09 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
深爱那片海 该用户已被删除
11#
发表于 2015-3-11 16:29:16 | 只看该作者
是一种为 Internet发展的计算机语言
老尸 该用户已被删除
12#
发表于 2015-3-19 01:20:31 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
小女巫 该用户已被删除
13#
发表于 2015-3-26 20:21:41 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 01:23

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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