- 浏览: 1148314 次
- 性别:
- 来自: 杭州
最新评论
-
ryuhi:
一个是来源source,一个是来源方序列号seq这两个数据要怎 ...
高并发的核心技术-幂等的实现方案 -
xuezhongyu01:
无量 写道Master-Gao 写道理论感觉还行,可以代码我还 ...
高并发的核心技术-幂等的实现方案 -
无量:
Master-Gao 写道理论感觉还行,可以代码我还是不会写。 ...
高并发的核心技术-幂等的实现方案 -
phil_jing:
@RequestParam 默认 true
SpringMVC注解@RequestParam全面解析 -
aguai0:
aguai0 写道第五条里的如果要获取任务执行结果,用Comp ...
JAVA进阶----ThreadPoolExecutor机制
文章列表
区块链!每个人都要了解下--十分钟洞见区块链的前世今生
为啥要讲区块链呢,因为它太火了,火到什么程度呢。依靠区块链构建的 数 字 货 币
比 特 币,从生出来到现在翻了 几 百 万 倍,那可是 几 百 万 倍啊,你给你儿子买冰棍的钱,让你儿子当年买比 特 币,现在你都是千万富翁他爹了。
还有就是大家也耳濡目染了一些区块链介绍,媒体宣传,甚至听了一些区块链专家讲的,但总感觉各种高大上,似懂非懂。
那区块链到底是什么呢?它能解决什么问题?区块链有价值么?兄弟们,咱们一点一点来揭开区块链这个美女的面纱,看看到底美不美。
一、 ...
海量数据存储--分库分表策略详解
一、背景:
系统刚开始的时候,数据库都是单库单表结构。随着业务量的增加进行第一次数据库升级,根据业务垂直拆分数据库,这样多变成多个业务数据库,每个数据库里面还是单表结构。接下来,继续随着业务量的继续增加,单表已经很难承受数据量,就要进行分表,这个时候就是,多个业务库,每个业务库下对需要分表的表进行分表。再接下来,随着应用的增加,数据库IO,磁盘等等都抗不住了,就要把分表的表分到多个库,这样就形成了如下的结构。
重点:本文主要讨论的是分库分表的策略,也就是分库分表的规则或者说是算法。
二、分库分表的依据--分库分表字段的选择
分库 ...
过年在家读了一本书,延续以往的模式,每年过年回家都读一本书,今年读的是陈志武老师的金融的逻辑1,一共分两本,2还没有读,我总的体会是一本基础的金融知识普及书籍,有很多话很啰嗦,本来一本快30万字的书,感觉挺 ...
一次mysql死锁的排查过程
一、背景
17号晚上要吃饭了,看旁边的妹子和佐哥还在调代码,就问了下什么问题啊,还在弄,妹子说,在测试环境测试给用户并发发送卡券时,出现了死锁,但看代码没有死锁,问题如下图
看日志确实发生了死锁,按照死锁产生的原因:一般死锁是两把锁两个人争抢,每个人都获得其中一把,谁都不让谁,等待对方释放锁,死循环导致的,图示如下
不过这次说看代码没有问题,感觉这个问题比较诡异,跟他们说先吃饭,吃完,一起群力群策研究研究这个。
二、问题点
1. ### SQL: select * from score_user where user_id = ? f ...
1. 数据库设计基本规范
领域驱动表内容划分,一个领域内容的放在一个表内
一套应用表或者一张表,最基本要满足第三范式要求
对于基础服务的表,要满足BC范式的要求
2. 表名规范
同一个应用(或领域)下的表,要有相同的前缀,如:tb_share, tb_position,tb_valuation
高并发的核心技术-幂等的实现方案
一、背景
我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。
例如:
1. 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果。
2. 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱;
3. 发送消息,也应该只发一次,同样的短信发给用户,用户会哭的;
4. 创建业务订单,一次业务请求只能创建一个,创建多个就会出大问题。
等等很多重要的情况,这些逻辑都需要幂等的特性来支持。
二、幂等性概念
幂等(idempotent、idempotence)是一个数学与计算机学概念 ...
创建线程以及管理线程池基本理解
参考原文链接:http://www.oschina.net/question/12_11255?sort=time
一、创建一个简单的java线程
在 Java 语言中,一个最简单的线程如下代码所示:
Runnable runnable = new Runnable(){
public void run(){
System.out.println("Run");
}
}
可通过下面一行代码来启动这个线程:
new Thread(runnable).start();
这是一个再简单不过的例子了,但如果你有许多需 ...
一、查找乱码原因
从源头开始查找:
1.操作系统或查看软件支持的字符集:如支持unicode,那么解码后内存中对应的应该是unicode编码的文件
如果支持gbk,解码后内存中对应的的应该是gbk编码的文件
2.查看文件是什么编码方式存储的,如果是gbk,那么软件查看文件时也应该用什么格式解码查看
3.传输文件过程中是使用什么编码方式编码后传输的,传输后应该用什么编码方式解码后存储成相应文件
二、例子:发布个web系统,各个字符集关系最好是
1.操作系统设置为字符集zh_CN.UTF-8字符集
2.文件时用UTF-8编码方式编码,那么相应操作系统也能解析
3.中间件也是U ...
4. 终端执行命令ssh-keygen -t rsa -C "xxxx@tongbanjie.com",本地生成id_rsa.pub添加在https://git.tongbanjie.com/profile/keys
5. 先安装谷歌浏览器,上网、查问题习惯。
<!--5f39ae17-8c62-4a45-bc43-b32064c9388a:W3siYmxvY2tJZCI6IjQzNTgtMTU1NTQ3MjMzNjIyNSIsImJsb2NrVHlwZSI6InBhcmFncmFwaCIsInN0eWxlcyI6eyJhbGlnbiI6ImxlZnQ ...
一、背景介绍
UML类图的关系,或者说面向对象语言中,静态类之间的关系有哪些,他们之间的区别在哪里,这是本文要解决的问题点。
二、类之间关系
有泛化、继承(非UML标准中)、实现、依赖、关联、聚合、组合七种关系,下面逐个介绍这些概念。
1. 泛化
泛化是对一些具体的个体的一般化,抽象化,是由具体的给他抽象出共性的过程。
UML类图:
2. 继承
继承是一个类(称为子类或子接口)继承另一个类(称为父类或父接口)里面的所有属性和方法,在增加自己特性的过程。
UML类图:
3. 实现
实现是一个类 class 去实现一个接口 interface
UML类图:
...
项目打包报,软件包、类不存在问题排查过程
一、背景
吃完午饭回来,看见佐哥和琳妹妹在那里处理问题,好信的我,就在旁边瞄着,看出来,大致的问题现象是项目无法编译,报找不到类文件和包的错误,我心里想这个一般就是确实没有这个类,或者就是这个类和其他类重复了路径和名称,才报这个错误,就这样瞄了一会,看他们试了好多办法都么有解决,我说那我来看看。具体问题报错如下图:
编译失败,找不到类文件,主要就是这个现象
二、问题点
问题点很清晰了:编译失败,找不到类,找不到包
三、排查过程
1. 根据我的经验,这类问题出现可能的原因,一种是不存在这个路径和文件,第二种是在其他地方有个 ...
Java线程Dump分析工具--jstack
(转http://www.cnblogs.com/nexiyi/p/java_thread_jstack.html)
jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使用方式只支持以下的这种方式: jstack [-l][F] pid 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松 ...
jstack
http://www.open-open.com/lib/view/open1456744049953.html
http://wenku.baidu.com/link?url=XGRAXwZGpPIyvYzcs0fqOGazbnKWWy6tsuDk5XhPUmVI4Y9jOT5TiYf6JVq0sPGafvMJmZFs1dNDlNtovldedF5xwr9ViMvv6WdRSaTGkn_
(案例:转)公司的一个web应用项目运行了很长一段时间,达半年之久,前段时间突然出现了服务不可用的情况,所有的请求都不可达,服务彻底挂了。查看tomcat进程还在,cpu使用率低,一 ...
jdk-源码中的一些坑
1. Runnable接口的命名简直是一大坑,核心含义是任务,任务和线程是分开的,任务放在线程里面被执行,这个接口如果命名成Task大家理解起来就不会那么麻烦了
问题:
Push failed: Failed with error: fatal: Could not read from remote repository.
解决办法:
将SSH Executable 更换为Native