摘要: [转载自并发编程网 – ifeve.com原文链接:http://ifeve.com/tag/jmm/]数据竞争与顺序一致性保证当程序未正确同步时,就会存在数据竞争。java内存模型规范对数据竞争的定义如下:在一个线程中写一个变量,在另一个线程读同一个变量,而且写和读没有通过同步来排序。当代码中包含... 阅读全文
posted @ 2015-12-10 11:55 Loeis.G 阅读(176) 评论(0) 推荐(0)
摘要: [转载自并发编程网 – ifeve.com原文链接:http://ifeve.com/tag/jmm/]volatile的特性当我们声明共享变量为volatile后,对这个变量的读/写将会很特别。理解volatile特性的一个好方法是:把对volatile变量的单个读/写,看成是使用同一个监视器锁对... 阅读全文
posted @ 2015-12-10 11:55 Loeis.G 阅读(100) 评论(0) 推荐(0)
摘要: [转载自并发编程网 – ifeve.com原文链接:http://ifeve.com/tag/jmm/]并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通... 阅读全文
posted @ 2015-12-10 11:54 Loeis.G 阅读(127) 评论(0) 推荐(0)
摘要: 原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个Thre... 阅读全文
posted @ 2015-12-10 11:51 Loeis.G 阅读(82) 评论(0) 推荐(0)
摘要: 问题:500个小孩手拉手围成一圈,从第一个小孩开始数数,按照1、2、3、1、2、3循环不断的数,数到3的小孩退出圈,其他小孩接着数,直到剩下一个小孩,问这个小孩的排在什么位置?思路分析:可以定义一个布尔型的数组,用来存放500个小孩,若为true,代表在圈内,若为false,则代表出圈。首先,每个小... 阅读全文
posted @ 2015-12-09 16:10 Loeis.G 阅读(219) 评论(0) 推荐(0)
摘要: 本文转载自http://blog.csdn.net/vking_wang/article/details/14166593#comments转载目的仅作收藏学习使用1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。数组 数组存储区间是连续的,占用... 阅读全文
posted @ 2015-12-03 11:49 Loeis.G 阅读(144) 评论(0) 推荐(0)
摘要: 1.查询的模糊匹配尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用.解决办法:其实只需要对该脚本略做改进,查询速度便会提高近百倍。改进方法如下:a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户... 阅读全文
posted @ 2015-11-28 21:59 Loeis.G 阅读(151) 评论(0) 推荐(0)
摘要: 今天遇到一个问题。如何删除一种数据表中某个字段的重复数据记录?例如有表info,该表的title字段有很多重复数据,现在我们需要删除掉重复数据,只保留最早的一条。利用Oracle是比较简单的,直接用ROWID即可解决:DELETE FROM info WHERE ROWID NOT EXIST(SE... 阅读全文
posted @ 2015-11-28 21:44 Loeis.G 阅读(461) 评论(0) 推荐(0)
摘要: 用法一:常量在JDK1.5 之前,我们定义常量都是: public static fianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。public enum Color { RED, GREEN, BLANK, YELLOW } 用... 阅读全文
posted @ 2015-10-13 10:11 Loeis.G 阅读(99) 评论(0) 推荐(0)