
开源分析
clamaa
这个作者很懒,什么都没留下…
展开
-
使用Tycho构建OSGi插件项目
使用Tycho构建OSGi插件项目自动构建OSGi Plugin项目,一直以来就是个头疼的问题。直到 Tycho 的出现,这些都不在成为问题了。用它你可以很轻松来构建Eclipse插件(Eclipse Plugin) , Eclipse features , Eclipse的更新站点(Update Site)以及可以直接执行的Eclipse产品(Eclipse Product)。 Tych...原创 2014-02-14 10:06:20 · 458 阅读 · 0 评论 -
flume系统使用以及与storm的初步整合
Flume NG的简单使用可以参考介绍文档:http://blog.youkuaiyun.com/pelick/article/details/18193527,图片也来源此blog: 下载完flume后,就可以在 https://flume.apache.org/FlumeUserGuide.html 中根据教程来启动agent console...2016-06-27 18:48:47 · 285 阅读 · 0 评论 -
Java和dubbo中的SPI机制学习
关于java的SPI机制,可以参考:https://docs.oracle.com/javase/tutorial/sound/SPI-intro.html 为了实现在模块装配时的时候不在程序中动态指明,需要提供一种服务发现机制,为某个接口寻找服务实现的机制,就是将装配的控制权转移到程序之外,在模块化设计中这个机制尤其重要。 Java SPI(Service Pro...原创 2016-10-18 16:32:14 · 217 阅读 · 0 评论 -
hadoop从调整GC到关键Counter计算原理分析
hadoop集群中发现使用Parallel Scavenge+Parallel Old收集器组合进行垃圾收集(这也是server端jvm默认的GC方式)时CPU占用可能会非常高,偶尔会出现爆满的状态,考虑可能是由于当时程序在执行GC导致的,而且很可能是由于并行GC导致的,我们根据服务器启动的Java进程查看一下当前使用的是哪种GC方式: $ jinfo -flag "GC方式" ...原创 2014-11-22 14:50:16 · 135 阅读 · 0 评论 -
hadoop map任务Combiner被调用的源码逻辑简要分析
从MapTask类中分析下去,看一下map任务是如何被调用并执行的。 入口方法是MapTask的run方法,看一下run方法的相关介绍: org.apache.hadoop.mapred.Taskpublic abstract void run(JobConf job, TaskUmbilicalProtocol ...2014-11-29 17:09:20 · 152 阅读 · 0 评论 -
解决jenkins产生的日志过大以及一些衍生问题
jenkins使用一段时间后,会导致出现比较大的日志问题,经常占满硬盘空间(因为我们使用的硬盘大小20G,无额外存储要求)。在硬盘空间占满之后,会导致一些基本的命令都无法使用,譬如tab都不能出结果。 其中显示的日志,就例如下面的样例: http://www.oschina.net/question/874878_245285 qu...原创 2016-03-05 20:56:07 · 236 阅读 · 0 评论 -
这段时间使用MySQL的一些记录
自从Fedora19之后,Linux上的MySQL就被MariaDB所取代,这段文字见如下引用: MySQL was replaced by MariaDB since Fedora 19 (http://fedoraproject.org/wiki/Features/ReplaceMySQLwithMariaDB).To install MariaDB Server you ...2016-03-13 08:09:11 · 84 阅读 · 0 评论 -
ApacheOFBiz的相关介绍以及使用总结(一)
由于最近一段时间在给一个创业的公司做客户关系管理CRM系统,限于人力要求(其实是没有多少人力),只能看能否有稳定,开源的半成品进行改造,而且最好不需要前端(js)相关开发人员的支援就可以把事情做成,经过一段时间(其实也就是1周)的调研,最好把目标锁定在OFBiz上。 OFBiz简介,什么是OFBiz OFBiz is an Apache Software Foundation ...原创 2016-03-13 15:03:24 · 403 阅读 · 0 评论 -
ApacheOFBiz的相关介绍以及使用总结(三)
Ofbiz中还提供了一些基础性服务,可以直接用来使用,下面就简单介绍说明一下。 ofbiz邮件发送服务 ofbiz中提供发送邮件相关功能:sendMailFromScreen context.get(“userLogin”),可以拿到当前登录用户的所有信息,其中的属性 userLoginId用户登录ID,可以用于获取用户登录的相应信息。 发送邮件的...原创 2016-03-19 22:32:01 · 164 阅读 · 0 评论 -
Solr入门
由于现公司要强化一下搜索相关的功能,特对Solr及Lucene进行简要的研究,并做一些个人总结。 Solr采用Lucene搜索库为核心,提供全文索引和搜索的开源企业平台,提供REST的HTTP/XML和JSON的API。 Solr项目的英文主页:http://lucene.apache.org/solr/,其中介绍了Solr的基本情况:Solr is highly re...2016-04-06 21:15:59 · 135 阅读 · 0 评论 -
Lucene 中的Tokenizer, TokenFilter学习
lucene中的TokenStream,TokenFilter之间关系 TokenStream是一个能够在被调用后产生语汇单元序列的类,其中有两个类型:Tokenizer和TokenFilter,两者的不同在于TokenFilter中包含了一个TokenStream作为input,该input仍然可以为一种TokenFilter进行递归封装,是一种组合模式;而Tokenzie...2016-06-15 10:03:29 · 472 阅读 · 0 评论 -
Solr-DIH建立索引并执行简单初步的查询
我们将solr的安装目录设置为$SOLR_INSTALL, ./solr start,不使用任何原有的examples来进行,启动完成后,不存在任何的core,提示No cores available。 在手动执行Add Core操作时,需要保证instanceDir和dataDir事先必须存在,以便能够建立目录成功。 根据错误提示,目录应该建立在$SOL...2016-05-04 13:40:31 · 110 阅读 · 0 评论 -
PMD分析源码过程简介
1. PMD简介PMD是一款采用BSD协议发布的Java程序代码检查工具。该工具可以做到检查Java代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等。该软件功能强大,扫描效率高,是Java程序员debug的好帮手。PMD是扫描 Java 源码并查找以下潜在问题:空捕捉块(catch block)从未用过的参数空if声明重复的导入...原创 2014-02-15 16:52:02 · 1018 阅读 · 0 评论 -
Sonar系统使用说明
1. Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测 2. Sonar的安装作为一个代码分析平台,Sonar由以下三个...原创 2014-02-23 16:20:34 · 628 阅读 · 0 评论 -
hsqldb简单使用总结
hsqldb数据库是一款纯Java实现的开源免费数据库,相对其他数据库来说,体积非常小,使用方便,非常利于在测试环境中使用,无需复杂的数据库配置。 hsqldb数据库引擎有几种服务器模式:Server模式,WebServer模式,Servlet模式,Standalone模式,Memory-Only模式。 其中最常用的要数Server模式了,首先需要从网站从ht...原创 2014-12-21 20:46:25 · 207 阅读 · 0 评论 -
Tomcat的文件列表服务
今天需要将分析后的日志结果发布到网站上供其他人浏览,虽然用户可以通过直接使用url链接可以访问到对应的文件,但是毕竟还是不方便,没有一个类似文件浏览器的东西,可以直接查看文件夹和文件列表。 其实这样的工具在tomcat中本身就已经实现了,只不过以前没有使用。对于任何想要发布成文件服务的项目,在tomcat的webapps中有一个已经存在文件夹,都会作为一个Context来解析,在...原创 2014-07-23 21:18:02 · 127 阅读 · 0 评论 -
Apache common exec包的相应使用总结
最近在写一个Java工具,其中调用了各种SHELL命令,使用了Runtime.getRuntime().exec(command);这个方法。但是在我调用某个命令执行操作时,程序就卡在那了,但是其他操作却能够正常输出,经过了一番查找和摸索,终于明白了原来Java在执行命令时输出到某个Buffer里,这个Buffer是有容量限制的,如果满了一直没有人读取,就会一直等待,造成进程锁死的现象,...2015-01-30 22:10:07 · 960 阅读 · 0 评论 -
Hadoop MapReduce任务的启动分析
正常情况下,我们都是启动Hadoop任务的方式大概就是通过hadoop jar命令(或者写在shell中),事实上运行的hadoop就是一个包装的.sh,下面就是其中的最后一行,表示在其中执行一个java命令,调用hadoop的一些主类,同时配置一些hadoop的相关CLASSPATH,OPTS等选项: exec "$JAVA" $JAVA_HEAP_MAX $HADOOP_...2015-04-15 22:53:41 · 126 阅读 · 0 评论 -
oozie工作流相关入门整理
Oozie支持工作流,其定义通过将多个Hadoop Job的定义按照一定的顺序组织起来,然后作为一个整体按照既定的路径运行。一个工作流已经定义了,通过启动该工作流Job,就会执行该工作流中包含的多个Hadoop Job,直到完成,这就是工作流Job的生命周期。 通过最简单的一个例子来了解oozie是如何运行的,运行oozie的服务器必须能够访问HDFS,可以提交hadoop ...2015-04-16 11:11:09 · 182 阅读 · 0 评论 -
Java程序中不通过hadoop jar的方式访问hdfs
一般情况下,我们使用Java访问hadoop distributed file system(hdfs)使用hadoop的相应api,添加以下的pom.xml依赖(这里以hadoop2.2.0版本为例): <dependency> <groupId>org.apache.hadoop</groupId> <art...原创 2015-05-05 21:32:07 · 164 阅读 · 0 评论 -
alibaba fastjson的使用总结和心得
最初接触alibaba fastjson是由于其性能上的优势,对比原来采用codehause.jackson的解析,在hadoop平台上的手动转换对象有着将近1/3的性能提升,但随着开发应用越来越多,渐渐地也发现了在其他方面的强大之处,例如直接转化泛型(jackson对泛型的支持相对来说就比较差)。 Fastjson会自动处理对象中的泛型,将其解析成原来定义好的对象,...2016-04-23 14:47:04 · 248 阅读 · 0 评论 -
使用nginx进行ab站点的过程简单分析
由于业务需要,在官网上部署两套前端页面,通过特定的字段(例如手机号码)进行分流,来达到a/b站的要求,后续对a/b站最终数据进行分析,选出哪部分页面对用户体验来说会更优秀。 nginx请求分流考虑利用nginx的分流功能:http://neoremind.com/2012/03/nginx%E6%A0%B9%E6%8D%AEcookie%E5%88%86%E6%B5%81/...2017-03-03 09:59:11 · 299 阅读 · 0 评论