自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 收藏
  • 关注

原创 SOAP协议规范

SOAP协议规范1. 简介SOAP以XML形式提供了一个简单、轻量的用于在分散或分布环境中交换结构化和类型信息的机制。SOAP本身并没有定义任何应用程序语义,如编程模型或特定语义的实现;实际上它通过提供一个有标准组件的包模型和在模块中编码数据的机制,定义了一个简单的表示应用程序语义的机制。这使SOAP能够被用于从消息传递到RPC的各种系统。SOAP包括三个部分

2001-05-04 13:58:00 1983

原创 TELNET协议规范

  TELNET协议规范ARPA Internet上的主机被要求采用并实现此标准。  介绍TELNET Protocol的目的是提供一个相对通用的,双向的,面向八位字节的通信方法。它主要的目标是允许接口终端设备的标准方法和面向终端的相互作用。可以预见到,此协议也可被用于终端到终端的通信和处理到处理的通信(分布式计算)。  一般考虑一个TE

2001-05-04 13:57:00 951

原创 用户数据报协议(UDP)

用户数据报协议(UDP)介绍用户数据报协议是定义用来在互连网络环境中提供包交换的计算机通信的协议。此协议默认认为网路协议(IP)是其下层协议。此协议提供了向另一用户程序发送信息的最简便的协议机制。此协议是面向操作的,未提供提交和复制保护。如果应用程序要求可靠的数据传送应该使用传输控制协议(TCP)。数据报格式如下: 用户数据报头格式域源端口是可选域,当其有意

2001-05-04 13:57:00 1898

原创 SMTP服务扩展

SMTP服务扩展SMTP提供一种可靠的有效的传送机制,它用于传送电子邮件。虽然十几年来,它的作用已经有目共睹,可是对它功能的扩充也是必不可少的。对SMTP服务的扩展我们介绍一下:在SMTP转发的邮件中包括信封和内容这两种东西。我们写信也写信封和信皮,我们可以借生活中的信件来帮助理解。(1) SMTP信封比较容易理解,它被作为一系列的SMTP协议单元传送,它包括发送者地址,传

2001-05-04 13:56:00 1741

原创 TCP协议规范

传输控制协议(Transmission Control Protocol, TCP)TCP协议主为了在主机间实现高可靠性的包交换传输协议。本文将描述协议标准和实现的一些方法。因为计算机网络在现代社会中已经是不可缺少的了,TCP协议主要在网络不可靠的时候完成通信,对军方可能特别有用,但是对于政府和商用部门也适用。TCP是面向连接的端到端的可靠协议。它支持多种网络应用程序。TCP对

2001-05-04 13:56:00 7137

原创 简单邮件传输协议(SMTP)

简单邮件传输协议(SMTP)介绍SMTP模型SMTP过程SMTP说明TCP传输服务NCP传输服务NITSX.25传输服务应答码构成方法一些例子1. 介绍简单邮件传输协议(SMTP)的目标是可靠高效地传送邮件,它独立于传送子系统而且仅要求一条可以保证传送数据单元顺序的通道。附录A,B,C和D描述了不同

2001-05-04 13:55:00 6961

原创 POP3 邮局协议-版本3

POP3 邮局协议-版本3 1. 简介对于在网络上的比较小的结点,支持消息传输系统(MTS)是不实际的。例如,一台工作站可能不具有充足的资源允许SMTP服务器和相当的本地邮件传送系统保持序驻留,并持续运行。同样的,将一台个人计算机长时间连接在IP类型网络上的费用也是可观的(结点缺少的资源被称为“联络性”)。虽然如此,在这样的小结点上允许管理邮件是十分有用的,并且这些结点经常支持一个用户

2001-05-04 13:54:00 1145

原创 在 Windows 中实现 Java 本地方法

本文为在 32 位 Windows 平台上实现 Java 本地方法提供了实用的示例、步骤和准则。这些示例包括传递和返回常用的数据类型。本文中的示例使用 Sun Microsystems 公司创建的 Java Development Kit (JDK) 版本 1.1.6 和 Java 本地接口 (JNI) 规范。用 C 语言编写的本地代码是用 Microsoft Visual C++ 编译器编译

2001-05-04 13:46:00 7639

原创 使用 JDBC 创建数据库对象 2

构建更高级别的 JDBC 对象从上面的例子可以明显看出,如果可以将我们使用过的一些方法封装在几个更高级别对象中,那将非常有帮助,我们不仅可以封装 try 程序块,而且可以更简单地访问 ResultSet 方法。 在这一部分中,我们将构建一个新的 resultSet 对象,该对象封装了 JDBC ResultSet 对象,并以 String 数组的形式返回一行数据。我们发现您始终需要从 Re

2001-05-04 13:45:00 1000

原创 使用 JDBC 创建数据库对象 1

本文分析了Java DataBase Connectivity (JDBC),一个在 Java 中以面向对象的方法来连接数据库的技术。它是对 ODBC API 进行的一种面向对象的封装和重新设计,它易于学习和使用,并且它能够使您编写不依赖供应商的代码,用以查询和操纵数据库。JDBC 提供了一些相当低层的方法来存取数据库,同时也在相当高层提供了功能强大的对象来处理数据库。 什么是数据库?

2001-05-04 13:44:00 1546

原创 编写多线程的 Java 应用程序 如何避免当前编程中最常见的问题

几乎所有使用 AWT 或 Swing 编写的画图程序都需要多线程。但多线程程序会造成许多困难,刚开始编程的开发者常常会发现他们被一些问题所折磨,例如不正确的程序行为或死锁。 在本文中,我们将探讨使用多线程时遇到的问题,并提出那些常见陷阱的解决方案。 线程是什么?一个程序或进程能够包含多个线程,这些线程可以根据程序的代码执行相应的指令。多线程看上去似乎在并行执行它们各自的工作,就像在一台计算

2001-05-04 13:41:00 1122

原创 Servlet 和 XML

对 Java 程序员来说,Servlet 和 XML 是最令人振奋的两项技术。本文是为 2000 年 2 月 17 日旧金山 City Java 用户组准备的演示文稿。在本文中您将看到如何使用 servlet 组成一个简单的 XML 文档,构建一个 DOM 树,并将部分内容显示在用户屏幕上,最后您将看到如何从一个数据库查询生成 XML。对于本文讨论的示例来说,我们将扩展 HTTPServlet

2001-05-04 13:40:00 965

原创 Java 程序编码规范

所有的程序开发手册都包含了各种规则。一些习惯自由程序人员可能对这些规则很不适应,但是在多个开发人员共同写作的情况下,这些规则是必需的。这不仅仅是为了开发效率来考虑,而且也是为了后期维护考虑。 命名规范  定义这个规范的目的是让项目中所有的文档都看起来像一个人写的,增加可读性,减少项目组中因为换人而带来的损失。(这些规范并不是一定要绝对遵守,但是一定要让程序有良好的可读性)  Package 的命名

2001-05-04 13:39:00 1020

原创 Java嵌入技术的现状及应用前景

Java嵌入技术的发展历史和应用实例1991年,Sun公司的由James Gosling,Bill Joe等人组成的Green小组开发了一个名为Oak的软件,开发它的目的是用于电视等家用电器的嵌入式应用。后来Oak发展成为我们熟知的Java,Java发布之后就风靡于WWW世界,广泛应用于网络计算。Sun公司在大力开发Java网络应用的同时,丝毫没有放松Java嵌入技术的开发。自1996年公布J

2001-05-04 13:39:00 1615

原创 Java 应用程序中的按值传递语义

节选理解参数是按值而不是按引用传递的说明 Java 应用程序有且仅有的一种参数传递机制,即按值传递。写它是为了揭穿普遍存在的一种神话,即认为 Java 应用程序按引用传递参数,以避免因依赖“按引用传递”这一行为而导致的常见编程错误。对此节选的某些反馈意见认为,我把这一问题搞糊涂了,或者将它完全搞错了。许多不同意我的读者用 C++ 语言作为例子。因此,在此栏目中我将使用 C++ 和 Java 应

2001-05-04 13:37:00 709

原创 Enterprise JavaBeans 入门 实体 Bean 和 CMP

什么是一个实体(Entity) Bean 一个持久对象 通常它是被当成一样"东西",或者会长期存在的 BankAccount Employee Order不仅仅只是数据--状态和行为,与常规对象一样在数据库中的实体 Bean 一个实体 bean 直接映射到数据库中的一行数据 IDLASTNMMGRDEPTSALAR

2001-05-04 13:36:00 1245

原创 错误的堆大小产生的 "堆问题"

许多 Java 虚拟机提供了选项来控制 Java 堆的大小和增长。本文讨论了如何正确设置最小值(ms)和最大值(mx)的堆大小。最小值参数是就是堆的起始大小,因此合理地设置它以及最大值参数,可能对您的 Java 应用会产生深远的影响。mx 参数 在大多数情况下,如果您认为堆对于 Java 应用程序太小,就应该设置 mx 参数。通过在 Java 命令行上监视使用 verbosegc 参数运行的

2001-05-04 13:34:00 964

原创 Java 程序中的多线程

 为什么会排队等待? 下面的这个简单的 Java 程序完成四项不相关的任务。这样的程序有单个控制线程,控制在这四个任务之间线性地移动。此外,因为所需的资源 — 打印机、磁盘、数据库和显示屏 -- 由于硬件和软件的限制都有内在的潜伏时间,所以每项任务都包含明显的等待时间。因此,程序在访问数据库之前必须等待打印机完成打印文件的任务,等等。如果您正在等待程序的完成,则这是对计算资源和您的时间的一种拙

2001-05-04 13:33:00 932

原创 不要重新分配被锁定对象的对象引用

synchronized 关键字锁定对象。对象是在 synchronized 代码内部被锁定的,这一点对此对象以及您对其对象引用所作的更改意味着什么呢?对一个对象作同步处理只锁定该对象。但是,必须注意不要重新分配被锁定对象的对象引用。那么如果这样做会发生什么情况呢?请考虑下面这段代码,它实现了一个 Stack:class Stack{ private int StackS

2001-05-04 13:33:00 808

原创 以全局的固定顺序获取多个锁来避免死锁

当两个或多个线程互相等待时被阻塞,就会发生死锁。例如,第一个线程被第二个线程阻塞,它在等待第二个线程持有的一个资源。而第二个线程在获得第一个线程持有的某个资源之前不会释放这个资源。由于第一个线程在获得第二个线程持有的那个资源之前不会释放它自己所持有的资源,而第二个线程在获得第一个线程持有的一个资源之前也不会释放它所持有的资源,于是这两个线程就被死锁。在编写多线程代码时,死锁是最难处理的问题之一

2001-05-04 13:32:00 1138

原创 使用 finally 关键字来避免资源漏洞

与其他语言的模型相比,finally 关键字是对 Java 异常处理模型的最佳补充。 finally 结构使代码总会执行,而不管有无异常发生。使用 finally 可以维护对象的内部状态,并可以清理非内存资源。如果没有 finally,您的代码就会很费解。例如,下面的代码说明,在不使用 finally 的情况下您必须如何编写代码来释放非内存资源:import java.net.*;import

2001-05-04 13:31:00 1147

原创 尽可能使用堆栈变量

如果您频繁存取变量,就需要考虑从何处存取这些变量。变量是 static 变量,还是堆栈变量,或者是类的实例变量?变量的存储位置对存取它的代码的性能有明显的影响?例如,请考虑下面这段代码:class StackVars{ private int instVar; private static int staticVar; //存取堆栈变量 void

2001-05-04 13:30:00 827

原创 编写高效的线程安全类

在语言级支持锁定对象和线程间发信使编写线程安全类变得简单。本文使用简单的编程示例来说明开发高效的线程安全类是多么有效而直观。Java 编程语言为编写多线程应用程序提供强大的语言支持。但是,编写有用的、没有错误的多线程程序仍然比较困难。本文试图概述几种方法,程序员可用这几种方法来创建高效的线程安全类。并发性 只有当要解决的问题需要一定程度的并发性时,程序员才会从多线程应用程序中受益。例如

2001-05-04 13:30:00 846

原创 实现 Swing 的 JTables 和 Excel 间的复制和粘贴功能

当今很多业务应用程序都是使用 Java 开发的,并且以后这种用 Java 开发的应用会更多。而在许多应用程序都使用了 Swing 的 JTable 组件,以类似电子表格的格式显示数据。如果业务应用程序可以将数据导入 Microsoft Excel 和从 Microsoft Excel 中导出数据,则会为用户带来方便,使用户可以使用无处不在的该电子表格程序的强大功能。此 Java 技巧将帮助您理解系

2001-05-04 13:29:00 1390

原创 使 toString() 的创建自动化

参与大项目的开发人员通常要花数个小时编写有用的 toString 方法。即便不为每个类都提供属于它们自己的 toString 方法,但每个数据容器都必须有自己的 toString 方法。让每个开发人员按他们自己的方法编写 toString 方法可能会造成混乱;每个开发人员无疑都会提出一种唯一的格式。结果,在调试过程中使用这样的输出将增添不必要的麻烦,而且也没有什么好处。因此,每个项目都应该为 to

2001-05-04 13:28:00 1044

原创 带来娱乐和收益的静态内部类

学会了这个技巧,您便可以把静态内部类的使用加入到您的 Java 使用技巧集锦当中。 静态内部类是在另一个类的定义中进行定义,并且标记为静态的类。我将向您展示一个实例,它利用静态内部类向另一个类中添加测试代码。 静态内部类在概念和实现上都十分简单,基本上来说就是在您的主类中定义一个静态类: public class Foo     {     // ....     public stati

2001-05-04 13:28:00 1069

原创 JDK1.3 中的本地绘制支持

在 JDK1.3 出现以前,您仅能将 Java 本地接口用于非用户界面的工作。JDK 1.3 引入了新的 Java 2 AWT 本地接口,这使您可以在 Java 程序中使用非 Java 的 GUI 组件,尽管这样做会失去纯 Java 解决方案的可移植性。在使用 J2AWT 时,您必须针对要使用它的每个平台制作本地动态连接库或共享库。 下面这段话摘自 JDK1.3 的某个头文件,它说明了这种新的

2001-05-04 13:27:00 1001

原创 使用 Java 1.2 的 Authenticator 类

当您用喜好的浏览器在网上冲浪时,您会遇到要求代理服务器认证或 HTTP 服务器认证的 URL,并会出现您再熟悉不过的窗口要求您输入用户名及口令: 从浏览器访问一个诸如 http://www.lombard.com/cgi-bin/Quotes/quote 这样的 URL 不成问题,因为您自己可以提供用户名和口令。但是当您试图通过 Java 程序从与此 URL 相关的 InputStream 中

2001-05-04 13:25:00 1996

原创 编写支持基于代理的防火墙的应用程序

几乎所有的公司都十分关注保护自己的内部网络,以防黑客及入窃者。一种常见的安全措施是完全断开与因特网的连接。如果黑客们不能连接到您的任何一台机器,他们就不能非法进入您的系统。这种策略产生的不利副作用是,内部用户无法访问外部的因特网服务器,如 Yahoo 或 JavaWorld。为了解决这一问题,网络管理员通常安装“代理服务器”。实际上,代理是安装于因特网和内部网之间的一种服务,用来管理这两个领域之间

2001-05-04 13:24:00 1138

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除