
Java网络通信与笔记
iteye_7552
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
阻塞与非阻塞-----同步与异步
[size=medium]阻塞(blocking)与非阻塞(non-blocking)IO IO的阻塞、非阻塞主要表现在一个IO操作过程中,如果有些操作很慢,很耗时间,比如读操作时需要准备数据,那么当前IO进程是否等待操作完成,还是得知暂时不能操作后先去做别的事情?一直等待下去,什么事也不做直到完成,这就是阻塞。抽空做些别的事情,这是非阻塞。 非阻塞IO会在发出IO请求后立即得到回应,...原创 2015-07-21 11:31:09 · 98 阅读 · 0 评论 -
Java集合框架
[b][size=medium]集合框架有很多的类,他们的区别就是内部的数据存储形式(队列,set还是Map),他们有很多类是有很大的相似程度的,区别是在是否允许存在null,是否允许有重复的元素存在,是否线程安全,是否阻塞,以及在读写删的过程哪个更加方便,这将是我们需要根据实际应用来考虑的,挑选也是这么按照这个标准来。[/size][/b] [b][size=large]L...原创 2015-09-25 16:31:04 · 74 阅读 · 0 评论 -
final, finally, finalize的区别
[b]1.final[/b] final修饰类,说明这个类不能被继承,是以个顶级类。 final修饰变量,说明这个变量是常量。 final修饰方法,表示这个方法不能被重写,不过可以冲在final方法。 比如有个基类Person,里面有一个public final void eat()方法,可以在Person类中重载同名方法,比如public void eat(String name,i...原创 2015-09-19 11:39:57 · 81 阅读 · 0 评论 -
四种会话跟踪技术
会话跟踪是一种灵活、轻便的机制,它使Web上的状态编程变为可能。 HTTP是一种无状态协议,每当用户发出请求时,服务器就会做出响应,客户端与服务器之间的联系是离散的、非连续的。 当用户在同一网站的多个页面之间转换时,根本无法确定是否是同一个客户,会话跟踪技术就可以解决这个问题。 当一个客户在多个页面间切换时,服务器会保存该用户的信息。 有四种方法可以实现会话跟踪技术:URL重写、隐藏表单域...原创 2015-09-19 11:36:45 · 187 阅读 · 0 评论 -
java中volatile关键字的含义
在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。 Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 [b]synchronized [/b] 同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有...原创 2015-09-19 10:59:14 · 77 阅读 · 0 评论 -
java笔记--关于线程同步(5种同步方式)
[size=medium]为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用, 从而保证了该变量的唯一性和准确性。 1.同步方法 即有synchronized关键字修饰的方...原创 2015-09-19 10:21:11 · 80 阅读 · 0 评论 -
RPC
[size=medium]RPC 功能目标 RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显式的区分本地调用和远程调用,在前文《浅出篇》中给出了一种实现结构,基于 stub 的结构来实现。下面我们将具体细化 stub 结构的实现。 [img]http://img...原创 2015-07-30 11:04:05 · 96 阅读 · 0 评论 -
Java NIO原理文分析及代码实现
[size=medium][align=center]Java NIO原理图文分析及代码实现[/align] 前言: 最近在分析hadoop的RPC(Remote Procedure Call Protocol ,远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。可以参考:http://baike.baidu.com/view/32726.h...原创 2015-07-22 10:43:11 · 107 阅读 · 0 评论 -
NIO学习(一)
[size=medium][size=medium][b]NIO学习[/b][/size] 一.NIO中的几个基础概念 在NIO中有几个比较关键的概念:Channel(通道),Buffer(缓冲区),Selector(选择器)。 首先从Channel说起吧,通道,顾名思义,就是通向什么的道路,为某个提供了渠道。在传统IO中,我们要读取一个文件中的内容,通常是像下面这样读取的: ...原创 2015-07-22 10:43:03 · 85 阅读 · 0 评论 -
Java IO浅谈
[size=medium]Java IO浅谈 [size=large]一.什么是同步?什么是异步?[/size] 同步和异步的概念出来已经很久了,网上有关同步和异步的说法也有很多。以下是我个人的理解: 同步就是:如果有多个任务或者事件要发生,这些任务或者事件必须逐个地进行,一个事件或者任务的执行会导致整个流程的暂时等待,这些事件没有办法并发地执行; 异步就是:如果有多个任...原创 2015-07-21 13:12:17 · 105 阅读 · 0 评论 -
线程池(二)
[size=medium] [align=center]Java线程池使用说明[/align] 一简介 线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要...原创 2015-07-21 12:29:13 · 82 阅读 · 0 评论 -
线程池(一)
[size=medium] [align=center]线程池[/align] 在上一篇博客中,我们有提及阻塞IO的为每个连接请求建立一个线程或者放进线程池,如果我们还在每次都new一个线程的话,在庞大的连接数目下我们系统的性能将大大降低,更何况这些线程没有统一的管理,极有可能会产生大量的阻塞。 new Thread的弊端如下: a. 每次new Thread新建对象性能差。 b. ...原创 2015-07-21 12:11:27 · 124 阅读 · 0 评论 -
多种IO设计模式
[size=medium]Java通信的几种IO设计 [size=large][b]阻塞IO[/b][/size] 同步阻塞最常用的一种用法,使用也是最简单的,但是 I/O 性能一般很差,CPU 大部分在空闲状态。下面是一个简单的基于TCP的同步阻塞的Socket服务端例子: @Test public void testBlockIoSocket() throws Except...原创 2015-07-21 11:45:12 · 5710 阅读 · 0 评论 -
Java之Concurrent(并发)包
[size=medium] 因为实在是太多了,太长了,一时间无法自习整理和消化,先暂且引用原文资料的链接吧。 资料链接 [url]http://blog.youkuaiyun.com/defonds/article/details/44021605[/url][/size]...原创 2015-09-25 16:31:12 · 111 阅读 · 0 评论