- 浏览: 60536 次
- 性别:
- 来自: 上海
最新评论
文章列表
sourceTree开始使用
- 博客分类:
- 工具相关
D:\Users\用户名\AppData\Local\Atlassian\SourceTree
accounts.json文件
<!-- mybatis generator 自动生成代码插件 -->
<plugin> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.2</version> <configuration> <configurationFile>${basedir}/src/main/resourc ...
集和类:https://www.cnblogs.com/leeplogs/p/5891861.html
队列Queue: https://www.cnblogs.com/lemon-flm/p/7877898.html
https://www.cnblogs.com/jesonjason/p/5492208.html
http://blog.csdn.net/javazejian/article/details/51348320
package com.pingan.haofang.agent.saas.dict.dto;
import java.util.List;
public class SubwayLineDtoTest {
private Long sid;
private String lineName;
public Long getSid( ...
事务
原子性,事务要么全执行,要么全不执行。
一致性,事务开始前和开始后,所有数据保证一致状态。
持久性,保存在数据库是持久不变的。
隔离性,同一时间同一事物,不同事务是隔离的。
传播行为:
1、PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置。
2、PROPAGATION_SUPPORTS:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就以非事务执行。‘
3、PROPAGATION_MANDATORY:支持当前事务,如果当前存在事务,就加入该事务,如果当前不存在事务,就抛出异常。
4、PR ...
单例模式的七种写法:
http://cantellow.iteye.com/blog/838473
双重校验锁:
public class Singleton {
private volatile static Singleton singleton;
private Singleton (){}
public static Singleton getSingleton() {
// synchronized关键字锁住的是这个对象,这样的用法,在性能上会有所下降,因为每次调用getInstance(),都要对对象上锁,事实上,只有在第一次创建对象的时 ...
1.// 负数以其正值的补码形式表达(补码=反码加1)
// 2的二进制是0000 0010 -2的二进制是1111 1101 + 1 = 1111 1110
// 向右移动三位 1111 1111 = 11111 1111 -1 = 1111 1110 = 0000 0001 =1它对应-1
int a= -2;
System.out.println(a>>3);
答案-1
2.private static int a[] = new int[5];
public static void main(String[] args) {
System.out.printl ...
海量数据排序(电商应用)
- 博客分类:
- Core Java
问题:
海量排序数据:4亿数据放哪里呢
不放数据库,不放集合类(内存溢出),是存放在文件里
内存有限,50或500亿单词数字文本进行排序?
稳定排序&不稳定排序:
https://www.cnblogs.com/codingmylife/archive/2012/10/21/2732980.html
解决问题
多线程高并发,海量数据排序,查询,统计
C10K->指的是服务器同时支持成千上万个客户端的问题,也就是concurrent 10 000 connection(这也是c10k这个名字的由来)。
解决方案:
多路归并排序:
1个文件拆分成100个文件,多个文件间执行归并 ...
先理了解本地锁Lcok:
http://572327713.iteye.com/blog/2407789
1.基于数据库实现分布式锁
性能较差,容易出现单点故障
锁没有失效时间,容易死锁
非阻塞式的
不可重入
2.基于缓存实现分布式锁
性能好
锁失效时间难设置,容易死锁
非阻塞式的(使用线程等待解决)
不可重入
3.基于zookeeper实现分布式锁
实现相对简单
可靠性高
性能较好
可重入
数据库:
性能较差,容易出现单点故障:
mysql并发性能瓶颈300-700,一个线程访问时插入一条数据,处理后删除此数据
很容易出现单点故障,连接有瓶劲性能差
锁没有失效时间,容易死锁:
一个线程 ...
线程本地锁
- 博客分类:
- 多线程高并发(并发包/线程/锁)
static关键字的四种用法
https://www.cnblogs.com/dotgua/p/6354151.html?utm_source=itdadao&utm_medium=referral
synchronized与static synchronized 的区别
https://www.cnblogs.com/shipengzhi/articles/2223100.html
synchronized(this)、synchronized(class)与synchronized(Object)的区别:
http://blog.csdn.net/luckey_zh/articl ...
支付宝花呗计算金额工具类
- 博客分类:
- 电商-支付相关
https://docs.open.alipay.com/60/104790/
https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.ZketYD&treeId=338&articleId=106464&docType=1
https://docs.open.alipay.com/277/106748/
package com.baozun.store.util;
import java.math.BigDecimal;
import java.math.RoundingMode;
imp ...
多线程三种方式:
http://blog.csdn.net/aboy123/article/details/38307539
runnable与callable区别:
https://www.cnblogs.com/frinder6/p/5507082.html
callable与futurTask实现:
package com.hailong.hailongTest.thread;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.Callable;
import java.ut ...
volatile的内存模型:
http://blog.csdn.net/basycia/article/details/52058986
volitile与原子类atomic区别:
http://blog.csdn.net/jurson99/article/details/53406849
atomic保证类原子性,volitile保证多个线程可见性
http://blog.csdn.net/a_yyc1990/article/details/41478639
atomic使用cas保证update原子性:
cas介绍:
https://www.cnblogs.com/Mainz/p/35463 ...
版本1代码合并到版本2
git checkout 版本2
git checkout -- pacth develop xxx.java xxxx.css
git merge 版本1
如果出了错误
git diff HAED^ ../path/.....java 冲突时候比对
死锁(Deadlock)
所谓死锁:是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程 ...