- 博客(136)
- 问答 (2)
- 收藏
- 关注
大数据处理之荷兰三剑客
大数据现在是业内炙手可热的话题,随着技术的发展,大数据存储技术已经不再是难点,但是对大数据如何做好存储后的下一步处理将是未来竞争的焦点,目前比较受欢迎的Storm, Spark, Hadoop三个大数据处理工具都是JVM上的语言写成的。Spark由Scala写成,是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map red...
2017-04-25 20:16:49
399
spring-data-jpa原理探秘(4)-JpaQueryExecution类概述
spring-data-jpa原理的第四篇,来说说JpaQueryExecution相关类。首先给出类图和继承关系:[img]https://static.oschina.net/uploads/space/2017/0228/135538_J1nS_75789.png[/img]spring-data-jpa中对JpaQueryExecution有明确说明:包含多个查询运行策略的类的...
2017-02-28 13:55:45
439
spring-data-jpa原理探秘(3)-QueryMethod类
第三篇,我们来说说JPA规范中的QueryMethod相关类。首先给出类图和继承关系:[img]https://static.oschina.net/uploads/space/2017/0119/221605_mkCm_75789.png[/img]很简单,是不是,只有区区两个相关类,QueryMethod及其子类JpaQueryMethod。QueryMethod类位于spring...
2017-01-19 22:23:35
257
spring-data-jpa原理探秘(2)-RepositoryQuery的用途和分类
本系列的第二篇文章,主要讲解在spring-data-jpa中占有重要地位的RepositoryQuery接口的用途和分类。首先我们看看RepositoryQuery接口极其子类的类图[img]http://img.blog.csdn.net/20161229232800880?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ2FvbHU=/fo...
2016-12-29 23:33:26
382
spring-data-jpa原理探秘(1)-运行环境创建及加载Repository接口
spring-data-jpa的优点很多,比如继承Repository接口,在注解中书写JPQL语句即可访问数据库;支持方法名解析方式访问数据库;使用Predicate支持动态查询等,在此不一一列举了。这些都是使用spring-data-jpa中的种种优点,要想将之使用的更好更优雅,就要从spring-data-jpa的加载和运行机制进行探秘。此文系作者查看spring-data-jpa源码及...
2016-11-30 23:30:53
162
两阶段提交
这篇文章粗略讲一下两阶段提交协议,即2PC,Two Phase Commitment Protocol。之所以称为两阶段提交,是相对于单库的事务提交方式来说的。我们在单库上完成相关的数据库操作后,就会直接提交或者回滚,而在分布式系统中,在提交之前增加了准备的阶段,所以称为两阶段提交。图1显示的就是第一阶段提交的情况,可以看到,参与操作的是事务管理器与两个资源。[img]http://img...
2016-10-31 19:52:05
129
spring-boot读取props和yml配置文件
最近微框架spring-boot很火,笔者也跟风学习了一下,废话不多说,现给出一个读取配置文件的例子。首先,需要在pom文件中依赖以下jar包[code] org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot...
2016-09-30 01:19:24
384
岛上书店荐书录
最近不是特别忙,利用闲暇时间读了一下在京东618狂欢节时买的《岛上书店》一书。阅读之前还很好奇,看书名是一本并无太多噱头的书,怎么能在京东文学销售榜高居榜首一年之久。书的封面套上俨然写着:现象级全球畅销书 25国读者含泪推荐 美国独立书商选书第1名 美国图书馆推荐阅读第1名。。。带着好奇,我翻开了此书,开头几个短篇章节,觉得也就能读的下去,故事娓娓道来,不快不慢,是作者在引领着读者的步...
2016-08-05 12:42:33
172
ubuntu单机下安装多mysql 5.7.14
前文已述,因为需要测试mysql的主从配置方案,所以要安装多个mysql。这次是在ubuntu kylin 14.10上安装多个mysql 5.7.14。系统环境:ubuntu kylin 14.10,64位系统 mysql版本:5.7.14社区版 mysql下载地址:http://dev.mysql.com/downloads/mysql/,选择 Linux - Generic,...
2016-08-01 23:38:33
198
windows系统下安装最新mysql 5.7.13解压版
最近因为需要测试mysql的多种主从配置方案,所以要安装多个mysql。为了更好的应用机器,干脆就在一台windows机器上安装了多个mysql,用不同的端口号区别开。那么,最好的选择自然就是安装多个mysql解压版,而不是那种msi安装版,可以达到绿色版的用后即焚效果。系统环境:win 7,32位系统mysql版本:5.7.13社区版mysql下载地址:http://dev.my...
2016-07-25 20:19:12
156
玩转京东暨618狂欢节回顾
一年一度的京东618狂欢节已经过去一周了,从5月底6月初开始,笔者就已经加入了本次购物血拼,各种秒杀,满减促销等满天飞,归纳起来其实就是三个字:买买买!先说说笔者发现的一个现象,自从京东4月中旬免运费从79涨到99之后,一夜之间,淘宝天猫卖家好像商量好似的,相当一部分商品的质量开始大打折扣。笔者是怎么发现的呢?首先我长期以来都经常在淘宝上购买各种商品,直到3月底还在淘宝上淘了些小商品,...
2016-06-26 15:55:26
279
论开源<5>---个人利益受损
请看本系列最后一篇文章。5.从行业及个人利益来看开源最后,我们从程序员/工程师自身的个人利益来看看开源对从业人员的影响。如果技术行业中从公司到个人,大家都提倡闭源,那么软件行业可以妥妥的预见不会成为吃青春饭,拼体力的行业,软件工程师只能是经验越久,越老越吃香。看看现在路人皆知的事情,都知道码农们是从网上直接搜索到答案,然后各种拼凑代码,写个程序是多么简单的事情。程序员被蔑称为码农,...
2016-06-16 15:35:16
104
论开源<4>---开源的商业模式
4.开源的商业模式人类社会的每次飞跃,都源于知识的普及和传播速度的飞跃。文字,纸张,印刷术,互联网,都带来了文明的跃进。知识是在交流中增长的,人类绝大多数知识都是开源的,闭源的(秘密)只是历史中的偶然,人类的进步来自于普遍共享的知识。正如Linus所说,开源是常态,闭源才是偶然。当然,软件开源运动,一部分是理想主义者的情怀,还有更大一部分是商业公司的策略,就是我们这次要讨论的开源商业模式。...
2016-05-17 12:51:14
607
论开源<3>---从公司企业的高度看开源
3.从公司企业的高度来看开源首先需要承认,从人类发展史上来说,代码开源确实是极大的推进了社会科技水平的发展,有着积极的进步的意义。但是,从商业公司的高度上来讲,开源还是不开源,公司都会权衡各种利弊,不是做活雷锋的。商业公司开源的大多是基础设施,其目的,一个是让更多的人参与到开发中来,帮助提高开发速度与软件质量,另一个是作为一种低价倾销手段,让这种基础设施霸占市场。商业公司由自己的雇员主导开源软...
2016-05-11 11:53:58
127
论开源<2>---开源运动的国家目标
接下来第二篇,我们从国家层面来审视一下开源运动。2.开源运动的国家目标据考证,开源运动的根源是美国嬉皮士运动,也就是当年一帮蓄发吸大麻天天高喊共产主义口号的美国愤青。结果开源社区真的实现了各尽所能不计报酬。。。用Linus的话说,开源是种回归,因为研究活动本来就是开放的,后来有人为了商业利益封闭了,现在有人重新把一些东西开放了。 多种迹象表明,早期开源的主力是西欧和北欧,这些地方的...
2016-05-04 20:28:24
150
论开源<1>---软件本身的价值
笔者从事软件行业已15年左右,编码也有10年以上经验。长期以来,就我所知,基本是从C/C++,Java的生态环境开始,由国外一堆极具gongchan主义情怀的理想主义者引领,一直在提倡软件开源的思想,及至最近十年,几乎ruby,scala,c#,php等大部分软件细分行业都开始跟风,甚至现在连硬件也开始开源。但是,开源真的如很多人所认为的那么好吗?还是这些有情怀的理想主义者被公司企业加以利用了?我...
2016-05-03 18:40:39
157
<玩转电商系统>读书笔记
近日拜读了1号店CTO韩军编著的《玩转电商系统》,还没看完已经收获良多。原来一整套的电商系统如此之复杂庞大,想把电商做大做好,需要在技术层面上下非常大的功夫。首先前端各种商品的展示页面,需要能支撑住高并发访问,以及可能需要两阶段事务处理的下单,订单系统。注意,订单系统在后台有一个潜在的功能,是对每一个订单进行算法分析计算,查找到一个配货送货的最优算法,以尽量降低网站供应链成本。接下来,...
2016-03-31 00:53:09
143
Enum枚举类型比值
在编码时,两个Enum实例,直接用==就可以比较它们的值了,而不是比较这两个Object的地址。这显然和通常的Object不一样。而且,在JDK7之后,枚举还能用在switch-case开关语句中。Enum不是primitive类型,却可以用==比较,这是为什么呢?Enum本身可以是多实例的,关键在于,它的每个值对应唯一的Object,因此,它有几个值,就生成几个实例。所有相关的变量都是代...
2016-02-28 18:07:06
218
论架构师的职责
很久以前(4,5年前)当核心码农,只需保质保量完成既定任务。技术选型开会的时候随便yy,反正最后拍板背书的人不是我。完成特定的任务,想算法,做优化,实实在在的产出,很有成就感。 而最近这几年,开始渐渐提升自己,从架构师,技术经理,到技术负责人。现在开会不敢乱说,技术也不敢乱选。因为要给设计做最终拍板,确定最终的技术架构体系。所以会经常焦虑自己做的设计是不是有坑,是不是太low等等。 同时在...
2016-01-31 20:49:17
136
Java IDE中Access restriction错误的修订
今天在eclipse mars中导入一个外部项目,在编译时出现了下面的错误:Access restriction: The type 'BASE64Encoder' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_20\lib\rt.jar')出现这个错误,是因为调用了Eclipse或M...
2015-12-19 18:31:48
98
安装最新Mysql community server 5.7.10社区版的坑爹经历
北京时间昨晚(2015-12-07)22点左右,mysql开发团队发布了最新的5.7.10版本,正好我这里也需要安装mysql,于是开始动作。我的系统环境是centos7,64位系统,所以在http://dev.mysql.com/downloads/mysql/下载页面,可以选择Linux - Generic和Red Hat Enterprise Linux / Oracle Linux两个...
2015-12-08 23:17:23
1222
spring 4.x下让http请求返回json串
当前很多应用已经开始将响应返回为json串,所以基于springframework框架开发的服务端程序,让响应返回json字符串成为了一种常用手段。这里介绍一下如何在spring-MVC框架下方便快捷的返回json字符串。首先,需要在controller类的方法名头上加@ReponseBody注解,但是只增加这个注解是不够的,在使用httpclient4.5.x模拟post请求时,出现...
2015-11-28 11:24:23
165
HttpClient4.5 使用http连接池发送http请求深度示例
HttpClient 3.x,4.x都提供http连接池管理器,当使用了请求连接池管理器(比如PoolingHttpClientConnectionManager)后,HttpClient就可以同时执行多个线程的请求了。hc3.x和4.x的早期版本,提供了PoolingClientConnectionManager,DefaultHttpClient等类来实现http连接池,但这些类在4....
2015-10-21 14:38:21
296
从命令行及java程序运行MyBatis Generator 1.3.x自动生成MyBatis 3.x代码
近期因为项目需要,调研了myBatis 3.x的使用,当然,顺便也就研究了一下使用Generator来通过逆向工程生成pojo,mapper等文件。使用这个工具之前,要先下载相关的jar包,我使用的是最新的mybatis-generator-core-1.3.2.jar。下面将generatorConfig.xml列出来:[code] ...
2015-09-15 13:04:14
194
中国足球深度剖析之五,破除周期性怪圈
2015年9月3日晚上,全国球迷又在极度憋屈中看完了中港较量,国足在全场占优的情况下,对港足毫无办法,最后以0:0收场。依我看,这场比赛问题不在国足队员,错误全在教练。国足对香港的世预赛比赛,很明显上半场香港全力防守,但仍然是漏洞百出,被国足突破了好多次防线,还有3个门框,一个必进球被挡出。而下半场,国足明显很难再攻破对方的防线,说明中场休息时,对方韩国教练金判坤已经摸清了佩兰的打法和进攻手段...
2015-09-06 13:29:36
114
罗辑思维现象透析
微信公众号“罗辑思维”运营时间大概有2年多了,渐渐的也成为了一种现象。笔者可以说是它最早的一批用户,从罗辑思维公众号成立不久即开始关注,经历了几个发展阶段,现在做个分析,以飨读者。以前的互联网做内容的方式,无非是在内容从用户来,抑或网站自己产生上面费脑筋。比如类型非常单一的文字博客网站,各种小说网站等。而逻辑思维是媒体 + 内容/技术的自媒体方式,是对之前互联网内容形式的一次长足进步,堪比we...
2015-08-14 09:31:46
141
UK 更新惊魂记
本文前提是,因为更容易安装各种webserver,数据库,redis缓存,mq等软件,笔者使用Ubuntu Kylin作为开发系统已经好长时间了。而今天(2015-07-23)下午2时许,系统提示有新的更新包,于是就进行了一下更新,记得只有一个核心组件的更新,更新完要求重启系统。于是进行了重启,然而此时麻烦已悄然而至!系统重启时,发现不能显示选择操作系统的界面了!仅剩左上角一个光标在黑屏上...
2015-07-24 17:35:29
128
2015欧冠决赛--脑力劳动结硕果
北京时间2015年6月7日凌晨2:45分,欧洲足坛再次拉开了年度巅峰大戏,欧冠决赛在柏林奥林匹克球场拉开帷幕。对于资深球迷来说,都清楚意大利尤文图斯和西班牙巴萨是两支风格迥异的球队,等着上演一出好戏。众所周知,意大利足球早已经发展为靠脑子更多的踢球方式,这场比赛,巴萨也来了个争锋相对。在比赛刚开始不到4分钟,就利用尤文中卫出错进球。大家应该都深有体会,刚到一个陌生的地方或者很久没去一个熟悉...
2015-06-07 15:04:15
181
携程网宕机事故深度剖析
2015年5月28日上午11时许,携程旅行网官方网站突然陷入瘫痪,打开主页后点击时均显示“Service Unavailable”,经过12小时的紧急抢修后,携程网终于恢复,可正常访问。虽然事情已经过去几天了,但通过网上的各种传言,到处都透露出携程网在网站建设中的种种不专业行为,有些传言甚至让人匪夷所思,典型的就是所有数据库数据都被物理删除,无法恢复这一条,容后表述。下面列出一些携程网显然...
2015-06-03 19:40:08
238
闭锁CountDownLatch和栅栏CyclicBarrier之异同举例
CountDownLatch和CyclicBarrier的主要联系和区别如下:1.闭锁CountDownLatch做减计数,而栅栏CyclicBarrier则是加计数。2.CountDownLatch是一次性的,CyclicBarrier可以重用。3.CountDownLatch强调一个线程等多个线程完成某件事情。CyclicBarrier是多个线程互等,等大家都完成。4.鉴于上面...
2015-05-29 08:56:07
258
阿里帝国-蓄势待发
今天(20150424)在微博上惊闻支付宝可以进行就医预约挂号了,虽然试点医院不多,但此举显示出阿里系已经向业务发展全方位迈出了坚实的一步;同时,从另一个方面来看,也只有支付宝,微信支付这种巨无霸,才可以成就医疗,教育,旅游等行业的互联网化发展的平台级别。再回想百度前段时间也涉足互联网教育方面,实在是让各种创业者们汗颜,直接输在了起跑线上。当前炙手可热的医疗和教育已经被两大巨头瓜分,剩下旅游这个行...
2015-04-27 08:48:40
122
svn提交时,邮件通知问题解决的经验谈
svn可以实现在commit提交时,使用hook钩子功能,向指定的邮箱发送提交注释comment/log及内容变化的邮件,以方便对之进行监控。具体的描述就是,1.当某个账号提交代码/文档时,使用钩子功能,调用仓库的hooks目录下的post-commit文件,实际上是执行一个shell文件,因此要求此文件具有执行权限2.在shell文件中,通过显式的编码方式运行mailer.py,根据...
2015-01-27 15:31:07
776
centos6.5下安装gradle编译环境
现在用gradle替代maven的项目越来越多,下面就描述一下如何在centos服务器环境下安装配置gradle环境。1.在http://www.gradle.org/downloads页面,下载最新版的gradle软件包,撰写这篇文档的时候是2.2.1版。2.下载了gradle-2.2.1-all.zip或者gradle-2.2.1-bin.zip文件之后,将之解压在/usr/l...
2015-01-20 11:26:06
353
深入理解oracle的事务隔离性
在Oracle关系数据库中,我们先来看下面这个问题:A事务:select from T where id > 10 and id < 10000;B事务:update T set id = 45000 where id = 4501两个事务按下面的顺序执行:A事务:|--------------------------------|commitB事务: |--...
2014-12-08 12:58:41
200
双十一前4小时,CentOS 6.5服务器启动错误排查
11月10日晚上8点多,眼看要到双十一了。。。但我要说的这段经历却和双十一毫无关系,哈哈。这天准备向CentOS6.5服务器的svn上传一些文件,结果开机启动时,却出现了下面的界面:[img]http://static.oschina.net/uploads/space/2014/1112/160744_hd1G_75789.jpg[/img]这是肿么回事?根据屏幕的提示,先使用roo...
2014-11-12 16:17:52
95
决战成败之电商售后
近日在某著名电商网站购买电子产品,收货时就发现是已经拆封的商品,当时心里一凛,果然,安装上之后,该产品不能正常使用。于是迅速查找该网站的售后服务,发现有KF电话,产品在线客服(第三方厂商?)以及直接申请退换货等渠道。首先和在线客服进行了简单的沟通,说明了实际状况之后,客服立即说直接申请换货吧。于是在网站上申请了换货服务。而稍后我又致电电话客服,想询问一下换货的具体操作流程,结果二者口径并不...
2014-10-23 13:18:14
104
人类社会形态发展前瞻
中国的原始社会,起自大约170万年前的元谋人,止于公元前21世纪夏王朝的建立。原始社会经历了原始人群和氏族公社两个时期。氏族公社又经历了母系氏族公社和父系氏族公社两个阶段,延续约数百万年之久。人们主要使用石器工具,以采集天然食物和渔猎为生,因生产力极度低下,只能依靠集体劳动获得有限的生活资料,按平均原则在公社全体成员间分配,没有剩余,也没有剥削和阶级。之后,随着生产力不断提高,人类部落或公社中...
2014-10-13 16:09:25
164
止增笑耳的星际迷航前传
假期闲来无事,看了几部影碟,其中尤以星际迷航11前传不得不让人吐槽。这么一部漏洞百出的糟粕,在豆瓣评分居然还高达7.9分,实在是让人有些诧异豆瓣文青的水平。bug实在太多,现将之细数如下,欢迎补充:1.企业号的形状根本就不是一个战舰,在这一集里居然还能攻击其他星舰,而其他剧集里都是比较强调它的速度,曲速前进什么的,这才是对的;2.Kirk船长等人,哦,不,应该叫神啊,到任何星球执行...
2014-10-08 12:23:41
135
类似微信5.x朋友圈的弹出框评论功能
实现对一个主题评论并显示评论列表,首先想到的是需要使用ListView控件,下面是layout下的xml布局文件:[code] ...
2014-09-23 15:38:17
186
电商行业深度窥探
大概从近两年开始,电商行业是风起云涌,暗流浮动,大批人士跃跃欲试,欲加入电商来捞取自己人生的第一桶金.甚至腾讯,万达,百度三家巨头今年8月底也合作投资50亿,高调宣布进入.那么,普通人是不是很容易趟电商这趟浑水,发家致富呢?京东,淘宝,天猫毫无疑问就是在电子商务快车道上齐头并进的几个巨无霸,再加上紧随其后的亚马逊(大陆业务),苏宁,当当等稍小的二线集团生力军.一个新生的电商网站,在这样的电...
2014-09-16 10:54:15
119
空空如也
关于jdk6的环境变量的问题?
2010-12-13
获得网页编码格式时charset取不到
2008-09-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人