java
文章平均质量分 67
ludizhang
这个作者很懒,什么都没留下…
展开
-
threadLocal的使用场景--事务下的日志记录
threadLocal在系统中的使用场景,每发生一笔交易,无论成功失败都要进行数据库记录作为交易日志,成功的不需要多少,失败的时候就需要做一些事务回滚,这里使用的事务回滚是通过异常机制来控制(也可以手动回滚)。当发生异常时就事务回滚,并通过threadLocal记录异常发生时的交易快照以及失败原因,在调用层进行获取并记录;看起来是很正常的一个方案,线上不久就开始出现问题:插入交易日志时,交易流水号...原创 2016-07-02 16:04:11 · 629 阅读 · 0 评论 -
java学习路线图
这么长的时间,么有好好总结过自己的学习路线,今天和大家一起分享一下java学习路线图中每一个字都是一管一管撸上去的,请大家轻喷,由于梳理比较粗略,一方面是一个小伙伴嗷嗷待乳,一方面确实比较忙一点,希望大家见谅 [img]http://dl2.iteye.com/upload/attachment/0118/9299/cb9b7359-6e48-3867-977b-785a5d14bd...原创 2016-07-14 22:56:16 · 124 阅读 · 0 评论 -
编程建议(持续更新)
1.UML的重要性,推荐plantUml2.编码编的其实是思路:先写注释(思路),在写代码3.设计之初,所有方法都是黑盒4.设计模式要顺其自然5.接口的重要性是告诉别人我是干什么的6.接口设计的伸缩性:考虑中间数据状态,减少对应终端接口修改7.行业内的规范还是要遵守的,比如是 mvc,保留适当的DAL层,关键时刻可以救命8.减少同层之间的调用(同一个类内的不算哦),会增...原创 2016-07-18 11:01:44 · 100 阅读 · 0 评论 -
java并发详解
线程安全1.什么是并发?2.什么是线程安全3.如何保证线程安全参考书籍《java并发编程》此篇博客是回答我懵懂骚年时代的一下疑问,希望可以帮助大家解惑,共勉!!1.什么是并发? 我喜欢用并行,串行,并发做比较 并行:完全独立在不同CPU上的程序执行,完全平行,没有任何交叉 串行:在同一个CPU上执行的程序,一个个排队执行 并发:在同一个CPU...原创 2016-08-31 07:34:39 · 127 阅读 · 0 评论 -
java中内存泄漏
内存泄漏(memory leak):该被回收的对象没有被回收,或者说没有被及时回收,导致了废弃对象依然占用着空间,一方面内存泄漏的问题具有常发性,一旦会发生一次就会发生100次,直接导致程序的运行性能,甚至出现OOM咱们看例子[code="java"]public class Stack { private Object[] objects; private int...原创 2016-09-01 07:43:23 · 116 阅读 · 0 评论 -
JVM stop the world
JVM 在进行GC的时候,需要做两个事情,一个是GC root 做可达性分析GC root的对象 可能是常量,类静态变量,以及虚拟栈中的局部变量,这些大概组成了GC root对象,GC root 需要在一个JVM 某个时间点的快照,然后基于这个快照来做可达性的分析,基于这个快照,判断哪些对象是要被回收的,接下来就要真正的GC操作,在新生代,老年代,会做不同的GC操作,标记清理,或者复制整理...原创 2016-11-09 23:03:24 · 192 阅读 · 0 评论 -
java condition await() 与object wait()的区别
java condition await() 与object wait()的区别object wait()* The current thread must own this object's monitor. The thread * releases ownership of this monitor and waits until another thread ...原创 2017-09-07 14:42:18 · 2756 阅读 · 0 评论 -
经典面试题
接触到一个经典的面试题:类似于背包最优解的问题, 原题如下 [code="java"]import java.util.List;public class SplitOrders { public class Item{ /** * 卖家用户id */ lo...原创 2017-09-28 16:58:02 · 203 阅读 · 0 评论