java

JVM问题情景分析

问题分析之死锁产生死锁必须同时满足以下四个条件:互斥条件:一段时间内某资源只能被一个线程(进程)占有,若有其他请求线程只能等待。不剥夺条件:一个线程占用某资源后只能该线程自己释放资源,不能被其他线程夺走。请求和保持条件:一个线程去申请另外一个资源的时候,继续占有已分配的资源。循环等待条件:存在一个处于等待状态的线程集合{p1,...,pi,..},pi等待的资源被p(i+1

348. Design Tic-Tac-Toe

题目:Design a Tic-tac-toe game that is played between two players on a n x n grid.You may assume the following rules:A move is guaranteed to be valid and is placed on an empty block.Once a w

Android IPC机制(一)——绑定Service实现本地通信

写作原因:跨进程通信的实现和理解是Android进阶中重要的一环。下面博主分享IPC一些相关知识、操作及自己在学习IPC过程中的一些理解。这一章是为下面的Messenger和AIDL的使用做准备,主要讲解Android Service的绑定和Activity与本地Service之间通信相关知识。简介我们都知道启动Service有两种方式:startService()和bin

Tomcat的session管理探究

我有一个项目需要模拟HttpSession,在参考Tomcat的HttpSession管理时有一点心得,在这里记录一下。先说说这几个关键类:org.apache.catalina.session.StandardManager: 管理Session的类org.apache.catalina.session.StandardSession: HttpSession的实现org

说说分布式事务(四)

最终一致性(二)基于MQ的分布式事务补偿机制序列图异常场景处理预创建订单失败:如果实际预创建订单成功,订单定时补偿机制,定时删除这部分订单,不影响数据一致性,下单失败预扣减库存失败:如果预扣减库存真实失败,则下单失败(订单由定时补偿机制定时删除,其它应用参照场景4的处理方式,下单失败;如果实际预扣减库存成功,参照场景4的处理方式,下单失败实际创建订单失败:如果创建订单真实失

260. Single NumberIII

题目: Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once. For example

[LeetCode] Valid Parentheses

Problem Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. The brackets must close in the correct order, "()" and "()[]{

说说分布式事务(三)

最终一致性(一)TCC简介TCC是由支付宝架构师提供的一种柔性解决分布式事务解决方案,主要包括三个步骤:TCC流程TCC的关键流程如下图(以下单和扣减库存为例子)Q: 预生成订单失败了,为什么要通过TCC执行预处理数据回滚?A: 可能预生成订单成功,但是接口返回失败(超时失败),所以预处理在某些情况下是有预处理数据,需要清理TCC异常场景在整个流程,我们主要需要关注的是ca

缓存穿透、并发和失效、同步中断,最佳实践及优化方案

原文摘自:缓存穿透、并发和失效,来自一线架构师的解决方案https://community.qingcloud.com/topic/463在我们的实践中,原文中有部分解决方案已经过时,在原文的基础上,添加了几个我们常用的方案。http://www.4wei.cn/archives/1002621我们在用缓存的时候,不管是Redis或者Memcached,基本上会通用遇到以下

Redis的Spring配置讲解

Redis是一种特殊类型的数据库,他被称之为key-value存储本文覆盖缓存和存储两方面进行说明,使用的是Spring 4.0和Java配置方式代码地址下载地址:https://github.com/zoeminghong/springmvc-javaconfig存储Redis的配置package springmvc.rootconfig;import org.sprin