- 博客(7)
- 资源 (8)
- 收藏
- 关注
原创 spring事务的传播规则
一、事务的特性原子性:事务包含的所有操作要么全部成功要么全部失败 一致性:使数据库从一个一致性状态变换到另一个一致性状态,比如A有100元 B有0元,A转给B50元,结果为A50元B50元 隔离性:多个并发事务之间要相互隔离 持久性:事务提交后对数据库的改变是永久的二、事务的隔离级别未提交读:读数据不加锁;写数据加行级S锁,事务结束释放 已提交读:读数据加行级S锁,读完就释放;...
2019-12-25 15:06:43 637
原创 java NIO浅析
NIO与IO的主要区别是:1、IO多路复用 2、IO流与NIO缓冲区 阻塞与非阻塞(IO多路复用) 传统IO是阻塞的,当用户线程发出IO请求之后,内核会去查看数据是否就绪,如果没有就绪就会等待数据就绪,而用户线程就会处于阻塞状态,用户线程交出CPU。当数据就绪之后,内核会将数据拷贝到用户线程,并返回结果给用户线程,用户线程才解除block状态。此外由于每个连接都需要创建一个线程,...
2019-12-18 10:39:40 198
原创 秒杀系统
拜读了58沈剑的秒杀系统架构优化思路后颇有收获,秒杀系统设计的核心思想就是:将请求尽量拦截在数据库的上游、重复利用缓存。前端利用CDN和浏览器缓存进行一级流量拦截秒杀前用户不断刷新商品详情页,页面请求达到瞬时高峰,可以将该页面上的元素尽量静态化处理,除了秒杀按钮需要服务端进行动态判断,其他的静态数据可以缓存在浏览器和 CDN 上 通过按钮置灰和js限制访问间隔减少用户提交请求的次数...
2019-12-13 16:18:53 527
原创 分布式锁 - redis锁、zookeeper锁
应用场景:分布式锁是为了保证同一时刻只有一台机器的一个线程执行某段代码。分布式锁的目的如下 解决业务层幂等性 解决 MQ 消费端多次接受同一消息 确保串行|隔离级别 多台机器同时执行定时任务 最近在工作中遇到了一些问题,上游重复调用下游接口下发数据导致数据重复,需要用redis锁防重,线程获取不到锁时直接提示给上游已经下发过数据。redis分布式锁:...
2019-12-12 18:18:16 229
原创 设计模式
1、策略模式主要解决if...else..的复杂和难以维护。一个公共接口,多个子类,一个策略使用类。策略的选择可以结合枚举类使用,将枚举常量存在Map中或者存在枚举常量属性中。2、代理模式代理模式就是给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。黄勇的《Proxy 那点事儿》写的超好,就不重复了,大概总结如下:静态代理:代理类和委托类需要实现相同的接口,且需...
2019-12-06 17:01:20 222
原创 @Autowired可以注入List和Map
spring是支持这种基于接口实现类的直接注入的@Autowiredprivate List<MyInterface> myList;这样就直接将MyInterface的子类bean直接添加到了myList中,并且还可以用Order来指定添加顺序没看过此处源码,但盲猜是在bean的后置处理器中,解析到带@Autowired的注解且是List或Map的类型的属性,则将其泛...
2019-12-05 18:40:19 3577 1
原创 spring mvc 国际化配置
要使用spring mvc配置国际化,首先用MessageSource来管理国际资源文件: <!-- 国际化资源文件 messageSource配置的是国际化资源文件的路径, classpath:messages指的是classpath路径下的 messages_zh_CN.properties文件和messages_en_US.properties文件 设置“useCodeAsD...
2019-12-05 10:41:36 331
java实现js、css、图片合并到html文件
2017-08-18
MATLAB-遗传算法-多车场-开放式-带时间窗-多商品-VRP问题
2016-03-22
MATLAB+遗传算法+多车有容量约束VRP
2015-12-27
MATLAB-遗传算法-TSP旅行商问题程序代码
2015-12-27
thinkphp3.2.3入门教程实例-新闻系统
2015-07-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人