- 博客(285)
- 资源 (129)
- 收藏
- 关注
原创 phoenix-plugin项目开源
摘要:phoenix-plugin是笔者自己封装的一个类似mybtis的orm框架,专门用来操作phoenix(一个基于hbase的数据库),项目地址:https://github.com/appleappleapple/phoenix-plugin 下面来看看使用说明:phoenix-plugin使用说明一、概述Phoenix-Plugin 是一个使用jdbc封装了操作Hbase的工具类.可以
2017-05-05 13:04:04 4392 4
原创 Zookeeper分布式队列的实现
摘要:本文要通过zookeeper实现一个简单可靠的分布式队列本文源码请在这里下载:https://github.com/appleappleapple/DistributeLearning一、队列Zookeeper可以处理两种类型的队列:(1)同步队列当一个队列的成员都聚齐时,这个队列才可用,否则一直等待所有成员到达。例如一个班去旅游,看是否所有人都到齐了,到齐了就发车。例如有个...
2017-05-03 09:17:03 11748 8
原创 Zookeeper分布式锁实现
摘要:本文要使用Zookeeper来实现一个分布式锁,是一个悲观锁。 本文源码请在这里下载:https://github.com/appleappleapple/DistributeLearning一、锁设计 获取锁实现思路:1. 首先创建一个作为锁目录(znode),通常用它来描述锁定的实体,称为:/lock_node2. 希望获得锁的客户端在锁目录下创建zno...
2017-05-03 09:14:59 9081 4
原创 Redis分布式锁----乐观锁的实现,以秒杀系统为例
摘要:本文使用redis来实现乐观锁,并以秒杀系统为实例来讲解整个过程。本文源码请在这里下载:https://github.com/appleappleapple/DistributeLearning乐观锁 大多数是基于数据版本(version)的记录机制实现的。即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个”version”字...
2017-05-02 10:07:37 37462 14
原创 Redis分布式锁----悲观锁实现,以秒杀系统为例
摘要:本文要实现的是一种使用redis来实现分布式锁。本文源码请在这里下载:https://github.com/appleappleapple/DistributeLearning1、分布式锁 分布式锁在是一种用来安全访问分式式机器上变量的安全方案,一般用在全局id生成,秒杀系统,全局变量共享、分布式事务等。一般会有两种实现方案,一种是悲观锁的实现,一种是乐观锁的实现。...
2017-05-02 10:05:45 16155 7
原创 前后端分离项目的技术与框架通用方案
摘要:本文是关于前后端分离项目的技术与框架选型通用方案,是一个比较成熟的方案。目前大部分公司也是采用这个体系。
2017-03-28 08:51:29 6243 7
原创 Flume运行原理
flume是由cloudera软件公司产出的可分布式日志收集系统,后与2009年被捐赠了apache软件基金会,为hadoop相关组件之一。尤其近几年随着flume的不断被完善以及升级版本的逐一推出,特别是flume-ng;同时flume内部的各种组件不断丰富,用户在开发的过程中使用的便利性得到很大的改善,现已成为apache top项目之一.
2017-03-24 20:08:36 3560 1
原创 Spark内存管理原理(上)
Spark运行是内存分为三部分,执行内存(execute memory),存储内存(storge memory),预留内存(reserved memory).在1.6版本以前执行内存和存储内存是静态分配的,意思着应用一启动后,各区域的内存大小就是不变的。这就会带来一个后果,有时执行内存严重不足,但是存储内存又都没怎么用,或者相反。因为这个问题,spakr1.6版本之后引入的动态内存管理机制。
2017-03-23 08:43:48 5147
原创 Storm运行原理探索
Apache Storm 的前身是 Twitter Storm 平台,目前已经归于 Apache 基金会管辖。Apache Storm 是一个免费开源的分布式实时计算系统。简化了流数据的可靠处理,像 Hadoop 一样实现实时批处理。Storm 很简单,可用于任意编程语言。Apache Storm 采用 Clojure 开发。Storm 有很多应用场景,包括实时数据分析、联机学习、持续计算、分布式 RPC、ETL 等。Storm 速度非常快,一个测试在单节点上实现每秒一百万的组处理。
2017-03-13 08:37:23 4264 2
原创 Dubbo应用启动与停止脚本,超详细解析
本周刚好研究了一下dubbo的启动脚本,所以在官网的启动脚本和公司内部的启动脚本做了一个整理,弄了一份比较通过的Dubbo应用启动和停止脚本。 下面的脚本只应用于配置分离的应用,什么叫做配置分离呢?就是使用maven打包时,借助assemble插件,打一个tar.gz的压缩包。里面有三个目录。bin目录,用来存放启动与停止的脚本,lib目录,用来存放相关依赖的j...
2017-03-12 15:01:12 15440 4
原创 Spark原理解析
Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等
2017-03-07 08:35:27 2241
原创 Flume+HDFS+Kafka+Hive实例搭建
摘要:本文要实现的是一个使用Flume来处理Kafka的数据,并将其存储到HDFS中去,然后通过Hive外部表关联查询出来存储的数据。所以在建立一个maven工程,整个工程最终的目录如下:下面开始一步一步讲解1、定义自己的source 之所以不用源生的,是因为要对得到的消息要一定的处理后再保存到hdfs中去,这里主要就是将每一条消息解析并组装成以“|”做...
2017-03-04 17:34:07 9912 7
原创 Java的Spi机制研究
SPI的全称是Service Provider Interface。简单来说,SPI机制提供了一个表达接口和其具体实现类之间的绑定关系的方案。具体是在JAR包的"META-INF/services/"目录下建立一个文件,文件名是接口的全限定名,文件的内容可以有多行,每行都是该接口对应的具体实现类的全限定名。SPI可以理解是为接口寻找服务实现类。现在公司的系统都是进行了模块的划分,系统抽象为多个模块,往往有很多不同的实现方案,比如日志模块的方案,xml解析模块、jdbc模块的方案等。面向的对象的设计里,我们
2017-02-27 22:50:55 2585 3
原创 Redis和DelayQueue设计具有过期时间的缓存
有一款APP,用户登陆后。会将用户的用户号,手机号、以及设备号等上报给后台的清洗程序(这里设备号是唯一的)。后台因为需要根据这三个做一定的运算。所以希望对于每一个访客-用户关系进行缓存,并只缓存10分钟,并且缓存使用redis。注意,是每一条记录都只缓存10分钟。而不是一批记录!2、解决方案 1、在redis里有个函数,hset(String key,String fiel
2017-02-27 11:19:51 5222 1
原创 Hbase常用SQL-DDL与DML汇总
Hbase是一个非关系型,面向列族的数据库,其插入和查询的性能远高于一般关系型数据库,下面主要来看一下一些常用的sql.
2017-02-22 08:28:53 3369
原创 Hive编程指南-数据类型、DDL、DML、常用字符串函数
摘要:本文主要讲了Hive的数据基本,及一些学用的DDL,DML语句,常用字符串函数。
2017-02-13 08:25:23 1546
原创 Hadoop实战演练:搜索数据分析----多个不同的Job进行串连(4)
在hadoop中,一个job需要另一个job的输出结果作为输入源。本文写了一个例子来设置4个不同Job的依赖实例
2016-09-15 15:47:07 2587
原创 Java并发编程与技术内幕:聊聊锁的技术内幕(上)
在Java并发编程里头,锁是一个非常重要的概念。就如同现实生活一样,如果房子上了锁。别人就进不去。Java里头如果一段代码取得了一个锁,其它地方再想去这个锁(或者再执行这个相同的代码)就都得等待锁释放。锁其实分成非常多。比如有互斥锁、读写锁、乐观锁、悲观锁、自旋锁、公平锁、非公平锁等。包括信号量其实都可以认为是一个锁。
2016-07-11 07:41:55 20489 1
原创 Java并发编程与技术内幕:CopyOnWriteArrayList、CopyOnWriteArraySet源码解析
本文主要讲了Java中CopyOnWriteArrayList 、CopyOnWriteArraySet的源码分析
2016-07-11 07:40:42 6392
原创 Java并发编程与技术内幕:ArrayBlockingQueue、LinkedBlockingQueue及SynchronousQueue源码解析
本文主要讲了Java中BlockingQueue的源码一、BlockingQueue介绍与常用方法BlockingQueue是一个阻塞队列。在高并发场景是用得非常多的,在线程池中。如果运行线程数目大于核心线程数目时,也会尝试把新加入的线程放到一个BlockingQueue中去
2016-06-21 09:18:29 8912 3
原创 Java并发编程与技术内幕:ThreadFactory、ThreadLocal
ThreadFactory这个故名思义,就是一个线程工厂。用来创建线程。这里为什么要使用线程工厂呢?其实就是为了统一在创建线程时设置一些参数,如是否守护线程。线程一些特性等,如优先级。通过这个TreadFactory创建出来的线程能保证有相同的特性。
2016-06-20 11:15:14 8001 4
原创 Java并发编程与技术内幕:ThreadGroup线程组应用
线程组ThreadGroup表示一组线程的集合,一旦一个线程归属到一个线程组之中后,就不能再更换其所在的线程组。那么为什么要使用线程组呢?个人认为有以下的好处:方便统一管理,线程组可以进行复制,快速定位到一个线程,统一进行异常设置等。ThreadGroup它其实并不属于Java并发包中的内容,它是java.lang中的内容。但是掌握对其的于理解,在实际应用中有很大的帮助。
2016-06-13 09:09:54 20873 5
原创 Java并发编程与技术内幕:Callable、Future、FutureTask、CompletionService
在上一文章中,笔者介绍了线程池及其内部的原理。今天主要讲的也是和线程相关的内容。一般情况下,使用Runnable接口、Thread实现的线程我们都是无法返回结果的。但是如果对一些场合需要线程返回的结果。就要使用用Callable、Future、FutureTask、CompletionService这几个类。Callable只能在ExecutorService的线程池中跑,但有返回结果,也可以通过
2016-06-12 08:53:38 27355 15
原创 Java并发编程与技术内幕:线程池深入理解
林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka 摘要: 本文主要讲了Java当中的线程池的使用方法、注意事项及其实现源码实现原理,并辅以实例加以说明,对加深Java线程池的理解有很大的帮助。 首先,讲讲什么是线程池?照笔者的简单理解,其实就是一组线程实时处理休眠状态,等待唤醒执行。...
2016-06-08 08:38:57 50348 13
原创 跟我学AngularJs:AngulaJs开发技巧汇总(持续更新)
林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka 本教程使用AngularJs版本:1.5.3AngularJs GitHub: https://github.com/angular/angular.js/AngularJs下载地址:https://angularjs.org/ 摘要:通过前面几篇...
2016-04-27 10:00:41 9181 1
dubbo应用启动与停止脚本
2017-03-12
AngularJS+RequireJs实现动态加载JS和页面
2016-09-11
Bluemix数据缓存实例
2016-02-05
Bluemix文本转语音实例
2016-02-05
RabbitMq与Spring整合实例
2016-01-20
select2-4.0.1.zip
2015-12-06
Shiro登陆验证实例,采用SSM
2015-12-06
pytesser_v0.0.1.zip
2015-11-02
PIL-1.1.7.win32-py2.7.exe
2015-11-02
tesseract-1.03.tar.gz
2015-11-02
PageHelper分页实例(带页面)
2015-10-27
web流程图动态绘制-使用raphael
2015-09-30
Maven搭建Spring+Mybatis+SpringMVC+MySql实例
2015-09-30
Maven搭建Spring+Mybatis+MySql实例
2015-09-30
dubbo-admin-2.5.4
2015-08-27
dubbo-hellowrold实例
2015-08-27
Mybatis Generator自动生成代码实例
2015-07-23
Ajax+SpringMVC+Spring+Mybatis+MySql+js用户注册实例
2015-07-23
mybatis-generator-core
2015-07-23
JSP九大内置对象和四种属性范围解读
2015-07-15
JavaScript中使用Json范例
2015-07-03
Json开发用到的jar包
2015-07-03
servlet之cookied深入浅出
2015-06-24
Servlet仿CSDN动态验证码的生成-带数字和字母
2015-06-23
Servlet动态验证码的生成-带数字和字母
2015-06-23
Spring之Construcotrer注入和setter注入不同的XML写法方式
2015-06-20
Spring3.2.9+commons-logging-1.2.jar
2015-06-17
Spring使用XML配置声明式事务
2015-05-19
Spring AOP之基于AspectJ注解总结与案例
2015-05-19
Spring JDBC应用实例讲解
2015-05-19
Spring AOP之基于Schema配置总结与案例
2015-05-19
Spring AOP之5种增强方法应用范例
2015-05-19
AOP之JDK动态代理和CGLib动态代理
2015-05-19
IOC之基于Java类的配置Bean
2015-05-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人