`
huali
  • 浏览: 8455 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表

Java非阻塞通信

 
      对于用ServerSocket 及 Socket 编写的服务器程序和客户程序, 他们在运行过程中常常会阻塞. 例如, 当一个线程执行 ServerSocket 的accept() 方法时, 假如没有客户连接, 该线程就会一直等到有客户连接才从 accept() 方法返回. 再例如, 当线程执行 Socket 的 read() 方法时, 如果输入流中没有数据, 该线程就会一直等到读入足够的数据才从 read() 方法返回.         假如服务器程序需要同时与多个客户通信, 就必须分配多个工作线程, 让他们分别负责与一个客户通信, 当然每个工作线程都有可能经常处于长时间的阻 ...
1.System.getProperty(String name)方法用于得到系统的属性.System是在lang包中的一个类,这个类中存在大量和系统打交道的实用方法,而且一般都是类方法,.getProperty(String   key)就是其中一个比较常用的方法,用于返回系统参数文件中这个方法指定键所代表的值。下面是该方法的常用参数。关键意义-------------------------------------------------   java.versionjava.version                         Java运行环境版本  java.vendo ...
1 HashMap不是线程安全的         hastmap是一个接口 是map接口的子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable不允许。   2   HashTable是线程安全的一个Collection。         HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。HashMap允许将null作为一 ...
1.简介 IP地址是IP使用的32位(IPv4)或者128位(IPv6)位无符号数字,它是传输层协议TCP,UDP的基础。InetAddress是Java对IP地址的封装,在java.net中有许多类都使用到了InetAddress,包括ServerSocket,Socket,DatagramSocket等等。 InetAddress的实例对象包含以数字形式保存的IP地址,同时还可能包含主机名(如果使用主机名来获取InetAddress的实例,或者使用数字来构造,并且启用了反向主机名解析的功能)。InetAddress类提供了将主机名解析为IP地址(或反之)的方法。 InetAddre ...
File.separatorChar 表明文件路径区分符,比如在中英文下就是"\",日文下"¥",Unix下"/",用File.separatorChar会根据系统自动代替这些字符,比直接用有更好的通用性。   File.separator 文件分隔符,各个操作系统不一样, 如WIndows的是"\",而Unix的是"/"。   File.separatorChar与File.separator作用相同。   Source:http://hi.baidu.com/chsshen ...
一、定义线程 1、扩展java.lang.Thread类。 此类中有个run()方法,应该注意其用法: public void run() 如果该线程是使用独立的Runnable运行对象构造的,则调用该Runnable对象的run方法;否则,该方法不执行任何操作并返回。 Thread 的子类应该重写该方法。   2、实现java.lang.Runnable接口。 void run() 使用实现接口Runnable的对象创建一个线程时,启动该线程将导致在独立执行的线程中调用对象的run方法。 方法 run 的常规协定是,它可能执行任何所需的操作。   二、实例化线程 1 ...
  001Java线程基础:概念与原理 一、操作系统中线程和进程的概念 现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。 进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。 线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中的多个线程共享进程的内存。 “同时”执行是人的感觉,在线程之间实际上轮换执行。   二、Java中的线程 在Java中,“线程”指两件不同的事情: 1、ja ...
Welcome to the Android Dev Guide! The Dev Guide provoids a practical introduction to developing application for Android and documention about major platform features. It explores the concepts behind Android, the framework for constructing an application, and the tools for developing, testing, and pub ...
Global site tag (gtag.js) - Google Analytics