![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java网络编程
文章平均质量分 80
dyf20081124
这个作者很懒,什么都没留下…
展开
-
Java NIO框架Netty教程(四) – ServerBootStrap启动流程源码分析
有一段事件没有更新文章了,各种原因都有吧。搬家的琐事,搬家后的安逸呵呵。不过,OneCoder明白,绝不能放松。对于Netty的学习,也该稍微深入一点了。所以,这次OneCoder花了几天时间,仔细梳理了一下Netty的源码,总结了一下ServerBootStrap的启动和任务处理流程,基本涵盖了Netty的关键架构。 OneCoder总结了一张流程图:转载 2014-04-18 18:01:38 · 366 阅读 · 0 评论 -
Java NIO框架Netty教程(一) – Hello Netty
先啰嗦两句,如果你还不知道Netty是做什么的能做什么。那可以先简单的搜索了解一下。我只能说Netty是一个NIO的框架,可以用于开发分布式的Java程序。具体能做什么,各位可以尽量发挥想象。技术,是服务于人而不是局限住人的。如果你已经万事具备,那么我们先从一段代码开始。程序员们习惯的上手第一步,自然是"Hello world",不过Netty官网的例子却偏偏抛弃了"Hello world转载 2014-04-18 17:58:48 · 405 阅读 · 0 评论 -
Java NIO系列教程(八) FileChannel
Java NIO中的FileChannel是一个连接到文件的通道。可以通过文件通道读写文件。FileChannel无法设置为非阻塞模式,它总是运行在阻塞模式下。打开FileChannel在使用FileChannel之前,必须先打开它。但是,我们无法直接打开一个FileChannel,需要通过使用一个InputStream、 OutputStream或RandomAc转载 2014-04-18 17:52:08 · 239 阅读 · 0 评论 -
XSocket的学习和总结
xSocket是一个易于使用的基于NIO库来构建高性能,可扩展的网络应用。 它支持写入以及服务器端的应用,以直观的方式客户端应用程序。 检测问题,如低水平NIO选择编程,连接池管理,连接超时被封装的xSocket。 我从它的官网上面下载了两个JAR一个是其核心JAR包xSocket (core) 下载地址是:http://sourceforge.net/projects/转载 2014-06-20 13:11:38 · 974 阅读 · 0 评论 -
socket阻塞与非阻塞,同步与异步、I/O模型
socket阻塞与非阻塞,同步与异步作者:huangguisu1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做转载 2014-06-20 14:06:55 · 276 阅读 · 0 评论 -
java处理高并发高负载类网站的优化方法
一:高并发高负载类网站关注点之数据库没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。 一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(主-从)方式进行同步复制,将查询和操作和分别在不同的服务器上进行操作。我推荐转载 2014-07-15 09:22:29 · 273 阅读 · 0 评论 -
Eclipse下的RMI编程
现在Eclipse使用的比较多,而其功能的可扩展性也是超级强大,可以将多种工具和开发技术通过插件包的形式融合进来。这里说一下怎么通过RMI Plugin在Eclipse里面调试RMI程序。一、准备安装包 Eclipse的下载地址这里就不说了。这里提供RMI Plugin for Eclipse 的下载地址: http://www.genady.net/rmi/转载 2014-08-18 16:35:06 · 288 阅读 · 0 评论 -
Socket:java与C之间的文件传送<2>(JAVA语言之间的通信)
其实绝大多数编程语言之间的通信原理是一样的这边文章来看一下java是如何进行文件传输的建议先看 Client 类,再看 Server 类。[html] view plaincopyprint?import java.io.*; import java.net.ServerSocket; import java.net.Socket;转载 2015-01-28 10:40:54 · 393 阅读 · 0 评论 -
Socket:java与C之间的文件传送<3>(JAVA与C通信需要注意的地方)
http://blog.csdn.net/mhapdream/article/details/8929253 Socket:java与C之间的文件传送(C语言之间的通信)http://blog.csdn.net/mhapdream/article/details/8929457 Socket:java与C之间的文件传送(JAVA语言之间的通信)http://blog.csdn.net/转载 2015-01-28 10:42:39 · 319 阅读 · 0 评论 -
Socket:java与C之间的文件传送<4>(JAVA与C通信)
[html] view plaincopyprint?http://blog.csdn.net/mhapdream/article/details/8929253 Socket:java与C之间的文件传送1>(C语言之间的通信) http://blog.csdn.net/mhapdream/article/details/8929457 Socket:java与C之间的文件传转载 2015-01-28 10:43:18 · 296 阅读 · 0 评论 -
Socket:java与C之间的文件传送<1>(C语言之间的通信)
我觉得要清楚C与java之间是如何通讯的首先要清楚C与C之间是如何通讯的,JAVA与JAVA之间是怎样通讯的,java与c通信需要注意哪些地方,然后我们就可以让java与C进行相互痛心了!首先来看一下C与c是如何通信的[html] view plaincopyprint?服务器: #includestdio.h> #includewinsock.h> #p转载 2015-01-28 10:40:01 · 346 阅读 · 0 评论 -
Mina和Netty
Mina和Netty都是Java领域高性能和高可伸缩性网络应用程序的网络应用框架,在实际生产应用中都是不错的佼佼者。Netty 是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。也就是说,Netty 是一个基于NIO的客户,服务器端编程框架,使用Netty 可以确保你快速和简单的开发出转载 2014-04-18 17:57:51 · 674 阅读 · 0 评论 -
Java NIO系列教程(九) Java NIO与BIO
当学习了Java NIO和BIO的API后,一个问题马上涌入脑海:我应该何时使用BIO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和BIO的差异、它们的使用场景,以及它们如何影响您的代码设计。Java NIO和IO的主要区别下表总结了Java NIO和IO之间的主要差别,我会更详细地描述表中每部分的差异。IO N转载 2014-04-18 17:53:01 · 317 阅读 · 0 评论 -
Java NIO系列教程(五) SocketChannel
Java NIO中的SocketChannel是一个连接到TCP网络套接字的通道。可以通过以下2种方式创建SocketChannel:打开一个SocketChannel并连接到互联网上的某台服务器。一个新连接到达ServerSocketChannel时,会创建一个SocketChannel。打开 SocketChannel下面是SocketChannel的打开方式:转载 2014-04-18 17:49:15 · 252 阅读 · 0 评论 -
Java NIO系列教程(六) ServerSocketChannel
Java NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样。ServerSocketChannel类在 java.nio.channels包中。这里有个例子:01ServerSocketChannel serverSocketChannel = ServerSock转载 2014-04-18 17:49:58 · 185 阅读 · 0 评论 -
Java NIO系列教程(七) DatagramChannel
Java NIO中的DatagramChannel是一个能收发UDP包的通道。因为UDP是无连接的网络协议,所以不能像其它通道那样读取和写入。它发送和接收的是数据包。打开 DatagramChannel下面是 DatagramChannel 的打开方式:1DatagramChannel channel = DatagramChannel.op转载 2014-04-18 17:50:51 · 316 阅读 · 0 评论 -
Java NIO系列教程(二) Channel
Java NIO的通道类似流,但又有些不同:既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。通道可以异步地读写。通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:Channel的实现这些是Java NIO中最重要的通道的实现:转载 2014-04-18 17:40:26 · 264 阅读 · 0 评论 -
Java NIO框架Netty教程(二) – 白话概念
"Hello World"的代码固然简单,不过其中的几个重要概念(类)和 Netty的工作原理还是需要简单明确一下,至少知道其是负责什。方便自己以后更灵活的使用和扩展。 声明,笔者一介码农,不会那么多专业的词汇和缩写,只能以最简单苍白的话来形容个人的感受和体会。如果您觉得这太不专业,笔者首先只能抱歉。然后,笔者曾转过《Netty代码分析》,您可参考。ChannelEve转载 2014-04-18 17:59:46 · 528 阅读 · 0 评论 -
Java NIO系列教程(一) Java NIO 概述
Java NIO 由以下几个核心部分组成:ChannelsBuffersSelectors虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使用的工具类。因此,在概述中我将集中在这三个组件上。其它组件会在单独的章节中讲到。转载 2014-04-18 16:49:35 · 273 阅读 · 0 评论 -
Java NIO系列教程(三) Buffer
Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。下面是NIO Buffer相关的话题列表:Buffer的基本用法Buffer的capacity,position和l转载 2014-04-18 17:41:50 · 276 阅读 · 0 评论 -
Java NIO框架Netty教程(三) – Object对象传递
说了这么多废话,才提到对象的传输,不知道您是不是已经不耐烦了。一个系统内部的消息传递,没有对象传递是不太现实的。下面就来说说,怎么传递对象。如果,您看过前面的介绍,如果您善于专注本质,勤于思考。您应该也会想到,我们说过,Netty的消息传递都是基于流,通过ChannelBuffer传递的,那么自然,Object也需要转换成ChannelBuffer来传递。好在Netty本身已经给我们写好了转载 2014-04-18 18:00:41 · 511 阅读 · 0 评论 -
JAVA NIO 简介
1. 基本 概念IO 是主存和外部设备 ( 硬盘、终端和网络等 ) 拷贝数据的过程。 IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成。所有语言运行时系统提供执行 I/O 较高级别的工具。 (c 的 printf scanf,java 的面向对象封装 )2. Java 标准 io 回顾Java 标准 IO 类库是 io 面向对象的一种抽象。基转载 2014-04-18 16:48:11 · 232 阅读 · 0 评论 -
Java NIO系列教程(四) Selector
Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。下面是本文所涉及到的主题列表:为什么使用Selector?Selector的创建向Selector注册通道SelectionKey通过Selector选择通道wakeUp()close()完整转载 2014-04-18 17:46:10 · 304 阅读 · 0 评论 -
java ServerSocket 用法详解(一)
java ServerSocket 用法详解(一)分类: java 通信2015-03-07 21:49 7人阅读 评论(0) 收藏 举报 本篇文章观点和例子来自 《Java网络编程精解》, 作者为孙卫琴, 出版社为电子工业出版社。 在客户/服务器通信模式中, 服务器端需要创建监听端口的 ServerSocket, ServerSocket 负转载 2015-03-09 22:04:42 · 600 阅读 · 0 评论