- 浏览: 91442 次
最新评论
-
wotier:
引用[*]
分布式事务 -
zhaoshijie:
oceanbase不适合用于互联网。
淘宝开源框架
文章列表
spring mvc 中写法
@RequestMapping(value = "/query")
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
public @ResponseBody
JSONObject query(@RequestParam("startTime") String startTime,
@RequestParam("endTime") String endTime,
@RequestParam("oid") St ...
spring解析xml过程序列图
- 博客分类:
- spring源码分析
我分析的是XmlBeanFactory加载bean的过程
你先研究一下dubbo吧
oceanbase
druid
HSF
TFS
Tengine
http://code.taobao.org/
给大家扩充一下知识,大家感兴趣的话可以课外研究一下。在分布式事务上有一个两阶段提交的方案,java里有XA的实现,通过JTA全局事务来保证分布式事务的一致性,而采用JTA的全局事务的时候,由于各个应用之间需要进行消息同步,保持各个系统的预提交状态交互,这个消息同步是很耗性能的,大概需要同步20次以上的消息,整体性能就很受影响,而在开源领域上,对于分布式事务也有一个解决方案,paxos算法,paxos算法的不足是依赖于网络的稳定性,会存在“拜占庭将军问题”,这样就不太适合用于交易系统。
支付宝对于分布式事务做了自己的设计,有一个TCC模型,大家可以网上搜索一下
1.oracle 存储过程 2.游标,用什么代替 3.rownum,rowid, 4.awk,sed 5.数据结构中的循环右移,查询是否包含另一个字符串 6.打印n的所有排列 7.java 调优 8.强制使用索引。 9.反转链表的Java实现,特别要处理双向链表。 10.struts2缺点(安全缺陷) 11.tomcat 类加载过程 12.多线程编程,对象锁链。 13.spring 的缺点(启动多个context时对bean的管理) 14.在线运行的系统如何重新拆分表(分表,分库) 15.threadlocal在线程池中的问题。 16.缓存设计 17.系统架构 18.map实现 19.两个数 ...
源码阅读思路
- 博客分类:
- spring源码分析
1.了解项目有哪些功能点
2.整体概览项目结构。
3.对项目依赖的jar包都分析一遍
4.熟悉项目的设计模式。
5.对各个功能点进行代码分析。
敲每个点号时,考虑:会不会出现空指针?有没有异常抛出?是不是在热点区域?在哪个线程执行?有没有并发锁间隙?会不会并发修改不可见?
log4j日志记录问题
- 博客分类:
- 编程总结
1.考虑记日志的目的,记日志带来什么好处,不记录有什么坏处。
2.一般强交易类型的记录日志,需要追溯信息的记录日志。其余可以不记录,以免打印过多垃圾信息。
3.可以增加调试日志信息,if(isDebuggable){}
4.考虑问题要考虑为什么要做,做的好处是什么,然后考虑用什么方式做,不同方式的优缺点。
1.调用外部接口要用try-catch 捕获,最好能捕获throwable,以防对自己程序造成影响。
2.设计SOA接口时要防重入,特别是插入类接口。
3.收mq的消息并不直接处理,而是把消息先保存下来,处理是异步的,所有的处理都在业务上有防重逻辑
4.发mq先插入到数据表中再发送,以防mq发送时异常。
5.任务驱动引擎设计思路
就是在推送的时候如果任务驱动引擎连不上服务端会把 任务类型 及 任务体 按照固定格式写到文件中去,如果文件写成功,那么返回给 推送调用方的就是成功,任务驱动引擎客户端 本身自带一个自动重试的worker,定时去设定的文件夹下扫描有没有文件存在,把文件 ...