摘要: 背景 背景 MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路 阅读全文
posted @ 2016-06-30 14:28 Mason.Ke 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 最近一直在做订单类的项目,使用了事务。我们的数据库选用的是MySql,存储引擎选用innoDB,innoDB对事务有着良好的支持。这篇文章我们一起来扒一扒事务相关的知识。 为什么要有事务? 事务广泛的运用于订单系统、银行系统等多种场景。如果有以下一个场景:A用户和B用户是银行的储户。现在A要给B转账 阅读全文
posted @ 2016-06-30 13:55 Mason.Ke 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 从各个角度总结了电商平台中的架构实践,由于时间仓促,定了个初稿,待补充完善,欢迎大家一起交流。 转载请声明出处:http://blog.csdn.net/yangbutao/article/details/12242441 作者:杨步涛 关注分布式架构、大数据、搜索、开源技术 QQ:30659136 阅读全文
posted @ 2016-06-29 17:32 Mason.Ke 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 目录 一、数据库事务的定义 二、数据库事务并发可能带来的问题 三、数据库事务隔离级别 四、使用Hibernate设置数据库隔离级别 五、使用悲观锁解决事务并发问题 六、使用乐观锁解决事务并发问题 Hibernate事务与并发问题处理(乐观锁与悲观锁) 一、数据库事务的定义 数据库事务(Databas 阅读全文
posted @ 2016-06-28 16:16 Mason.Ke 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 知乎:https://www.zhihu.com/question/39851855 阅读全文
posted @ 2016-06-27 18:12 Mason.Ke 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 前言 最近在做公司的支付接口,从微信支付到各种第三方的支付接口,还有点卡等支付,微信支付文档相对比较详细,虽然也不少坑,被各路开发人员吐槽,但是填的人多啊,所以是最好开发的,但是公司还有用到一些第三方的网页支付接口,然后遇到很多坑,忍不住想吐槽一下。 一、第三方支付流程 各种支付的文档,业务流程图有 阅读全文
posted @ 2016-06-27 18:05 Mason.Ke 阅读(558) 评论(0) 推荐(0) 编辑
摘要: 大家经常遇到这样的需求,尤其是支付中心接口的时候: 查询满足某种条件的订单,调用第三方接口成功,更改订单状态。 task1: orders = queyrOrder(...); //查询已离店的订单 for (Map<String, Object> order : orders) { try { c 阅读全文
posted @ 2016-06-27 18:02 Mason.Ke 阅读(4051) 评论(0) 推荐(0) 编辑
摘要: 什么是分布式事务?在网上找了一段比较容易理解的"定义". 分布式事务是指事务的参与者、支持事务的服务器、资源管理器以及事务管理器分别位于分布系统的不同节点之上,在两个或多个网络计算机资源上访问并且更新数据,将两个或多个网络计算机的数据进行的多次操作作为一个整体进行处理。如不同银行账户之间的转账。 对 阅读全文
posted @ 2016-06-27 11:13 Mason.Ke 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 下面是最近总结的Java集合(JDK1.6.0_45)相关文章的目录。 01. Java 集合系列01之 总体框架 02. Java 集合系列02之 Collection架构 03. Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例 04. Java 集合系列04之 fai 阅读全文
posted @ 2016-06-23 17:16 Mason.Ke 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 在一些业务场景及技术架构下,跨库的事务时不可避免的,这时候如何统一管理事务,保证事务的强一致性是整个系统稳定、可用基石。一些中间件如tuxedo、cics就是凭借这个能力占据了金融、电信、银行等很大的市场,捞取了大量的利润。 在java中,atomikos作为一个开源项目(有商业版本),提供了分布式 阅读全文
posted @ 2016-06-21 16:15 Mason.Ke 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://www.cnblogs.com/macula/archive/2013/05/08/3066914.html 每次带班,讲到Spring事务这一块的时候,大家总是有很多的疑问,其实Spring事务并不难,可能初次接触的时候有的不好理解,今天我们就详细来谈一下Spring的事务 阅读全文
posted @ 2016-06-21 11:02 Mason.Ke 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Java 1.5开 阅读全文
posted @ 2016-06-20 17:14 Mason.Ke 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 对于多线程有了一点了解之后,那么来看看java.lang.concurrent包下面的一些东西。在此之前,我们运行一个线程都是显式调用了Thread的start()方法。我们用concurrent下面的类来实现一下线程的运行,而且这将成为以后常用的方法或者实现思路。 看一个简单的例子: public 阅读全文
posted @ 2016-06-20 16:12 Mason.Ke 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。 [@mo 阅读全文
posted @ 2016-06-20 15:50 Mason.Ke 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 1.select按条件设置默认值: SELECT IF(pay_name='N','未开户',"已开户") AS isopen,COUNT(user_id) FROM wb_user_account GROUP BY isopen 2.sqlyog导入csv数据: LOAD DATA LOCAL I 阅读全文
posted @ 2016-06-20 11:42 Mason.Ke 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 项目中要用到dubbo,zookeeper,就花费点时间学习,通过百度和同事的帮助做了一个小例子运行起来啦。 本着学习分享、共同交流进步的目的写下此篇随笔,希望对有需要的人有所帮助。 本文作者原创,如有转载请注明出处,谢谢。 1.开发软件、资料 jdk1.7.0_79 ,安装并配置好java开发环境 阅读全文
posted @ 2016-06-16 18:41 Mason.Ke 阅读(289) 评论(0) 推荐(0) 编辑
摘要: 本文是大型网站架构系列:消息队列(二),主要分享JMS消息服务,常用消息中间件(Active MQ,Rabbit MQ,Zero MQ,Kafka)。【第二篇的内容大部分为网络资源的整理和汇总,供大家学习总结使用,最后有文章来源】 本次分享大纲 消息队列概述(见第一篇:大型网站架构系列:分布式消息队 阅读全文
posted @ 2016-06-16 18:37 Mason.Ke 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 以下是消息队列以下的大纲,本文主要介绍消息队列概述,消息队列应用场景和消息中间件示例(电商,日志系统)。 本次分享大纲 消息队列概述 消息队列应用场景 消息中间件示例 JMS消息服务(见第二篇:大型网站架构系列:分布式消息队列(二)) 常用消息队列(见第二篇:大型网站架构系列:分布式消息队列(二)) 阅读全文
posted @ 2016-06-16 18:35 Mason.Ke 阅读(174) 评论(0) 推荐(0) 编辑
摘要: Code Review是一种通过复查代码提高代码质量的过程,在XP方法中占有极为重要的地位,也已经成为软件工程中一个不可缺少的环节。本文通过对Code Review的一些概念和经验的探讨,就如何进行Code Review和Code Review中应该注意什么提出一些建议。 本文中涉及的问题大部分针对 阅读全文
posted @ 2016-06-16 18:21 Mason.Ke 阅读(169) 评论(0) 推荐(0) 编辑
摘要: Ehcache在很多项目中都出现过,用法也比较简单。一般的加些配置就可以了,而且Ehcache可以对页面、对象、数据进行缓存,同时支持集群/分布式缓存。如果整合Spring、Hibernate也非常的简单,Spring对Ehcache的支持也非常好。EHCache支持内存和磁盘的缓存,支持LRU、L 阅读全文
posted @ 2016-06-16 18:14 Mason.Ke 阅读(247) 评论(0) 推荐(0) 编辑
摘要: java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 java 多线程—— 线程等待与唤醒 概述 第1部分 配置 第2部分 代码示例 第1部分 配置 有 阅读全文
posted @ 2016-06-16 17:55 Mason.Ke 阅读(512) 评论(0) 推荐(0) 编辑
摘要: 互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的。现在核心业务抽取出来,作为独立的服务,使前端应用能更快速和稳定的响应。 第一:介绍Dubbo背景 大规模服务化之前,应用可能只是通过RMI或 阅读全文
posted @ 2016-06-16 17:32 Mason.Ke 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 分布式架构的演进 系统架构演化历程-初始阶段架构初始阶段 的小型系统 应用程序、数据库、文件等所有的资源都在一台服务器上通俗称为LAMP特征:应用程序、数据库、文件等所有的资源都在一台服务器上。描述:通常服务器操作系统使用linux,应用程序使用PHP开发,然后部署在Apache上,数据库使用MyS 阅读全文
posted @ 2016-06-16 09:58 Mason.Ke 阅读(377) 评论(0) 推荐(0) 编辑
摘要: 1.什么是缓存? 缓存是介于物理数据源与应用程序之间,是对数据库中的数据复制一份临时放在内存中的容器,其作用是为了减少应用程序对物理数据源访问的次数,从而提高了应用程序的运行性能。Hibernate在进行读取数据的时候,根据缓存机制在相应的缓存中查询,如果在缓存中找到了需要的数据(我们把这称做“缓存 阅读全文
posted @ 2016-06-15 17:26 Mason.Ke 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 之前我将高并发的解决方法误认为是线程或者是队列可以解决,因为高并发的时候是有很多用户在访问,导致出现系统数据不正确、丢失数据现象,所以想到 的是用队列解决,其实队列解决的方式也可以处理,比如我们在竞拍商品、转发评论微博或者是秒杀商品等,同一时间访问量特别大,队列在此起到特别的作用,将 所有请求放入队 阅读全文
posted @ 2016-06-15 10:22 Mason.Ke 阅读(143) 评论(0) 推荐(0) 编辑
摘要: http://demo.actuate.com/demos/EclipseDemo/EclipseDemo.html 阅读全文
posted @ 2016-06-15 10:07 Mason.Ke 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 本文主要介绍下spring data jpa,主要聊聊为何要使用它进行开发以及它的基本使用。本文主要是入门介绍,并在最后会留下完整的demo供读者进行下载,从而了解并且开始使用spring data jpa。 (1)spring data jpa是什么? 小菜认为,spring data jpa,一 阅读全文
posted @ 2016-06-13 15:22 Mason.Ke 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求。这里不讲解JPA和Spring-data-jpa单独使用,所有的内容都是在和Spring整合的环境中实现。如果需要了解该框架的入门,百度一下,很多入门的介绍。在这篇文章的接下来一篇,会有一 阅读全文
posted @ 2016-06-12 18:28 Mason.Ke 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 我们都知道Spring是一个非常优秀的JavaEE整合框架,它尽可能的减少我们开发的工作量和难度。 在持久层的业务逻辑方面,Spring开源组织又给我们带来了同样优秀的Spring Data JPA。 通常我们写持久层,都是先写一个接口,再写接口对应的实现类,在实现类中进行持久层的业务逻辑处理。 而 阅读全文
posted @ 2016-06-12 17:59 Mason.Ke 阅读(177) 评论(0) 推荐(0) 编辑
摘要: spring-boot是一个快速构建环境的一套框架,其设计理念是尽可能的减少xml的配置,用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 废话不多说,关于spring-boot是什么具体请百度。 官网:http://pro 阅读全文
posted @ 2016-06-12 17:24 Mason.Ke 阅读(279) 评论(0) 推荐(0) 编辑