`
jackyhongvip
  • 浏览: 162037 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表

jetty_start.jar

1.概述 本文主要分析下jetty的start.jar中的jar包加载顺序和一些简单逻辑,由于没有下到start.jar包的源码,用反编译的方式搞的,代码可能有些地方不一定准确。 2.分析 1.main方法 main方法非常简单,基本就这一句: 1 Main main = new Main().parseCommandLine(args); 2. public void parseCommandLine(String[] args) 该函数主要完成解析命令行参数的功能: 1.首先遍历所有的传入参数,并把他们加入到arguments这个Array ...

jetty_dm

1.概述 1. jetty的deploymentManager作用是帮助创建ContextHandler并加入到jetty的合适位置,以方便提供静态和动态的服务。比如,把某个位置的war包部署到jetty。2. deploymentManager一个主要功能是连接app Provider和applifecycle。 3. 有两种典型的appProvider,一种是webappProvider,主要是监视某目录的*.war,并把他们提交到app lifecycle graph中。一种是contextProvider,监视一个目录的*.xml文件,并用jetty xml为app lifecyc ...

java io

Java 的 I/O 类库的基本架构 I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道。在当今这个数据大爆炸时代,I/O 问题尤其突出,很容易成为一个性能瓶颈。正因如此,所以 Java 在 I/O 上也一直在做持续的优化,如从 1.4 开始引入了 NIO,提升了 I/O 的性能。关于 NIO 我们将在后面详细介绍。 Java 的 I/O 操作类在包 java.io 下,大概有将近 80 个类,但是这些类大概可以分成四组,分别是: 基于字节操作的 I/O 接口:InputStream 和 OutputS ...

http 请求流程

  我们来看当我们在浏览器输入http://www.mycompany.com:8080/mydir/index.html,幕后所发生的一切。 首先http是一个应用层的协议,在这个层的协议,只是一种通讯规范,也就是因为双方要进行通讯,大家要事先约定一个规范。 1.连接 当我们输入这样一个请求时,首先要建立一个socket连接,因为socket是通过ip和端口建立的,所以之前还有一个DNS解析过程,把www.mycompany.com变成ip,如果url里不包含端口号,则会使用该协议的默认端口号。 DNS的过程是这样的:首先我们知道我们本地的机器上在配置网络时都会填写DNS,这样本机就 ...

Merkle Tree

    A Merkle tree is a hash tree where leaves are hashes of the values of individual keys. Parent nodes higher in the tree are hashes of their respective children. The principal advantage of Merkle tree is that each branch of the tre can be checked independently without requiring nodes to downlo ...

布隆过滤器

布隆过滤器 (Bloom Filter)是由Burton Howard Bloom于1970年提出,它是一种space efficient的概率型数据结构,用于判断一个元素是否在集合中。在垃圾邮件过滤的黑白名单方法、爬虫(Crawler)的网址判重模块中等等经常被用到。哈希表也能用 ...
Multimap是guava中一个有用的工具类,下面我来介绍一下。 由来: 你是不是经常需要一个这样的数据结构: Java代码   Map<String,List<MyClass>> myClassListMap test2                                  = new HashMap<String,List<MyClass>>()   Map<String,List<MyClass>> myClassListMap test2 ...

BiMaps

BiMap BiMap是一个有用的集合类型,很简单,它就是一个双向的映射。 反向转换一个Map 一个普通的map是一个key/value的集合,你可以使用key来查询 value,例如,我来创建一个字段: Java代码   Map<String,String> britishToAmerican =        Maps.newHashMap();       britishToAmerican.put("aubergine","egglant");       britishToAmerican.p ...
Guava Splitter vs StringUtils 最近写了关于apache commons的StringUtils提供的常用功能介绍,见链接(http://vipcowrie.iteye.com/blog/1513017),但是我们知道google的guava也提供了一些字符串处理的常见功能,所以,我在本文将对两者的字符串分割函数做一次比较详细的对比(结果比较surprise)。 区别 首先看基本的使用方法: Java代码   // Apache StringUtils...    String[] tokens1= StringUtils.split(&q ...
OQL使用ANTLR写了个SQL解析器,这样ORM的基本功能就比较完整了。几天的时间比较仓促,所以对于最终目标,还只能算是个雏形。总体状况使用SQL解析器的主要优点:1. 基于解析之后的语法树提供用户操作接口,灵活性非常好,因为达到了对SQL每一部分的完整控制。2. 对数据库的适应性。   首先可以采用标准SQL,以及部分封装好的特性(例如分页)、函数(例如主要数据库都支持的函数,但语法有一定差异的),使用一个适配器Dialect基于语法树进行翻译。这样能满足绝大部分用途。   如果确实需要使用某数据库的特性,可能只需要修改语法描述文件就能实现,或者对语法树等作少量修改进行配合。3. 跟LIN ...
OQL中的两个概念对象case 1: 把属性替换为列名,对象替换为表名 <!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->select UserId,UserCode,UserName from User 结果: <!--<br /> <br /> Code hig ...

avro和thrift对比

    博客分类:
  • RPC
  Apache Avro 与 Thrift 比较 Avro和Thrift都是跨语言,基于二进制的高性能的通讯中间件. 它们都提供了数据序列化的功能和RPC服务. 总体功能上类似,但是哲学不一样. Thrift出自Facebook用于后台各个服务间的通讯,Thrift的设计强调统一的编程接口的多语言通讯框架. Avro出自Hadoop之父Doug Cutting, 在Thrift已经相当流行的情况下Avro的推出,其目标不仅是提供一套类似Thrift的通讯中间件更是要建立一个新的,标准性的云计算的数据交换和存储的Protocol。 这个和Thrift的理念不同,Thrift认为没有一 ...
本文原址:http://bbs.yahunet.com/thread-1661-1-1.html转载请注明!1,什么是DRBDDRBD(Distributed Replicated Block Device),DRBD 号称是 "网络 RAID",开源软件,由 LINBIT 公司开发。2,DRBD的主要功能DRBD 实际上是一种块设备的实现,主要被用于Li ...

Heartbeat2+DRBD

Prerequisites - Setup Minimal CentOS 5- be sure that both nodes can resolve correctly names (either through dns or /etc/hosts)- yum update (as usual … )- yum install heartbeat drbd kmod-drbd (available in the extras repository) Current situation* node1 192.168.0.11/24 , source disc /dev/sdb that ...
1.1方案简介 本方案采用Heartbeat双机热备软件来保证数据库的高稳定性和连续性,数据的一致性由DRBD这个工具来保证。默认情况下只有一台mysql在工作,当主mysql服务器出现问题后,系统将自动切换到备机上继续提供服务,当主 ...
Global site tag (gtag.js) - Google Analytics