`
文章列表
        今天用maven遇到两小个问题     1. 上传失败,根据提示才发现是需要填写distributionManagement的repository和snapshotRepository。 代码如下:         <distributionManagement> <repository> <id>xxx_local</id> <name>XXXX Local Repository</name> <url>http://maven.scm.xxx.com:8 ...
        接下来我们来看bcs里面的实体对象。在介绍这个之前,我们首先来看一下bcs api都可以干什么。从官方文档我们可以看到,有三类api,分别是针对bucket的,针对object的,针对acl操作类的。   云存储Bucket可以看成是命名空间,开发者上传的任何数据必须是属于某个Bucket。上传任何数据之前请先确认是否已经创建Bucket,有关Bucket命名限制请参考约束与限制创建Bucket,分别有三个接口。分别为创建,删除,List Bucket。 Put Bucket      创建bucket,传递bucket名称和以及相应的acl信息(不是必须的) L ...
         本身想写一个例子程序的,发现官方的文档比较简单,所以想写一系列的java sdk阅读文章加强对bcs api和参数的认识,然后再写一个例子出来,今天我们先看一下操作的安全部分的代码实现,它位于:com.baidu.inf.iis.bcs.auth包下面,类也很简单,但是之前对java安全和加解密不熟悉,所以还花了点时间,今天将这个阅读过程记录下来。        首先我来看最简单的三个类,即就是BCSCredentials.java、BCSSignCondition.java、SigningAlgorithm.java,这个就不详细讲解了,BCSCredentials里面 ...
          由于项目中多次使用到云存储方面的东西,特此总结一下,希望能更多的人使用百度BCS服务。关于如果申请开发者账号等问题,我这里就不再罗嗦了,大家去官方文档看一下即可:开发者中心,这个里讲的很好。   ...
             今天在排查一个问题,涉及到可变参数,目测已经判空,结果还是报了错误,于是写了个小例子分享下: public class Test { public static void main(String[] args) { int a = 1; String b = null; testA(a,b); } private static void testA(int a, String... b) { System.out.println(b == null); System.out.println(b.length); ...
 今天我们来记录mongodb的安装,从此踏入nosql世界。 在windows下面安装  首先我们应该去官方网站去下载相应的安装包:   http://www.mongodb.org/downloads, 这个里面选择一个合适的安装包,一般来说我们在windows下面就是学习用的 ...
解压后有两个文件,一个为压缩包,另外一个为配置说明。 将压缩包中的两个文件:jrebel.jar,jrebel.lic 放到TOMCAT的BIN文件夹中(注:TOMCAT的路径最好不要带有空格,如D:\programe file\..) 在ECLIPSE中TOMCAT配置中选择JDK,加上以下这段话: -noverify -javaagent:D:/apache-tomcat-6.0.20/bin/jrebel.jar (注:前面留一个空格) eclipse的配置如下:  修改后台java文件后自动热加载,如下所示:  
           在看了FrameDecoder后,我们接下来再看ReplayingDecoder,我们首先分析下为什么我们已经有了功能非常强大的FrameDecoder了,还行ReplayingDecoder呢,就从下面的例子看起。          假设消息结构是这样的:            VERSION - 1 byte TYPE - 1 byte PAYLOAD_LENGTH - 4 bytes PAYLOAD - N bytes (depends on the value read at PAYLOAD_LENGT ...
        我们接下来看一个也是比较重要的的解码器LengthFieldBasedFrameDecoder,这个和DelimiterBasedFrameDecoder比起来没有那么难理解,所以我们简单的看一下。        和之前一样,我们先来看一下局部变量。   private final int maxFrameLength; private final int lengthFieldOffset; private final int lengthFieldLength; private final int lengthFieldEndO ...
          前面我们分析了FrameDecoder的实现,我们接下来看看它的子类实现吧!           我们首先来看DelimiterBasedFrameDecoder的实现,个人认为这个类实现的真的很牛,有些变量的含义作者没有增加注释,有时候可能不容易猜到意图。首先我们来看一下这个类的成员变量:   private final ChannelBuffer[] delimiters; private final int maxFrameLength; private final boolean stripDelimiter; private ...
           项目中用到了ZeroClipboard,但是按照文档操作后发现不行,所以就研究了一下ZeroClipboard的源码,经过一番努力后就搞定,将排错过程记录下来,希望对大家有所帮助。        ZeroClipboard的原理就是后面隐藏一个透 ...
         我们接下来就看和业务息息相关的解码器,首先我们来看FrameDecoder,这个东西应该是所有的解码器都会实现这个,所以我们来重点看一下。         FrameDecoder产生的根源就是TCP/IP数据包的传输方式决定的,包在传输的过程中会分片和重组, 正如javadoc里面所说的:     客户端在发送的时候的序列如下: +-----+-----+-----+ | ABC | DEF | GHI | +-----+-----+-----+ 服务器端在接受到后可能会变成下面的序列: +----+-------+---+---+ | AB | CDE ...
           在netty里面所有的nio相关的操作都是异步的,返回一个channelfuture对象,这个里面可以添加一些listener,然后再相关操作完成后进行触发,最主要的是通过这个对象可以查询相关操作的执行情况,是成功了,还是失败了。          我们来就来看看DefaultChannelFuture的实现就好,我们应该能猜到netty的思想,里面有一个listener的集合,addListener会添加listener到集合里面,然后再真正的io操作完成之后来触发相应的listener,这里面有很多关于多线程的程序,这个还不是很了解,应该后面多恶补恶补。     ...
         看了ChannelHandler我们就来看ChannelPipeline,这个类实现了责任链模式,我们就直接来看这个类的实现吧,看完后我们再看看javadoc的,这个写的很详细。         static final InternalLogger logger = InternalLoggerFactory.getInstance(DefaultChannelPipeline.class); static final ChannelSink discardingSink = new DiscardingChannelSink(); priv ...
         netty里面最重要的应该是ChannelHandler,这个里面也是用户编程直接打交道的接口,也是串行于ChannelPipeLine里面执行相应的业务逻辑。         从类结构来看,一个handler应该有一个ChannelHandlerContext,ChannelHandler是处在上层的一个标识接口,下面有两个接口分别来处理Upstream event和一个Downstream event。         ChannelHandler比较好理解,我们重点来看DefaultChannelHandlerContext的实现类。         vola ...
Global site tag (gtag.js) - Google Analytics