- 浏览: 214245 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
bluky999:
jiakechong 写道跟啊里爸爸那个差不多吧跟 dubb ...
淘宝-HSF -
jiakechong:
跟啊里爸爸那个差不多吧
淘宝-HSF -
lookqlp:
您好!我写了个关键词关联度统计的mapreduce,排序非常慢 ...
排序--MapReduce -
liubang201010:
DB Audit更多参考资料:
http://www.inno ...
8--《DB Audit》 -
裴小星:
这些数据库专家,同样不了解程序员。SQL(或PL/SQL,TS ...
MapReduce:一个重大的倒退
Java API主要的网络包:java.net ; java.rmi ; org.omg.* ; JavaMail ; Java servlet
对象持久性和对象序列化:对象持久化可以在JVM之前转移,不管这些JVM是否位于同一台机器上还是在远程机器上
TCP 通过可靠的递交和定序,在支持双向通信的客户和服务器之间提供可靠的字节通信
套接字选项:so_keepalive,so_revbuf,so_sndbuf,so_linger,tcp_nodelay,so_timeout,
多线程应用程序:
1,创建线程时并没有调用run() 方法,只有当调用start() 方法启动线程时,run() 方法才被调用。
如果只有守护线程在运行,那么JVM将会自动终止。
2,中断线程可能会唤起其他线程,
3,Thread.yield()让出CPU时间
sleep()使当前线程进入停滞状态,所以执行sleep()的线程在指定的时间内肯定不会执行;yield()只是使当前线程重新回到可执行状态,所以执行yield()的线程有可能在进入到可执行状态后马上又被执行。
sleep()可使优先级低的线程得到执行的机会,当然也可以让同优先级和高优先级的线程有执行的机会;yield()只能使同优先级的线程有执行的机会。
当调用wait()后,线程会释放掉它所占有的“锁标志”,从而使线程所在对象中的其它 synchronized数据可被别的线程使用。
waite()和notify()因为会对对象的“锁标 志”进行操作,所以它们必须在synchronized函数或synchronized block中进行调用。如果在non-synchronized 函数或non-synchronized block中进行调用,虽然能编译通过,但在运行时会发生 IllegalMonitorStateException的异常 。
同步:方法级别的和程序块级别的同步
线程组
数据包发送接收
serversocket和socket的区别
ServerSocket用于绑定端点,提供服务,并接受连接请求,如果写服务器一定要用到的 Socket就是普通的连接套接字,做客户端要用到,设计服务器的时候也要用到。服务套接字accept之后返回的是Socket对象
所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
Socket和 ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应 用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户 端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。
重要的Socket API:
java.net.Socket继承于java.lang.Object,有八个构造器,其方法并不多,下面介绍使用最频繁的三个方法,其它方法大家可以见JDK-1.3文档。
.Accept方法用于产生"阻塞",直到接受到一个连接,并且返回一个客户端的Socket对象实例。"阻塞"是一个术语,它使程序运行暂时"停留"在这个地方,直到一个会话产生,然后程序继续;通常"阻塞"是由循环产生的。
.getInputStream方法获得网络连接输入,同时返回一个IutputStream对象实例,。
.getOutputStream方法连接的另一端将得到输入,同时返回一个OutputStream对象实例。
注意:其中getInputStream和getOutputStream方法均会产生一个IOException,它必须被捕获,因为它们返回的流对象,通常都会被另一个流对象使用。
GET请求方式 带两个参数:资源的路径以及使用的HTTP版本
POST请求方法: 客户HTTP POST请求,首部,实体主体
客户请求首部域:“Cookie”域,“From”域,“If-Modified-Since”域,“Referer”域,“User-Agent”域
cookie的基本思想是避开HTTP的非状态性
在面向对象的系统中,通过象对象传递一个指向事件源的对象引用(监听者)实现回掉。
java rmi
import java.io.IOException;
import java.io.PrintStream;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class PacketSendDemo {
public static void main(String args[]){
int argc=args.length;
if(argc != 1){
System.out.println("Syntax :");
System.out.println("java PacketSendDemo hostname");
return;
}
String hostname=args[0];
try{
System.out.println("Binding to a local port");
DatagramSocket socket=new DatagramSocket();
System.out.println("Bound to local port"+ socket.getLocalPort());
ByteArrayOutputStream bout =new ByteArrayOutputStream();
PrintStream pout=new PrintStream(bout);
pout.print("Greetings!");
byte[] barray=bout.toByteArray();
DatagramPacket packet=new DatagramPacket(barray, barray.length);
System.out.println("Looking up hostname" + hostname);
InetAddress remote_addrAddress = InetAddress.getByName(hostname);
System.out.println("Hostname resolved as "+ remote_addrAddress.getHostAddress());
packet.setAddress(remote_addrAddress); //可以看出数据报中含有目的IP端口以及数据
packet.setPort(2000); // 数据报发送不需要建立收发之间的连接
socket.send(packet);
System.out.println("Packet sent!");
}catch (UnknownHostException uhe) {
// TODO: handle exception
System.err.println("Can't find host"+ hostname);
}catch (IOException ioe) {
System.err.println("Error -" +ioe);
// TODO: handle exception
}
}
}
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class PacketRecevieDemo {
public static void main( String args[]){
try{
System.out.println("Binding to local prot 2000");
DatagramSocket socket=new DatagramSocket(2000);
System.out.println("Bound to local port" + socket.getLocalPort());
DatagramPacket packet= new DatagramPacket(new byte[256], 256);
socket.receive(packet);
InetAddress remote_addr=packet.getAddress();
System.out.println("Sent by" + remote_addr.getHostAddress());
System.out.println("Sent from :" + packet.getPort());
ByteArrayInputStream bin=new ByteArrayInputStream(packet.getData());
for (int i=0;i<packet.getLength();i++){
int data=bin.read();
if(data==-1){
break;
}
else
System.out.println((char)data);
}
socket.close();
}catch (IOException ioe) {
System.err.println("Error -" +ioe);
// TODO: handle exception
}
}
}
发表评论
-
OCP认证考试指南全册10g
2012-01-06 18:49 1016常用命令: 1,lsnrctl status;emctl s ... -
研磨设计模式
2011-08-24 00:19 787接口是隔离外部调用和内部实现 -
《MySQL 性能调优与架构设计》
2011-08-10 21:47 802MySQL的基本架构:SQL Layer和Storage En ... -
UNIX技术内幕
2011-08-07 22:36 716两种处理器模式:用户模式和内核模式,在进行虚拟内存映射时,两种 ... -
《Oracle Database 10g 性能调整与优化》
2011-08-02 21:31 10428.2 当从表中访问数据 ... -
深入Java虚拟机
2011-05-16 21:17 949第一章:Java 体系结构介绍 Java 体系结构包括的四个 ... -
《OSGi 原理与最佳实践》
2011-05-03 21:08 867Bundle:从形式上讲,是在META-INF目录下的MANI ... -
重构 改善既有代码的设计
2011-04-27 09:56 792。。 -
Database System Implementation
2011-04-23 12:19 1269Chapter13 第二级存储管理 Especiall ... -
《高质量java程序设计》
2011-04-20 08:59 794条款1:异常对性能的影 ... -
《Oracle高性能SQL调整》
2011-04-14 22:47 11821,优化器模式:rule,all rows,fist row ... -
一些本人认为比较好的书籍(将不断更新)
2011-04-14 13:11 764数据库: 《oracle 8》体系结构 《oracle 性 ... -
Java 解惑
2011-04-09 23:54 77521,java还是跟平台有关的(文件分隔符函数File,sep ... -
《Oracle Database 10g RMAN 备份与回府》
2011-04-05 22:38 837待续 -
《Oracle 8 体系结构》
2011-04-05 22:00 877模式于数据库用户账号一一对应 索引:B树索引(索引节点 ... -
《Oracle性能优化技术内幕》
2011-03-19 16:57 942任何可靠的优化方法必须包含以下过程:基准数据;建立性能目标;所 ... -
《Tomcat 权威指南》
2011-02-23 22:27 934执行Tomcat的脚本:Catalin ... -
Spring揭秘
2011-01-07 21:12 1047Spring两种容器类型:BeanFactory和App ... -
数据库系统实现
2011-01-04 22:18 7641, -
深入搜索引擎--海量信息的压缩、索引和查询
2011-01-04 22:16 6911,
相关推荐
Java网络编程与分布式计算是计算机科学中的重要领域,尤其在当今云计算和大数据时代,其重要性日益凸显。本文将深入探讨这两个主题,并结合文件名称"Java网络编程与分布式计算"来解析相关知识点。 首先,Java网络...
在学习和使用Java网络编程与分布式计算的过程中,Sun公司作为Java技术的原始开发者,提供了大量的核心技术资料。这些资料对于理解Java网络编程和分布式计算的原理和最佳实践非常重要。扫描版资料虽然可能存在一些OCR...
这本书"Java网络编程与分布式计算"深入探讨了这两个主题,下面将对相关知识点进行详细解释。 一、Java网络编程基础 1. **Socket编程**:Java的Socket类和ServerSocket类提供了客户端/服务器模型的网络通信接口。...
Java网络编程与分布式计算是Java开发中的重要领域,它涵盖了多方面的重要概念和技术。Java语言以其平台无关性和强大的网络支持,成为了实现网络应用和分布式系统的主要工具。在本专题中,我们将深入探讨Java如何处理...
Java网络编程与分布式计算是Java开发中的重要领域,主要用于构建可扩展、高可用性的系统。这些示例源码是基于《java网络编程与分布式计算》这本书的实践教学内容,可以帮助读者深入理解相关概念并提升实际操作技能。...
该书主要讲解的是 java 分布式编程的技术基础,和网络技术基础
Java Web编程与分布式计算的结合,为企业级应用程序提供了强大的开发和运行平台。无论是大数据分析、实时流处理还是高并发Web服务,Java都能提供相应的工具和框架来应对挑战。开发者需要深入理解这些技术,并灵活...