这样可以有效地提高系统稳定性。
以上这些实用性的技术与策略,是我们在实践中的一些实际体会,仅供各位开发人员根
据实际情况参考。
当然,在使用 Java 作为解决方案时,也会遇到很多让我们头疼的问题,这些问题导致同
时执行的并发性比较差,系统速度慢等等。归纳起来看,我们曾遇到过的主要具体的问题有:
(1)用 Java 来实现 CORBA 中的 Component,有时效率会比较低。
(2)用 Java 来建立数据库连接往往会比较慢。
(3)用 JSP 编程时容易导致系统信息的扩散。比如,如果有黑客攻击一台运行 JSP 程序
的服务器,他可以故意地输入一些非法字符或异常信息给
JSP 程序,于是程序执行将出现
异常。这时,就会在页面上打印出相应的错误信息。很不幸的是,这些信息极有可能暴露出
这台服务器的
JDK 的版本号与路径信息等内容。这往往容易让黑客们有机可乘,有可能去
抓住系统的漏洞。
在发现了这些问题后,我们经过仔细研究,找出了一些解决办法。比如:
(1)既然用 Java 实现 Component 比较慢,我们就尽量减少 Component 所执行的业务逻
辑量。争取把能够放在存储过程中实现的操作,尽可能在存储过程中加以实现。众所周知,
数据库的存储过程操作,比起在
Java 程序中执行数据库操作要快得多。
(2)既然用 Java 建立数据库连接比较慢,我们就可以把数据库连接封装成连接池
(
Connect Pool),从而能非常有效地提高系统效率。我们也曾经用“Load Runner”作过压力
测试,使用连接池比不使用连接池的速度要快上
3~5 倍。
(3)为了对付 JSP 程序与 Servlet 程序会打印出异常系统信息的问题。我们曾查阅了很多
JSP 或 Servlet 的资料,最终是毫无头绪。但是我们可以换另一种思路,即是不从程序下手,
而从
Web Server 着手,我们可以把 Apache 配置成为使这类异常信息不再打印出来,而是使
之仅出现一个通用的异常说明的页面,这样,就能十分有效地解决这个问题。
在我们使用 Java 作为编程语言的这么多项目中,绝大多数是比较成功的。Java 语言作为
一种快捷、稳定的计算机语言,开发基于因特网应用的项目大多是相当稳定和比较适用的。
在我个人看来,Java 的应用前景十分光明,大体上可以着眼于以下方面:
(1)在因特网上将会有更加广泛的应用。
(2)在嵌入式设备中,Java 也大有用武之地。比如,在最新推出的 Java 技术中,Java 已
经进入了手机领域。
(3)Java 程序大多以线程运行,占用资源少,会逐步代替 ASP 与 CGI 程序。根据第三方
测试表明:
JSP 程序比 ASP 程序要快 2 倍以上。用 JSP 代替 ASP 应是大势所趋。
(4)Java 在无线互联网中的应用将会更加广泛。Java 支持 WAP,可以方便地用 Java 开发
WAP 程序,实现 WAP 应用。
(5)Java 与 XML 的无缝连接使 Java 在数据传输和异构网络通信方面有着很大的优势。
就我个人而言,我将会在相当长一段时期内致力于 Java 在无线互联中的应用,为我国的
移动通信事业开发出更多的优秀实用的项目。