JAVA程序设计
文章平均质量分 61
kevin_long
这个作者很懒,什么都没留下…
展开
-
网络聊天室的实现思想
1实现思想在Internet上的聊天室程序一般都是以服务器提供服务端连接响应,使用者通过客户端程序登录到服务器,就可以与登录在同一服务器上的用户交谈,这是一个面向连接的通信过程。因此,程序要在TCP/IP环境下,实现服务器端和客户端两部分程序。2服务器端工作流程服务器端通过socket()系统调用创建一个Socket数组后(即设定了接受连接客户的最大数目),与指定的本地端口转载 2007-06-28 16:37:00 · 847 阅读 · 0 评论 -
Java套接字实现网络编程之基础篇2
技巧 Socket类包含了许多有用的方法。比如getLocalAddress()将返回一个包含客户程序IP地址的 InetAddress子类对象的引用;getLocalPort()将返回客户程序的端口号;getInetAddress()将返回一个包含服务器 IP地址的InetAddress子类对象的引用;getPort()将返回服务程序的端口号。 ServerSocket类 由于SS转载 2007-06-04 16:44:00 · 805 阅读 · 0 评论 -
Java网络编程精解之ServerSocket用法详解一1
在客户/服务器通信模式中,服务器端需要创建监听特定端口的ServerSocket,ServerSocket负责接收客户连接请求。本章首先介绍ServerSocket类的各个构造方法,以及成员方法的用法,接着介绍服务器如何用多线程来处理与多个客户的通信任务。本章提供线程池的一种实现方式。线程池包括一个工作队列和若干工作线程。服务器程序向工作队列中加入与客户通信的任务,工作线程不断从工作队列中转载 2007-06-04 16:45:00 · 1522 阅读 · 0 评论 -
Java网络编程精解之ServerSocket用法详解一2
3.2 接收和关闭与客户的连接ServerSocket的accept()方法从连接请求队列中取出一个客户的连接请求,然后创建与客户连接的Socket对象,并将它返回。如果队列中没有连接请求,accept()方法就会一直等待,直到接收到了连接请求才返回。接下来,服务器从Socket对象中获得输入流和输出流,就能与客户交换数据。当服务器正在进行发送数据的操作时,如果客户端断开了连接,那么转载 2007-06-04 16:47:00 · 2685 阅读 · 2 评论 -
Java网络编程精解之ServerSocket用法详解二1
3.6 创建多线程的服务器在本书第1章的1.5.1节的例程1-2的EchoServer中,其service()方法负责接收客户连接,以及与客户通信。service()方法的处理流程如下: while (true) {Socket socket=null;try {socket = serverS转载 2007-06-04 16:49:00 · 1598 阅读 · 0 评论 -
一个理解wait()与notify()的例子
下面是我原来在CSDN论坛上看到的一个贴子,涉及到同步,wait(),notify()等概念的理解,我试着根据原来的一些回复和Think in Java上的相关概念将wait()和notify()这两个方法剖析了一下,欢迎指教.问题如下:分析这段程序,并解释一下,着重讲讲synchronized、wait(),notify 谢谢!class ThreadA { public static v转载 2007-06-08 17:10:00 · 484 阅读 · 0 评论 -
java多线程设计wait/notify机制
多线程之间需要协调工作。例如,浏览器的一个显示图片的线程displayThread想要执行显示图片的任务,必须等待下载线程 downloadThread将该图片下载完毕。如果图片还没有下载完,displayThread可以暂停,当downloadThread完成了任务 后,再通知displayThread“图片准备完毕,可以显示了”,这时,displayThread继续执行。 以上逻辑简单的说转载 2007-06-08 17:11:00 · 741 阅读 · 0 评论 -
从SPRING技术去看企业的管理
听了一堂JAVA程序设计课。讲的是J2EE架构的SPRING技术。SPRING技术是以思想为核心,忽略了技术的概念。感叹SPRING技术的创造者的非凡智慧。SPRING技术的核心就是两个字:集权。听过这次课后感到受益匪浅,许多生活上的常识,管理上的经验,都可以被新的技术所采纳的,思想是博大精深的。好多的东西都是触类旁通的。这就应对了哲学上的一句话。万事万物都是相互联系的。在企业的管理上,加强中央集原创 2007-06-08 20:01:00 · 481 阅读 · 0 评论 -
java多线程经典实例
import java.io.*; //多线程编程 public class MultiThread { public static void main(String args[]) { System.out.println("我是主线程!"); //下面创建线程实例thread1 ThreadUseExtends thread1=new ThreadUseExtends(); //创建th原创 2007-06-13 14:23:00 · 1519 阅读 · 3 评论 -
排序算法
1、冒泡排序 Bubble Sort最简单的排序方法是冒泡排序方法。这种方法的基本思想是,将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮。在冒泡排序算法中我们要对这个“气泡”序列处理若干遍。所谓一遍处理,就是自底向上检查一遍这个序列,并时刻注意两个相邻的元素的顺序是否正确。如果发现两个相邻元素的顺序不对,即“轻”的元素在下面,就交换它们的位置。显然,处理一遍之后,“最轻转载 2007-09-12 14:16:00 · 528 阅读 · 0 评论 -
Java内存模型
JMM(Java Memory Model)Java被设计为跨平台的语言,在内存管理上,显然也要有一个统一的模型。而且Java语言最大的特点就是废除了指针,把程序员从痛苦中解脱出来,不用再考虑内存使用和管理方面的问题。可惜世事总不尽如人意,虽然JMM设计上方便了程序员,但是它增加了虚拟机的复杂程度,而且还导致某些编程技巧在Java语言中失效。 JMM主要是为了规定了线程和内存之间的一些关系。对转载 2007-11-07 11:20:00 · 968 阅读 · 0 评论 -
Java套接字实现网络编程之基础篇1
用Java开发网络软件非常方便和强大,Java的这种力量来源于他独有的一套强大的用于网络的 API,这些 API是一系列的类和接口,均位于包java.net和javax.net中。在这篇文章中我们将介绍套接字(Socket)慨念,同时以实例说明如何使 用Network API操纵套接字,在完成本文后,你将具备编写网络低端通讯软件的能力。 什么是套接字(Socket)? Network转载 2007-06-04 16:43:00 · 708 阅读 · 0 评论 -
Java网络编程精解之ServerSocket用法详解二2
在ThreadPool类的构造方法中,会创建并启动若干工作线程,工作线程的数目由构造方法的参数 poolSize决定。WorkThread类表示工作线程,它是ThreadPool类的内部类。工作线程从工作队列中取出一个任务,接着执行该任务, 然后再从工作队列中取出下一个任务并执行它,如此反复。工作线程从工作队列中取任务的操作是由ThreadPool类的getTask()方法实现的,它的处理转载 2007-06-04 16:52:00 · 1495 阅读 · 2 评论 -
java学习-2
I/O流的层次 1.字节流: 从InputStream和OutputStream派生出来的一系列类。这类流以字节(byte)为基本处理单位。 ◇ InputStream、OutputStream ◇ FileInputStream、FileOutputStream ◇ PipedInputStream、PipedOutputStream ◇ ByteArrayInputS转载 2007-07-06 21:05:00 · 736 阅读 · 0 评论 -
java学习-3
对象的串行化(Serialization) 串行化的定义 1. 什么是串行化 对象的寿命通常随着生成该对象的程序的终止而终止。有时候,可能需要将对象的状态保存下来,在需要时再将对象恢复。我们把对象的这种能记录自己的状态以 便将来再生的能力,叫做对象的持续性(persistence)。对象通过写出描述自己状态的数值来记录自己,这个过程叫对象的串行化 (Serialization)。转载 2007-07-06 21:08:00 · 692 阅读 · 0 评论 -
java学习-1
在Java语言中,所有的基本数据类型都有预设值,具体个类型的预设值见下表:基本数据类型 预设值Boolean falseChar /u000Byte (byte)0Short (short)0Int 0Long 0LFloat 0.0LDouble 0.0d Java与C/C++的比较指针Java中取消了指针。指针的功能由参考(reference)所取代.函数在Java中没有C转载 2007-07-06 21:03:00 · 890 阅读 · 1 评论 -
java中文件操作大全
一.获得控制台用户输入的信息/** *//**获得控制台用户输入的信息 * @return * @throws IOException */ public String getInputMessage() throws IOException...{ System.out.println("请输入您的命令∶"); byte buff转载 2007-07-23 21:23:00 · 512 阅读 · 0 评论 -
JAVA网络编程中关于一个客户端/服务器中多线程并发文件传输的程序问题
原创 2007-07-26 11:01:00 · 1526 阅读 · 1 评论 -
java I/O系统详解1
java中的io系统io中的(input/output)stream无非就是包括基于字符的stream、基于字节的stream和把字节导向的stream转换字符为导向的stream的stream。(很难理解么?)以字节为导向的stream------InputStream/OutputStreamInputStream 和 OutputStream是两个abstact类,对于字节为导向的strea转载 2007-08-03 15:53:00 · 958 阅读 · 1 评论 -
java I/O系统2
1. File类,FilenameFilter接口:Filer的 list()方法返回一个String[]数组.可以在list中加入FilenameFilter的接口实现.对文件过滤.其中需要覆盖一个boolean accept(File dir,String name)方法.dir为某个特定文件所在目录的File对象,name为文件名.2. 输入和输出:任何继承了转载 2007-08-03 15:55:00 · 766 阅读 · 0 评论 -
关于线程的停止问题
多线程是java的一个优势,java使得程序员可以很方便的进行多线程程序开发。获得更好的性能。关于多线程的概念以及一般的多线程编程,比如如何以及为何实现runnable接口,为何stop()会被Deprecated掉等等,这个请看matrix之前的多线程编程基础或者sun的java文档。关于多线程编程,有几点这里要提到的:1。既然stop()是不被推荐的,那么我们如何停止一个线程呢?直接kill吗转载 2007-08-14 09:44:00 · 587 阅读 · 0 评论 -
关于线程学习总结
一、线程的概念: 线程与进程相似,是一段完成某个特定功能的代码,是程序中单个顺序的流控制;但与进程不同的是,同类的多个线程是共享一块内存空间和一组系统资源,而线程本身的数据通常只有微处理器的寄存器数据,以及一个供程序执行时使用的堆栈。所以系统在产生一个线程,或者在各个线程之间切换时,负担要比进程小的多,正因如此,线程被称为轻负荷进程(light-weight process)。一个进程中转载 2007-08-14 10:06:00 · 519 阅读 · 0 评论 -
Java网络编程精解之ServerSocket用法详解三
3.7 关闭服务器前面介绍的EchoServer服务器都无法关闭自身,只有依靠操作系统来强行终止服务器程序。这种强行终止服务器程序的方式尽管简单方便,但是会 导致服务器中正在执行的任务被突然中断。如果服务器处理的任务不是非常重要,允许随时中断,则可以依靠操作系统来强行终止服务器程序;如果服务器处理的任 务非常重要,不允许被突然中断,则应该由服务器自身在恰当的时刻关闭自己。本节介绍的Ech转载 2007-06-04 16:54:00 · 1506 阅读 · 0 评论 -
Java NIO API详解
在JDK 1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO API作为一个基于缓冲区,并能提供非阻塞(non-blocking)IO操作的API被引入。本文对其进行深入的介绍。转载 2007-12-24 18:43:00 · 674 阅读 · 0 评论