`
chaijuntao
  • 浏览: 23099 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
1、项目结构: 看下项目的结构: 2、项目源码: 2.1、服务器端: EchoServer.java package send_object.server; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelInitializer; import io.netty.channel.EventLoopGroup; impor ...
1、简介 Handler在netty中,无疑占据着非常重要的地位。Handler与Servlet中的filter很像,通过Handler可以完成通讯报文的解码编码、拦截指定的报文、统一对日志错误进行处理、统一对请求进行计数、控制Handler执行与否。一句话,没有它做不到的只有你想不到的。 Netty中的所有handler都实现自ChannelHandler接口。按照输出输出来分,分为ChannelInboundHandler、ChannelOutboundHandler两大类。ChannelInboundHandler对从客户端发往服务器的报文进行处理,一般用来执行解码、读取客户端数据、 ...
1、简介 Netty是基于Java NIO的网络应用框架. Netty是一个NIO client-server(客户端服务器)框架,使用Netty可以快速开发网络应用,例如服务器和客户端协议。Netty提供了一种新的方式来使开发网络应用程序,这种新的方式使得它很容易使用和有很强的扩展性。Netty的内部实现时很复杂的,但是Netty提供了简单易用的api从网络处理代码中解耦业务逻辑。Netty是完全基于NIO实现的,所以整个Netty都是异步的。 网络应用程序通常需要有较高的可扩展性,无论是Netty还是其他的基于Java NIO的框架,都会提供可扩展性的解决方案。Netty中一个关键组 ...
根据 Wiki 对 Zero-copy 的定义: "Zero-copy" describes computer operations in which the CPU does not perform the task of copying data from one memory area to another. This is frequently used to save CPU cycles and memory bandwidth when transmitting a file over a network. 即所 ...
一、spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springboot的,所以需要开发中对springboot有一定的了解,如果不了解的话可以看这篇文章:2小时学会springboot。另外对于“微服务架构” 不了解的话,可以通过搜索引擎搜索“微服务架构”了解下。 二、创建服务注册中心 在这里,我们需要用的的组件上Spring Cloud Netflix的Eur ...
1、<<深入理解Java虚拟机--JVM高级特性与最佳实践>>第一章谈到自己编译jdk,所以今天尝试在CentOS6.5上编译openJDK7。   2、软件准备: Bootstrap JDK:  jdk-7u80-linux-x64.tar.gz OpenJDK:openjdk-7u40-fcs-src-b43-26_aug_2013.zip ANT:apache-ant-1.7.1-bin.zip   3、编译依赖: 安装alsa软件包:yum -y install alsa-lib-devel 安装 cups-devel:yum -y inst ...
1.Java中对象都是分配在heap(堆)中。从heap中分配内存所消耗的时间远远大于从stack产生存储空间所需的时间。  (1)每个应用程序运行时,都有属于自己的一段内存空间,用于存放临时变量、参数传递、函数调用时的PC值的保存。这 ...
    创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。   这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。   如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。   而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕之后得到任务执行结果。   今天我们就来讨论一下Callable、Future和FutureTask三个类的使用方法。以下是本文的目录大纲:   一.Callable与Runnable   二.Future   三.F ...

Java 内存区域 详解

    博客分类:
  • JVM
Java虚拟机在执行Java程序的过程中会把它所管理的内存区域分为若干个不同的数据区域。这些区域都有各自的用途,有的区域随虚拟机进程启动而存在,有的区域则依赖用户线程启动和结束而建立和销毁。根据《Java虚拟机规范第 ...
在《在eclipse下编译hadoop2.0源码》一文中,我详细介绍了如何在eclipse环境和命令行环境下编译hadoop2.0源代码,并简单介绍了如何构建hadoop环境,这篇文章将着重介绍如何在eclipse下调试源代码。 在hadoop2.0中,常用的模块有NameNode ...
一、环境说明 虚拟软件:VMware Workstation 10 虚拟机配置: RHEL Server release 6.5 (Santiago) 2.6.32-431.el6.x86_64 cpu:4核心,内存:4G,硬盘:50G 二、前提条件: 1:将rhel6.5的iso文件作为yum源 2:hadoop-2.2.0-src.tar.gz 3:安装JDK 1.6.0_43 4:安装并配置apache-maven 3.0.5(apache-maven-3.0.5-bin.tar.gz) 源码中BUILDING.txt中要求使用3.0,从hadoop2.0版本以后使用 ...
我的环境: CentOS 64bitNTFS格式文件系统Administrator用户Eclipse(Luna Service Release 2 (4.4.2))JDK 1.7(Oracle官网下载)最好不要用1.8,因为导入源码后还想编译的话会出现问题。hadoop-src-2.6.0.tar.gz(在官网下载的源码:http://www.apache.org/dyn/closer.c ...
   Step 8:安装CDH5 a、下载rpm安装包       1、进入下载目录,/usr/tool/:       2、执行下载:       wget http://archive.cloudera.com/cdh5/one-click-install/redhat/6/x86_64/cloudera-cdh-5-0.x86_64.rpm       --如果Linux版本是CentOS 5.x,则将红色字体部分改成5,下同       3、禁用GPG签名检查,并安装本地软件包:       yum --nogpgcheck localinstall clo ...
      目前而言,不收费的Hadoop版本主要有三个(均是国外厂商),分别是:Apache(最原始的版本,所有发行版均基于这个版本进行改进)、Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称CDH)、Hortonworks版本(Hortonworks Data Platform,简称“HDP”),对于国内而言,绝大多数选择CDH版本。       搭建环境:CentOS6.5 + CDH5 + JDK7       主:192.168.157.130  master       从:192.168.157.1 ...
上节中,我们采用JavaAPI的方式来操作HBase,接连和访问方式都比较简单直接,而本节我们采用MapReduce的方式来操作HBase,那么就要先配置好Eclipse-Hadoop的插件。   一、安装Eclipse-Hadoop插件 由于网上这方面的资料非常全,所以本人推荐一个参考博文,照着配置就OK: http://www.cnblogs.com/flyoung2008/archive/2011/12/09/2281400.html   二、定义Map package txt_to_hbase; import java.io.IOException; impor ...
Global site tag (gtag.js) - Google Analytics