`
文章列表
最近写了个爬虫项目,暂时放在github上。https://github.com/shenbaise/goodcrawler   对于爬虫最难的问题应该是javascript和ajax的处理。现在很多网站使用大量ajax,普通爬虫无法获取js生成的 内容。   目前大体上有2中方式来解决这个问题。 一是使用htmlunit之类的所谓handless browser。htmlunit对js支持相当不错。只是适用起来不很方便。想要知道什么时候js执行完了比较困难。 官网 FQA对这个问题的说明。     Nothing happens when using HtmlUnit ...
#controller模块 controller模块为多数应用实现了一些普通通途的功能 1.发现网络状态和事件(拓扑结构,设备,流量) 2.能够控制网络交换机(network switches)通信(例如,OpenFlow协议) 3.管理floodlight模块,共享存储,线程,测试等资源 4.提供一个web界面和debug服务器(Jython) 一下是目前实现的controller模块: FloodlightProvider (Dev)DeviceManagerImpl (Dev)LinkDiscoveryManager (Dev)TopologyService (Dev)R ...
Java中并发无外乎多线程加锁等方式,平时用的比较多的就是util.concurrency下的一些工具。除此之外业界比较推崇的就是erlang、scala中较为流行的actor模型,该模型是著名的无锁模型,actor(可以简单认为是轻量线程)之间通过发送消息进行通信,由事件驱动,全程无锁。 最近看论坛发现了另外一个并发模型-disruptor。它比较特殊,其核心是ringbuffer,闲来无事做了个简单测试。用它来模拟典型的生产者-消费者问题,本例中一个消费者-一个生产者,并将disruptor和jdk提供的ArrayBlockingQueue做了对比,发现在本人的笔记本上前者比后者快将近 ...
    两年前应朋友之邀写一本关于android开发方面的入门教程,当时欣然答应。我原本以为自己会一直从事移动互联网方面的工作,但后来随着工作地点和行业的变换,慢慢地我离android方面的工作越来越远,后来渐渐进入了大数据、信息检索、云计算行业,同时时间也越来越少以至于没有多余的精力完成后面的章节。从去年3月份后,“这本书”的写作就停止了(多少有点遗憾)。所以时隔一年,现在这本书不打算再继续写下去了,目前仅完成了5章内容(原计划为12章),我想把它们贴出来方便初学者学习,当然android方面的书籍现在已经相当多了,希望我写的这点能给初学者多一点选择。第一回写书,而且没有写完,错误之处及编 ...

mina2 之 outofmemory

    博客分类:
  • mima
  mina在接收数据时,接到的数据后使用protocoldecoderoutput将数据写入消息队列,用户在ioHandler的messageReceived方法中取数据并处理。 当数据处理不过了时,消息队列就会被撑爆,最后oom。   使用mina时如果数据量较大,可以直接绕开内置的消息队列,不在ioHandler中处理收发数据操作,而直接在decoder和encoder中操作。    
原链http://coolshell.cn/articles/5426.html vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。 ——————————正文开始—————————— 你想以最快的速度学习人类史上最好的文本编辑器VIM吗?你先得懂得如何在VIM幸存下来,然后一点一点地学习各种戏法。 Vim the Six Billi ...
原文链接:http://blog.csdn.net/fxjtoday/article/details/6200257 考虑一下这个场景 , 使用网络爬虫高速爬取大量的网页内容 , 如果想把这些网页进行实时聚类 , 并从中提取每个网页聚类的主题 . 我们应该怎么样去做 对于普通或常见的聚类算法 , 比如 K-means, 或 Hierarchical 聚类 

flume使用总结

  典型的flume配置:   多agent、source的配置类似   flume与syslog集成   修改syslog配置文件/etc/rsyslog.conf文件     
  简介 ConcurrentHashMap 是 util.concurrent 包的重要成员。本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap 高并发的具体实现机制。 由于 ConcurrentHashMap 的源代码实现依赖于 Java 内存模型,所以阅读本文需要读者了解 Java 内存模型。同时,ConcurrentHashMap 的源代码会涉及到散列算法和链表数据结构,所以,读者需要对散列算法和基于链表的数据结构有所了解。 回页首 Java 内存模型 由于 ConcurrentHashMap 是建立在 Java 内存模型基础上的, ...
转自:http://www.blogjava.net/BlueDavy/archive/2008/03/04/182077.html在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、 Burlap、Hessian、SOAP、EJB和JMS等,这些名词之间到底是些什么关系呢,它们背后到底是基于什么原理实现的呢,了解这些是实现分布 式服务框架的基础知识,而如果在性能上有高的要求的话,那深入了解这些技术背后的机制就是必须的了,在这篇blog中我们将来一探究竟,抛砖引玉,欢迎大 家提供更多的实现远程通讯的技术和原理的 ...
转载:http://hllvm.group.iteye.com/group/wiki/2865-JVM 以下配置主要针对分代垃圾回收算法而言。   堆大小设置 年轻代的设置很关键 JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。 典型设置: java -Xmx3550m -Xms3550m -Xmn2g –X ...
我写了一个flume的client,向flume发数据,发送小文件的时候没什么问题,发送大文件的时候报一下错误: (公司安全搞的太严,复制不了代码)        
  以ftp方式做yum源, 挂载上安装光盘,整个复制到ftp的根目录下,如果是http的yum源, 就弄到www目录(就是你放网页,部署项目的那个目录)下。 备份一下原来的源 # mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak 创建新的CentOS-Base.repo文件(名字可以随便起,扩展名为repo就行了),内容如下: [ftp] #如果是http上面就相应的改一下 name=myyum # 我们建立的服务 ...
hbase的高级用法 - 读书札记。   2.hbase表的两种设计: (tall-narrow and flat-wide)高而窄型设计、宽而平型设计。 前者拥有较少的列和较多的行。后者行少而列多。考虑到keyrow查询粒度的问题,建议把cell中的值提取到key中, 尤其是当cell中的值需要查询时。另外,hbase仅支持行边界分裂,因此前者能很好支持,而flat-wide的设计中, 如果一行数据太大,超过region大小就会和region分裂策略相互冲突。   3.部分键值扫描器:通过设置startrow 和endrow来查询一段RowKey。(startrow + 1 ...

nagois pnp集成安装

  一句话,程序员必须是万能的!   贴一篇文章,记录一下使用nagios监控Hadoop集群的过程,以免忘了。     安装过程(所有下载的文件都放在/usr/local/download)   #基础依赖      写道 # yum install httpd gcc glibc glibc-commom gd gd-devel# yum install php php-gd -y# yum -y install xinetd          写道 # useradd nagios 创建nagios 用户# passwd na ...
Global site tag (gtag.js) - Google Analytics