自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

冷风

不断归零

  • 博客(23)
  • 收藏
  • 关注

原创 scrapy与redis结合实现服务化的分布式爬虫

很多场景下应该都有这样的需求:需要一个组件,向它输入一组url,要求返回这些url请求后的结果,当然这些结果通常需要一些必要的解析、规范化和结构化(比如json)。有的场景不要求系统有很高的吞吐量,有时则需要系统处理大量的请求。这时候就需要构建一个可扩展的爬虫服务,在没有任务的时候等待任务到来,一旦有任务到达就可以立即响应,并且在吞吐量要求很高时可以方便地横向扩展,避免遇到带宽、网络延迟等瓶颈。这

2017-02-10 16:05:05 4891

原创 zorba3.0的编译安装与python binding的使用

自己的项目必须用一个全功能的xquery引擎,并要在python中调用,找了很久只找到了zorba,但是xquery本身非常冷门,zorba也是找不到用武之地,活跃度非常小,导致文档的结构与排版非常奇葩而且文档和源码有两处错误,再加上zorba本身需要很多的第三方包支持,我第一次尝试编译zorba的时候基本毫无头绪。但是没有办法,市面上的xquery就它一个,非他不可,所以只能头硬死磕,终于在解决

2017-01-09 15:20:14 953

原创 json字符串转成java的map与list复合对象的解决方法

开发时需要将json字符串转成java的map和list,找了半天竟然没有一个现成的的包支持这种功能!不可思议,苦苦在stackoverflow上求医问药,终于找到jackson的一个特性,可以生成json的节点树,这才终于解决了这个头疼的问题。代码引用了jackson2.7.3的两个包:                    com.fasterxml.jackson.core

2016-09-27 15:18:14 2625

原创 对照java和spring理解python中单例模式的装饰器方法

python的对象管理机制与java思路不同,刚刚接触,对python的对象管理和反射(java才有)不太清楚。最近遇到了一个问题:在一个任务队列末端的worker不断监控队列中的消息,并执行相应的任务,每次执行时都会调用一个数据库交互工具类,由于不像spring那样是ioc的,所以每次执行任务,这个工具类都会重新实例化一次而旧的类不知为什么并没有因为任务的完成而被回收,因此导致了内存不断增长,最

2016-04-08 12:21:14 1662

原创 记一次hive的内存溢出(OutOfMemoryError: Java heap space)排查

刚刚从java组转岗找数据组,学习大数据的知识,开发语言也从java转到python新奇之外也遇到了诸多问题,其中最令我头疼的就是在hive上的统计任务总是三天两头地报告OutOfMemory一开始因为有别的同事的任务干扰,我以为是计算资源不够导致的,但后来把任务转移到了另一个集群后,问题仍然存在,让我百思不得其解。问题的具体描述如下:统计逻辑使用python pyhs2连接hiv

2015-12-28 14:41:13 21242 3

原创 用户自定义排序功能的设计思路

需要做一个用户自定义排序的功能,本来并不觉得麻烦,但是做着做着发现,里面的问题很值得好好思考一下。用户自定义排序的数据库设计很简单,无非是对需要排序的条加一个排序字段,但麻烦之处主要在于这个字段的更新过程。如果用简单的1、2、3、4作为排序字段,那么把4移到1前面的情况下,原先的1~3都需要+1来为新的“1”腾出位置,这样会带来数倍于预期的计算量。于是我希望找到一种方法来使得改

2015-05-29 11:14:41 11724 2

原创 java包装类的比较、hash和CollectionUtils交集原理探究

连等(==)比较的适用与不适用场景;HashSet的去重机制;CollectionUtils.intersection()的去重规则;

2015-05-22 14:15:18 1964

原创 GZIPInputStream read()方法中的巨坑

问题现象:在从.gz文件中按一定缓存大小读取文件时,会莫名其妙地出现重复读取让此一读过的数据:例如,第一次:abcdefghi第二次读取成了:jkldefghi原因:百思不得其解,后来看网络上有说法说read方法不一定将缓存填满。于是上述现象得到了解释,即第二次其实只读到了jkl这几个字符,而后面的defghi又没有被清除掉,于是出现了上述现象。解决方法:每

2014-10-23 15:47:30 7667

原创 理解MySql事务隔离机制、锁以及各种锁协议

一直以来对数据库的事务隔离机制的理解总是停留在表面,其内容也是看一遍忘一边。这两天决定从原理上理解它,整理成自己的知识。查阅资料的过程中发现好多零碎的概念如果串起来足够写一本书,所以在这里给自己梳理一个脉络,具体的内容参考引文或在网上搜一下。由于平时接触最多的是MySQL,所以文章中某些部分是MySQL特有的特性,请读者注意。数据库并发操作会引发的问题:多个事务同时访问数据库时

2014-08-22 18:29:23 6496 8

原创 ehcache object key的实现原理

这几天为了设计缓存机制,查阅了很多缓存方面的资料,作为没有实战经验的小白自然被各种性能报告、内存机制、集群方式搞得一头雾水。但查了这些资料后,对各个cache的特点有了感性的了解。ehcache是最后调研的cache,他有个明显不同的地方:缓存中的键和值都可以是object类型的对象。只可以是object这较好接受,大概是对象的序列化支持的,而ehcache本身是纯java实现,这是它得天独厚

2014-07-23 18:08:16 4346 2

原创 quartz集群调度机制调研及源码分析

quartz2.2.1集群调度机制调研及源码分析引言quartz集群架构调度器实例化调度过程触发器的获取触发trigger:Job执行过程:总结:附:引言quratz是目前最为成熟,使用最广泛的java任务调度框架,功能强大配置灵活.在企业应用中占重要地位.quratz在集群环境中的使用方式是每个企业级系统都要考虑的问题.早在2006年,在ITe

2014-05-26 16:19:36 10140 4

原创 Quartz recovery 及misfired机制的源码分析

quartz作为成熟的任务调度系统对系统的异常及崩溃后处理机制有很好的设计,以保证整个调度过程是一个逻辑闭环,任何阶段出现的问题都可以通过框架中的机制尽最大限度的弥补,并将系统的状态引向正轨。首先要明确的是:quartz如果在执行具体任务时,在任务执行过程中抛出异常,那么不作任何处理,这是使用者程序本身的问题,不需要框架处理。下面介绍quartz中的两大类异常情况:

2014-05-26 16:14:40 8331 1

翻译 生成时间轴:记录你的生活轨迹——facebook工程师讲述时间轴的开发始末

时间轴对于Facebook来说不仅是一个新特性,也是这一产品中一个卓越而精彩的工程典范。我们之前的新鲜事页面展示了最近几天或几周的活动,但是从一开始我门就知道,对于时间轴这项功能,我们要从几年甚至几百年的角度来考虑。我们需要以很高的效率对日志、分享、照片、签到等信息进行遍历、聚合、排序,已呈现出这些年中你在facebook上做的最重要的事情。  时间轴项目的开发计划非常的激进。我们开始开发这一

2014-02-26 17:05:29 2282

原创 spring mvc No mapping found for HTTP request with URI [] in DispatcherServlet

第一次做自己的spring mvc项目,碰到了一个无比奇怪的问题:以前自己写的demo都是好好地,写项目时把各种配置粘在对应的位置上后spring却报了404,控制台上有这样的日志:警告: No mapping found for HTTP request with URI [/xxxx/yyy.html] in DispatcherServlet with name 'mainServlet

2013-12-15 19:48:20 4755

原创 spring AOP对多个增强的配置方式

spring AOP对多个增强的配置方式

2013-11-14 23:49:37 918

原创 spring学习笔记——引用bean的属性值,动态管理网站参数与菜单项

我所在公司的开发框架很陈旧,功能上也有很多bug,唯一让我觉得NB的是这框架可以动态调整自己的界面菜单、子菜单,动态配置权限和各种参数。一直想知道这种功能的实现方式,今天看书,发现spring中对bean属性的引用功能可以很容易的把分散在各处的系统参数维护在数据库中。又拿出第一篇写的demo,修改一番,实现了在数据库中管理菜单项的功能。首先在数据库中建立相应的表,菜单的字段有id、menuNa

2013-11-12 22:52:46 1040

原创 spring学习笔记——摘录:对properties文件引用的两种方法

平时项目中常用到properties文件作为配置项的管理,在spring中必然少不了这种配置,引用properties有几种不同的方法在此罗列出来:方法一:<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" p:location="classpath:confi

2013-11-12 00:15:05 2443 1

原创 spring学习笔记——spring框架bean装配流水线

物料组件:Resource,BeanDefinition,PropertyEditor等加工设备组件:ResourceLoader,BeanDefinitionReader,BeanFactoryPostProcessor,InstantiationStrategy等Resource(xml文件、java注解等)                    |

2013-11-11 14:07:13 1034

原创 spring学习笔记——spring Hello world 普通java项目版 分析类的加载与装配

上一篇展示了spring的web版hello world,本篇来一个普通java项目中运用spring的demo,里面有对singleton与prototype的讨论,可以很清晰的看到spring对实体的注入策略。因为是个demo,后来看工厂后处理器以及bean前、bean后处理器的时候加入了一个简单地BeanPostProcessorImpl实现类,在此一起展现。项目结构:建项目

2013-11-11 13:49:51 2280

转载 Spring中各Schema的作用

图片来自《Spring3.x企业应用实战》

2013-11-11 13:07:16 4461

原创 Spring的资源加载路径列表

图片来自《Spring3.x企业应用实战》

2013-11-11 12:38:20 1610

原创 spring学习笔记——spring Hello world Web版

spring对我来说已经不陌生了,在与同学合作的项目中经常用到,可是对spring一直都没有一个清晰地知识结构,想来想去决定开博客写下自己的学习轨迹。本人自选教材为《Spring3.X企业应用实战》,在此对其细致的讲解表示衷心感谢!首先来个Hello World 感受一下Spring为开发带来的变化。文件结构如下:架spring项目首先肯定是spring库,在官网上找了半天

2013-11-10 23:56:10 1030

原创 也来解释一下android的MessageQueue源码

大三了,老想自己写点市面上没有的东西,这些天在尝试写一个可以用鼠标操作手机的android应用,前段时间苦于找不到能在屏幕上产生触摸事件的方法,找了N久,发现一个Instrumentation类,觉得靠谱,就拿过来试一试。用的时候发现要在不同的线程里使用,于是我想是不是做个像android消息队列的结构,无信息要处理的时候线程等待,一旦有信息就立刻处理。    但是连猪跑都没见过,自己写一个谈

2013-08-24 17:04:20 675

空空如也

空空如也

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

TA关注的人

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