自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4618)
  • 资源 (7)
  • 收藏
  • 关注

转载 创建一个简单的Server(嵌入Jetty学习一)

Jetty的口号是:“不要把你的程序放到Jetty里,而是把Jetty部署到你的程序里”,也就是说可以把war包放到Jetty里(就像tomcat一样),也可以把Jetty当成程序的一个HTTP模块。    嵌入Jetty的使用方法是这样的,可以在maven中添加depency,然后就可以在Java程序中使用Jetty创建Web Server了,目前最新的Jetty版本是Jetty 9。

2016-11-01 15:15:32 1460

转载 Jetty实战之 嵌入式Jetty运行web app

本文地址:http://blog.csdn.net/kongxx/article/details/7237034要说嵌入式运行Jetty,最常用的还应该是运行一个标准的war文件或者指定一个webapp目录。0. 首先需要添加Jetty运行时webapp的依赖包,下面是一个完整的pom.xml文件[html] view plain copy

2016-11-01 14:31:07 1925

转载 Jetty实战之 嵌入式Jetty运行Servlet

本文链接:http://blog.csdn.net/kongxx/article/details/7230080在嵌入式Jetty中,有时候我们想运行一些的Servlet,此时就需要创建创建Context,然后让自己的Servlet运行在这些ServletContext中。1. 首先创建一个ServletContextServer类,用来初始化web应用程序的Context,并

2016-11-01 14:13:31 2183

转载 Jetty实战之 嵌入式Jetty集成Spring运行

本文链接:http://blog.csdn.net/kongxx/article/details/72271071. 首先修改pom.xml文件,添加spring的依赖项[html] view plain copyproject xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi

2016-11-01 14:09:40 2441

转载 Jetty实战之 嵌入式运行Jetty实现简单文件服务器

本文链接:http://blog.csdn.net/kongxx/article/details/7224423对于嵌入式运行Jetty,可以通过简单的一些代码实现一个简单的文件服务器的功能,如下:[java] view plain copypackage com.google.code.garbagecan.jettystudy

2016-11-01 14:05:54 1930

转载 Jetty实战之 嵌入式运行Jetty多Connector

本文地址:http://blog.csdn.net/kongxx/article/details/7218787在嵌入运行Jetty的时候,有时候想要启动两个端口,或者通过一个Jetty server提供多个不同服务,比如说使用8080来指定默认访问端口,使用8433指定https访问端口等等,此时就可以通过创建多个Connector来解决。1. 首先创建一个Server类,其

2016-11-01 11:57:44 1568

转载 AIO 简介

Linux的I/O机制经历了一下几个阶段的演进:1. 同步阻塞I/O: 用户进程进行I/O操作,一直阻塞到I/O操作完成为止。2. 同步非阻塞I/O: 用户程序可以通过设置文件描述符的属性O_NONBLOCK,I/O操作可以立即返回,但是并不保证I/O操作成功。3. 异步事件阻塞I/O: 用户进程可以对I/O事件进行阻塞,但是I/O操作并不阻塞。通过select/poll/epoll等

2016-11-01 11:56:04 978

转载 关于同步,异步,阻塞,非阻塞,IOCP/epoll,select/poll,AIO ,NIO ,BIO的总结

IO基本概念Linux环境Linux的内核将所有外部设备都可以看做一个文件来操作。那么我们对与外部设备的操作都可以看做对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个file descriptor(fd,文件描述符)。对一个socket的读写也会有相应的描述符,称为socketfd(socket描述符)。描述符就是一个数字(可以理解为一个索

2016-11-01 11:50:00 1249

转载 Jetty实战之 嵌入式运行Jetty

本文地址:http://blog.csdn.net/kongxx/article/details/7218776Jetty最常用的一种用法是把Jetty嵌入到自己的Java应用程序中,此时Jetty作为一个后台的Servlet容器运行,接受用户的http请求,下面是一个最简单的嵌入Jetty的用法。1. 首先使用Maven创建一个java工程[pytho

2016-11-01 11:49:18 1766

转载 远程调用原理与对比RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB

在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇 blog中我

2016-11-01 10:13:32 1157

原创 Spring aop切面实际应用 XML配置

Aspect:/** * Created by Administrator on 2016/8/15. */@Componentpublic class LogAspect { private final static Logger logger = LogUtil.get("access"); @Autowired private LogTask logTa

2016-10-31 20:39:07 2454

转载 maven自定义插件-mojo标注和参数

每个mojo都必须使用@Goal标注来表明其目标名称,否则maven将无法识别该目标。还有其他很多标注,列举如下:@goal :唯一必须声明的标注,当用户命令行调用或在pom中配置插件是,需使用该目标名称@phase :默认将该目标绑定至default声明周期的某个阶段,这样在配置使用插件目标时,就无需声明phase,如maven-surefire-plugin的test目标带有@

2016-10-31 18:07:26 8882 2

转载 Maven plugin中的lifecycle、phase、goal、mojo概念及作用的理解

首先,说些题外话,maven的plugin真的很容易写,很多时候,我们只是被plugin这个词吓倒了,总以为插件这玩意,是专家才能写的,我maven都没精通,怎么写得出自己的plugin呢,其实不然,起码在maven中,写一个自己的plugin还是非常简单的,其它软件的插件,要看情况,有些的确是要天才级人物才写得出,有一些呢,也无非是用别人做的傻瓜程序,可以轻松做出来,但是,有决心做,绝大数事情我

2016-10-31 18:05:39 3213

转载 maven 生命周期 及 正确的集成命令-U -B -X -e 等

在持续集成服务器上使用怎样的 mvn 命令集成项目,这个问题乍一看答案很显然,不就是 mvn clean install 么?事实上比较好的集成命令会稍微复杂些,下面是一些总结:不要忘了clean: clean能够保证上一次构建的输出不会影响到本次构建。使用deploy而不是install: 构建的SNAPSHOT输出应当被自动部署到私有Maven仓库供他人使用,这一点

2016-10-31 18:03:50 13552

转载 Maven内置隐式变量(转)

Maven提供了三个隐式的变量可以用来访问环境变量,POM信息,和Maven Settingsenvenv变量,暴露了你操作系统或者shell的环境变量。便 如在Maven POM中一个对${env.PATH}的引用将会被${PATH}环境变量替换,在Windows中为%PATH%.projetcproject变量暴露了POM。可以使用点标记(.)的路径来引用POM

2016-10-31 15:00:37 810

转载 编写自定义Maven2插件

from:http://jwu.iteye.com/blog/612944一、创建一个插件项目     > mvn archetype:create -DgroupId=org.sonatype.mavenbook.plugins -DartifactId=first-maven-plugin -DarchetypeGroupId=org.apache.maven.archetypes -

2016-10-31 14:42:17 957

转载 maven 自定义插件开发

1、创建maven工程<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache....

2016-10-31 14:39:02 7647

转载 【Maven】Maven Plugin示例:自己动手编写Maven插件

需求:在Maven编译项目的时候,统计代码量,即项目中的文件数目、代码行数,包括Java文件和配置文件两种;其中配置文件(sql、xml、properties)代码行数/4 处理。创建项目:首先确保已安装m2eclipse插件:http://eclipse.org/m2e/eclipse - new - Maven Project,选择archetype = maven

2016-10-31 14:37:26 3682

原创 maven自定义插件 jenkis打包 jar包版本校验dependency-check-plugin:check

更新校验方式,使用 maven 自带 version range apihttp://blog.csdn.net/z69183787/article/details/54342057替换了version的compareTo方法,关于Version range api详见http://maven.apache.org/ref/3.3.9/maven-artifact/apidocs/org/...

2016-10-31 13:05:15 5315

转载 Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)

互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的。现在核心业务抽取出来,作为独立的服务,使前端应用能更快速和稳定的响应。第一:介绍Dubbo背景    大规模服务化之前,应用可能只是通过RMI或Hessian等

2016-10-31 11:45:37 961

转载 一起学Netty(十四)之 Netty生产级的心跳和重连机制

sigh,写这篇博客的时候老脸还是红了一下,心里还是有些唏嘘的,应该算是剽窃吧,每个人的代码功力的确是有差距的,好在文章的标题是“一起学”,而不是开涛大神的“跟我学”系列的文章,我们还是多花点时间学习吧,感叹无用~最近工作比较忙,但闲暇之余还是看了阿里的冯家春(fengjiachun)的github上的开源代码Jupiter,写的RPC框架让我感叹人外有人,废话不多说,下面的代

2016-10-31 11:15:47 2678 2

转载 一起学Netty(十三)之 Netty简单的重连机制

其实重连机制并不是多么多高深的技术,其实就是一个在客户端做一个简单的判断,如果连接断了,那么就重新调用连接服务端的代码当然,我们重连的动作肯定是发生在断连之后发生的,我们可以在上篇的心跳机制的基础上,简单地修改一下客户端的启动代码就可以了:我们在连接断了之后,我们一般会在finally的方法中去释放资源,这边我们应该不去释放资源,我们在finally里面进行

2016-10-31 11:11:14 2768

转载 一起学Netty(十二)之 Netty心跳简单Demo

前面简单地了解了一下IdleStateHandler,我们现在写一个简单的心跳demo:1)服务器端每隔5秒检测服务器端的读超时,如果5秒没有接受到客户端的写请求,也就说服务器端5秒没有收到读事件,则视为一次超时2)如果超时二次则说明连接处于不活跃的状态,关闭ServerChannel3)客户端每隔4秒发送一些写请求,这个请求相当于一次心跳包,告之服务器端:客户端仍旧活着

2016-10-31 11:06:06 9528 3

转载 一起学Netty(十一)之 Netty心跳之IdleStateHandler

Netty提供了对心跳机制的天然支持,心跳可以检测远程端是否存活,或者活跃今天我们就一起初识一下Netty4的心跳机制Netty4.0提供了一个类,名为IdleStateHandler,这个类可以对三种类型的心跳检测这个类的构造参数是这样的:前三个的参数解释如下:1)readerIdleTime:为读超时时间(

2016-10-31 11:02:25 4835

转载 一起学Netty(十)之 Netty使用Google的ProtoBuf

protobuf是由Google开发的一套对数据结构进行序列化的方法,可用做通信协议,数据存储格式,等等。其特点是不限语言、不限平台、扩展性强Netty也提供了对Protobuf的天然支持,我们今天就写一个简单的示例,简单地了解一下Netty对Google的protoBuf的支持我们的示例场景很简单的:客户端发送一个信息,这个信息用Protobuf来做序列化

2016-10-31 11:02:05 2839 1

转载 一起学Netty(九)之LengthFieldBasedFrameDecoder

之前介绍了Netty天然的几种解析器,也稍微介绍了一下ByteToMessageDecoder类,我们对Netty的解码器还是有了一定的了解~今天要介绍的是Netty中一个很重要的解码器,因为相比于其他的普通的解码器,这个解码器用的场景更多,并不是说其他解码器不重要,只是因为我们业务场景所致在当今比较流行的水平拆分的架构之下,RPC协议很是流行,这样可以使各

2016-10-31 11:00:47 3686

转载 一起学Netty(八)之 浅析ByteToMessageDecoder

上一节一起学习了几个解码器,用于解决TCP协议网络传输过程中粘包和拆包的问题,用过Netty的人总会说一句话“用Netty一定要了解一下它的底层原理,这样才敢用”,其实很有感悟,Netty in action 这本书中也有一个章节分析了codec,也定义了几个自定义的译码器,但是它自定义的几个译码器全部是继承与ByteToMessageDecoder的,我们上文中的几个解码器例如Delimiter

2016-10-31 10:57:23 2437

转载 一起学Netty(七)之 TCP粘包拆包基本解决方案

上个小节我们浅析了在Netty的使用的时候TCP的粘包和拆包的现象,Netty对此问题提供了相对比较丰富的解决方案Netty提供了几个常用的解码器,帮助我们解决这些问题,其实上述的粘包和拆包的问题,归根结底的解决方案就是发送端给远程端一个标记,告诉远程端,每个信息的结束标志是什么,这样,远程端获取到数据后,根据跟发送端约束的标志,将接收的信息分切或者合并成我们需要的信息,这样我

2016-10-31 10:44:49 1767

转载 一起学Netty(六)之 TCP粘包拆包场景

TCP编程底层都有粘包和拆包机制,因为我们在C/S这种传输模型下,以TCP协议传输的时候,在网络中的byte其实就像是河水,TCP就像一个搬运工,将这流水从一端转送到另一端,这时又分两种情况:1)如果客户端的每次制造的水比较多,也就是我们常说的客户端给的包比较大,TCP这个搬运工就会分多次去搬运。2)如果客户端每次制造的水比较少的话,TCP可能会等客户端多次生产之后,把所有的水一起

2016-10-31 10:43:32 1635

转载 一起学Netty(五)之 初识ByteBuf和ByteBuf的常用API

网络传输的载体是byte,这是任何框架谁也逃脱不了的一种规定,Java的NIO提供了ByteBuffer,用来完成这项任务,当然ByteBuffer也很好的完成了这个任务,Netty也提供了一个名字很相似的载体叫做ByteBuf,相比于ByteBuf而言,它有着更加更多友善的API,也更加易于维护,并且它可以扩容一般来说,ByteBuf都是维护一个byte数组的,它

2016-10-31 10:39:30 4800

转载 一起学Netty(四)之 ChannelHandler,ChannelHandlerContext,ChannelPipeline

本小节一起学习一下ChannelHandler,ChannelHandlerContext,ChannelPipeline这三个Netty常用的组件,不探究它们的底层源码,我们就简单的分析一下用法首先先分析一下ChannelHandler,ChannelHandler是我们日常开发中使用最多的组件了,大概我们平时写的最多的组件就是Handler了,继承图如下

2016-10-31 10:35:22 7101

转载 一起学Netty(三)之 SimpleChannelInboundHandler

其实Netty的知识点还是很零碎的,比如这个SimpleChannelInboundHandler这个类,在《Netty in Action》该书中的原版的Hello world的demo的客户端就是使用的SimpleChannelInboundHandler来作为处理器的,我本来也是使用这个类作为我处理类的,但是做一个新手,这个类还是让我走了一点弯路,我们可以看到SimpleChannelInb

2016-10-31 10:34:31 24085 5

转载 一起学Netty(二)之 Hello Netty的原型图解

上一个小节,写的一个入门的Hello Netty的案例,它的模型其实很简单,我们画个简单的图理解一下[java] view plain copypackage com.lyncc.netty.concept;    /**  *   * @author Bazingalyncc  * 描述:  * 时间  2016年4

2016-10-31 10:22:42 2436

转载 一起学Netty(一)之 Hello Netty

案例说明:客户端发送一个信息到服务器端,服务器端将信息原样返回maven的依赖,我们如下:[html] view plain copydependencies>      dependency>        groupId>junitgroupId>        artifactId>junitartifa

2016-10-31 10:21:25 2640

转载 JDK7 AIO初体验实例

JDK7已经release一段时间了,有个重要的新特性是AIO。今天趁闲暇,简单体验了下,简单分享如下:关于AIO的概念理解 关于AIO的概念,仅谈谈个人的一点理解。可能不到位,请大家指出。Io的两个重要步骤:发起IO请求,和实际的IO操作。在unix网络编程的定义里异步和非异步概念的区别就是实际的IO操作是否阻塞。如果不是就是异步,如果是就是同步。而阻塞和非阻塞的

2016-10-28 16:16:06 1465

转载 Java NIO- Buffer

Java NIO中的Buffer用于和NIO通道进行交互。如你所知,数据是从通道读入缓冲区,从缓冲区写入到通道中的。缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问该块内存。下面是NIO Buffer相关的话题列表:Buffer的基本用法Buffer的capacity,position和l

2016-10-28 13:48:22 842

转载 JAVA AIO 服务器与客户端实现示例

AIO用于文件处理还是比较快乐的,但用AIO来写网络消息处理服务器端与客户端是比较麻烦的事情,当然这只是我个人意见,主要是有几点原因:一是AIO需要操作系统支持,还好Windows与Linux(模拟)都支持;二是AIO同时使用递归调用和异步调用容易把程序员搞晕,代码容易出错;三是CompletionHandler会使用单独的线程跑,容易出现多线程问题,频繁线程上下文切换比较

2016-10-28 10:28:18 3271 1

转载 Aio--Java异步IO的 Socket Demo

我理解的 同步\异步操作 |  阻塞IO\非阻塞IO 同步阻塞 同步非阻塞  http://blog.csdn.net/xxb2008异步非阻塞   [java] view plain copy  package com.vdebug.aio.socket;      import java.io.IOException;   im...

2016-10-27 17:11:54 1218

转载 java jdk1.6内置支持的webservice使用示例

webService是一种跨语言的系统间交互标准。在Java中使用webservice根据服务器端的服务根据描述生成WSDL文件,并将应用与此WSDL文件一起放入HTTP服务器中,借助服务工具根据WSDL文件生成客户端STUB代码。此代码的作用是将产生的对象请求信息封装成标准的SOAP格式数据,并发送到服务器端,服务器端根据接收到的SOAP格式数据进行转换,并最终通过反射调用响应类的响应方法。

2016-10-27 15:58:00 1802

转载 Java AIO学习

转载Reactor and Proactor的内容系统I/O 可分为阻塞型, 非阻塞同步型以及非阻塞异步型[1, 2]. 阻塞型I/O意味着控制权只到调用操作结束了才会回到调用者手里. 结果调用者被阻塞了, 这段时间了做不了任何其它事情. 更郁闷的是,在等待IO结果的时间里,调用者所在线程此时无法腾出手来去响应其它的请求,这真是太浪费资源了。拿read()操作来说吧, 调用此函

2016-10-27 15:56:05 990

Zookeeper资源文件

2017-03-20

Zookeeper基础知识

2017-03-20

Zookeeper初识

2017-03-20

使用exe4j 制作java启动程序的 等候界面

使用exe4j 制作java启动程序的 等候界面,使用了 JDK6 自带splash功能。 备注 exe/jre 文件夹中 包含了 jre ,但由于大小问题,无法上传。

2014-06-12

MyEclipse 基于X-File 的Web service及调用实例详解

MyEclipse 基于X-File 的Web service及调用实例详解

2014-02-24

jquery浮动窗

基于jquery 的悬浮窗功能,有一些基本的功能

2014-01-23

java在线预览office

java使用openoffice swftools flexpaper2.1.9 实现在线预览功能

2013-12-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除