- 博客(64)
- 资源 (10)
- 收藏
- 关注
转载 JAVA多线程--信号量(Semaphore)
简介 信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施, 它负责协调各个线程, 以保证它们能够正确、合理的使用公共资源。 一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。
2016-01-25 15:36:38
514
转载 Java之CyclicBarrier使用
1、类说明:一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。2、使用场景:需要所有的子任务都完成时,才执行主任务,这个时候就
2016-01-25 14:37:59
425
转载 浅析Java中CountDownLatch用法
/**CountDownLatch类是一个同步计数器,构造时传入int参数,该参数就是计数器的初始值,每调用一次countDown()方法,计数器减1,计数器大于0 时,await()方法会阻塞程序继续执行CountDownLatch如其所写,是一个倒计数的锁存器,当计数减至0时触发特定的事件。利用这种特性,可以让主线程等待子线程的结束。下面以一个模拟运动员比赛的例子加以说明。*/
2016-01-25 11:41:54
433
转载 Maven学习之利用mvn deploy命令上传包
mvn:deploy在整合或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。 以将ojdbc14传到nexus中的thirdparty为例 一 配置settings.xml 因为nexus是需要登陆操作,当然可以通过配置免登陆,这是后话。在settings.xml的 thir
2015-11-10 14:02:58
3933
转载 去nexus远程仓库里面添加JAR
往nexus远程仓库里面添加JAR远程仓库:http://10.1.252.21:8081/nexus/index.htmladmin/admin123 方法一:手动在左侧选择:Repositories在右侧下方做以下操作:选择:artifact upload选择:GAV输入:com.ailk,report,5.5
2015-11-10 14:01:10
2730
转载 Maven部署构件至远程仓库
地址:http://blog.csdn.net/tounaobun/article/details/8959682我们知道,Maven仓库包括本地仓库和远程仓库,而远程仓库又包括中央仓库,私服,Jboss仓库和Java.net仓库等。私服,即私有的仓库服务器,它不仅可以降低中央仓库负荷,节省外网带宽,还可以加速Maven构建,自己部署构件等,从而高效地使用Maven。对
2015-11-10 13:59:57
509
原创 Google Protocol Buffer安装及在python中的使用
安装1. 下载protobuf源代码(当前最新版本为:2.5.0) #cd /opt #wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz2. 解压,编译,安装 #tar zxvf protobuf-2.5.0.tar.gz #cd protobuf-2.5.0 #./config
2015-10-09 11:27:57
4928
转载 Java四种线程池的使用
Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。
2015-09-30 10:15:14
368
转载 Quartz使用-入门使用(java定时任务实现)
注:这里使用的是Quartz1.6.5版本(包:quartz-1.6.5.jar) 转载:http://blog.csdn.net/lotusyangjun/article/details/6450421 [java] view plaincopy//测试main函数 //QuartzTest.java
2015-09-30 10:13:03
507
原创 rsync技术总结
rsync安装(服务器和客户端都要进行)解压所下载的安装包tar –xzvf 包名.tar进入所解压的文件中./configuremakemake install服务器配置案例说明,如192.168.1.237和192.168.1.238两台服务 器,OS(centos6.2),192.168.1.238当服务器,192.168.
2015-09-11 17:41:04
614
转载 python标准日志模块logging的使用方法
TimedRotatingFileHandler这个模块是满足文件名按时间自动更换的需求,这样就可以保证日志单个文件不会太大。用法很简单,示例代码:1234567891011121314151617
2015-08-11 17:02:28
543
转载 python logging
最近想把自己零零散散写的代码嵌成一个应用,要考虑到各方面的debug,把logging看了一下,把用到的记下来。将日志打印到屏幕import logginglogging.debug(u'调试')logging.info(u'运行')logging.warning(u'警告')#运行显示:#WARNING:root:警告 #默认情况下,logging打印WARN
2015-08-11 17:00:47
418
转载 shell常用命令解释
[ -a FILE ]如果 FILE 存在则为真。[ -b FILE ]如果 FILE 存在且是一个块特殊文件则为真。[ -c FILE ]如果 FILE 存在且是一个字特殊文件则为真。[ -d FILE ]如果 FILE 存在且是一个目录则为真。[ -e FILE ]如果 FILE 存在则为真。[
2015-07-27 14:57:33
414
转载 spider JAVA如何判断网页编码
转载:http://aijuans.iteye.com/blog/1853755前言最近做一个搜索项目,需要爬取很多网站获取需要的信息。在爬取网页的时候,需要获得该网页的编码,不然的话会发现爬取下来的网页有很多都是乱码。 分析一般情况下,网页头信息会指定编码,可以解析header或者meta获得charset。但有时网页并没没有指定编码,这时就需要通过网页内
2015-06-18 18:06:09
424
转载 Square:从今天开始抛弃Fragment吧!
Square:从今天开始抛弃Fragment吧!Posted on 2015年6月4日原文链接 : Advocating Against Android Fragments原文作者 : Pierre-Yves Ricau译文出自 : 开发技术前线 www.devtf.cn译者 : chaossss 校对者: Belial状态 : 完成最近我在 Droidcon
2015-06-05 18:12:30
781
转载 htmlcleaner xpath的一些tips
转载:http://blog.csdn.net/ustcxjt/article/details/7803513参考网上列一些tipshttp://hi.baidu.com/yuweiming/blog/item/ac2bc817ad598f04c83d6d46.htmlHtmlCleaner supports XPath to f
2015-06-05 17:25:08
518
转载 htmlcleaner使用及xpath语法初探
转载:http://blog.csdn.net/reesun/article/details/8021201一、HtmlCleaner使用:1、HtmlCleanerHtmlCleaner是一个开源的Java语言的Html文档解析器。HtmlCleaner能够重新整理HTML文档的每个元素并生成结构良好(Well-Formed)的 HTML 文档。默认它遵循的规则是类似于大
2015-06-05 17:22:44
565
转载 2015腾讯微博登陆解密基于httpclient抓包模拟登陆
转载:http://blog.sina.com.cn/s/blog_74de42fb0102vofq.html由于以前做了一个用httpclient模拟用户登陆腾讯微博的一个小东西。最近用的时候,发现微博不能登陆发送了。发现腾讯登陆的加密方式更改了。所以就从新去更改了一下接口。在此把代码贴出来,记录一下自己,也希望网上有需要的同学可以参考参考。好了。现在开始:1.登陆t.qq.com的
2015-06-05 17:20:41
2780
转载 [Javascript] 爬虫 模拟新浪微博登陆
概述: 由于业务需要,要编写爬虫代码去爬去新浪微博用户的信息。虽然在网上能找到不少信息,但由于新浪微博改版,其登陆机制进行了修改,故很多老的文章就不适合用了。经过一番摸索,成功模拟新浪微博的登陆操作,项目使用的是Javascript语言,在ChromeExtension中运行, 跟大家分享一下这一过程和心得。 注意,本文写于2013.08.16,由于
2015-06-05 17:10:42
2261
转载 使用httpclient、htmlcleaner 、xpath 采集新浪微博3G站点数据
转载:http://blog.csdn.net/telnetor/article/details/85820450、背景原来对新浪微博的采集主要靠对weibo.com这个入口进行,但是最近发现有人使用weibo.cn这个入口操作。应为weibo.cn对应的是微博的3g版本,基本没有广告,页面小,这样下载数据量会小很多,并且3g版本的采集比较简单。于是就有了这个3g版本的采集程序。
2015-06-05 17:08:40
706
转载 Java实现新浪微博模拟登陆
登录的类主要有3个,BigIntegerRSA.java加密类、SinaSSOEncoder密码加密类、SinaLogonDog登录类。1、SinaLogonDog.java代码如下:Java代码 package com.crawler.sina.login; import java.io.ByteArrayOutputStream; import java.
2015-06-04 16:54:49
1859
转载 新浪微博自动(模拟)登陆详解及实现
最近需要爬取微博的数据进行分析,对于新浪微博,官方提供了API,但是有几个比较致命的限制(调用次数限制和授权期限限制),所以我觉得有必要研究一下爬虫直接爬去微博的方式获取微博数据的可行性。由于模拟登陆微博是爬虫爬取微博信息的第一步,所以在这里先介绍一下怎么模拟登陆微博(以下以新浪微博为例)。此过程主要分两步:1 脚本模拟登陆新浪微博,保存cookie;2 有了cookie信息后,利
2015-06-04 16:52:07
7211
转载 正则表达式(一) -- 元字符
正则表达式括号的作用1、限制多选项的范围 (Fri|1)st 这样写会匹配Frist或1st 如果去掉,则 Fri|1st就是匹配 Fri或1st2、将若干个字符进行组合,受量词的同时作用。例如 th+ 表示匹配 th thh thhh(h无数次),如果是(th)+,则匹配的是th thth ththth(th无数次)3、反向引用,即前面括号匹配到的东西记忆与后面,常用于匹配重复单词。
2015-06-03 17:17:48
561
转载 Java模式(适配器模式)
今天看了下Java中的适配器模式,以下就来小做下总结和谈谈感想,以便日后使用。 首先,先来先讲讲适配器。适配就是由“源”到“目标”的适配,而当中链接两者的关系就是适配器。它负责把“源”过度到“目标”。举个简单的例子,比如有一个“源”是一个对象人,他拥有2种技能分别是说日语和说英语,而某个岗位(目标)需要你同时回说日语、英语、和法语,好了,现在我们的任务就是要将人这个“源”适配的这个
2015-06-03 15:32:34
527
1
转载 鸭子-策略模式(Strategy)
鸭子-策略模式(Strategy)前言万事开头难,最近对这句话体会深刻!这篇文章是这个系列正式开始介绍设计模式的第一篇,所以肩负着确定这个系列风格的历史重任,它在我脑袋里默默地酝酿了好多天,却只搜刮出了一点儿不太清晰的轮廓,可是时间不等人,以后再多“迭代”几次吧!在前面的随笔里,我已经提到了,这个系列准备以《Head First Design Patterns》的结构为主线,所以每个模式的
2015-06-02 18:20:22
428
转载 java中关键字volatile的作用
用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致的情况。volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上面说的A) =========================分割线1===========
2015-06-02 18:19:47
352
转载 htmlparser使用指南
需要做一个垂直搜索引擎,比较了nekohtml和htmlparser 的功能,尽管nekohtml在容错性、性能等方面的口碑好像比htmlparser好(htmlunit也用的是nekohtml),但感觉 nekohtml的测试用例和文档都比htmlparser都少,而且htmlparser基本上能够满足垂直搜索引擎页面处理分析的需求,因此先研究一 下htmlparser的使用,有空再研究neko
2015-05-14 17:52:40
505
原创 spider工具类
package com.util;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.UnsupportedEncodingException;import java.net.U
2015-05-11 19:32:44
1021
转载 使用lingpipe自然语言处理包进行文本分类
TrainTClassifier,基于TF/IDF算法的分类器,必须先把要语料库放到各自所属的分类文件夹中,比如:与金融相关的文章就放到金融这个文件夹中,我这的根目录是f:/data/category,训练完后会生成一个分类器模型tclassifier,之后其它文本的分类的确定就是通过它。[java] view plaincopy"font-size
2015-05-08 11:23:14
1090
转载 像素是什么意思,像素与分辨率的区别
像素是什么意思?一个像素有多大?告诉你像素和分辨率的关系! 图片的像素和分辨率 对于像素和分辨率这两个词,主要见于图片和显示设备上。只要你用到手机里的照相功能,你都要接触到这两个概念。只是大多数人都是一知半解,而更多的人却根本就不知道,白白浪费了手机里500万、800万像素的摄影头,却不知道如何调节使用。像素是组成图象的最基本单元要素:点。分辨率是指在长和宽的两个方向上各拥有的
2015-05-05 18:47:07
3208
转载 rabbitmq 集群功能讲解
看了很多关于rabbitmq集群的文章,感觉官网写的太抽像,并且个别地方如果不是elrong开发人员根本就了解不到,通过各地方收集,大致了解rabbitmq集群的二种方式:普通模式:默认的集群模式。镜像模式:把需要的队列做成镜像队列。网上关于这两种的介绍都很一样,现在把它们记录在博客里,并对细节加以修改。---------------------------------------
2015-04-28 16:09:23
5800
转载 rabbitMQ学习笔记(一) ubuntu12.4 与Windows 下rabbitMQ的安装
一、Ubuntu12.4下安装方式安装rabbitMQ之前需要先按抓功能ERLang 。安装ERLang之前需要安装一下依赖项sudo apt-get install build-essential sudo apt-get install libncurses5-dev sudo apt-get install libssl-dev 如果无
2015-04-28 15:35:31
408
转载 rabbitMQ学习笔记(二) 简单的发送与接收消息 HelloWorld
首先要下载rabbitmq的javaClient库,然后加入到项目中,下载地址为:http://www.rabbitmq.com/releases/rabbitmq-java-client/v3.1.5/rabbitmq-java-client-bin-3.1.5.zip1、发送消息发送消息首先要获取与rabbitmq-server的连接,然后从渠道(chann)中指定
2015-04-28 15:34:42
444
转载 rabbitMQ学习笔记(三) 消息确认与公平调度消费者
从本节开始称Sender为生产者 , Recv为消费者一、消息确认为了确保消息一定被消费者处理,rabbitMQ提供了消息确认功能,就是在消费者处理完任务之后,就给服务器一个回馈,服务器就会将该消息删除,如果消费者超时不回馈,那么服务器将就将该消息重新发送给其他消费者默认是开启的,在消费者端通过下面的方式开启消息确认, 首先将autoAck自动确认关闭,等
2015-04-28 15:32:30
1055
转载 rabbitMQ学习笔记(五) 消息路由
生产者会生产出很多消息 , 但是不同的消费者可能会有不同的需求,只需要接收指定的消息,其他的消息需要被过滤掉。 这时候就可以对消息进行过滤了。 在消费者端设置好需要接收的消息类型。如果不使用默认的Exchange发送消息,而是使用我们自定定义的Exchange发送消息,那么下面这个方法的第二个参数就不是QueueName了,而是消息的类型。channel.basicPu
2015-04-28 15:31:07
502
转载 rabbitMQ学习笔记(四) 发布/订阅消息
前面都是一条消息只会被一个消费者处理。 如果要每个消费者都处理同一个消息,rabbitMq也提供了相应的方法。在以前的程序中,不管是生产者端还是消费者端都必须知道一个指定的QueueName才能发送、获取消息。 而rabbitMQ消息模型的核心思想是生产者不会将消息直接发送给队列。因为,生产者通常不会知道消息将会被哪些消费者接收。生产者的消息虽然不是直接发送给Qu
2015-04-28 15:31:02
476
转载 rabbitMQ学习笔记(六) topic类型消息。
上一节中使用了消息路由,消费者可以选择性的接收消息。 但是这样还是不够灵活。 比如某个消费者要订阅娱乐新闻消息 。 包括新浪、网易、腾讯的娱乐新闻。那么消费者就需要绑定三次,分别绑定这三个网站的消息类型。 如果新闻门户更多了,那么消费者将要绑定个更多的消息类型, 其实消费者只是需要订阅娱乐新闻,不管是哪个网站的新闻,都需要。 那么在rabbitMQ中可以使用topic类型。 模糊匹配消息类
2015-04-28 15:30:11
1553
转载 rabbitMQ学习笔记(七) RPC 远程过程调用
当客户端想要调用服务器的某个方法来完成某项功能时,就可以使用rabbitMQ支持的PRC服务。其实RPC服务与普通的收发消息的区别不大, RPC的过程其实就是 客户端向服务端定义好的Queue发送消息,其中携带的消息就应该是服务端将要调用的方法的参数 ,并使用Propertis告诉服务端将结果返回到指定的Queue。示例:[jav
2015-04-28 15:27:37
404
自己动手写爬虫源代码(第10章)
2014-03-28
自己动手写爬虫源代码(第7章)
2014-03-28
自己动手写爬虫源代码(第6章)
2014-03-28
自己动手写爬虫源代码(第4章)
2014-03-28
自己动手写爬虫源代码(第2章)
2014-03-28
自己动手写爬虫源代码(第一章)
2014-03-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人