HashMap为什么是线程不安全的

摘要: 1、put的时候导致的多线程数据不一致。 这个问题比较好想象,比如有两个线程A和B,首先A希望插入一个key-value对到HashMap中,首先计算记录所要落到的桶的索引坐标,然后获取到该桶里面的链表头结点,此时线程A的时间片用完了,而此时线程B被调度得以执行,和线程A一样执行,只不过线程B成功将 阅读全文
posted @ 2019-06-18 15:15 jped 阅读(2253) 评论(0) 推荐(0)

ArrayList为什么是线程不安全的

摘要: 首先需要了解什么是线程安全:线程安全就是说多线程访问同一代码(对象、变量等),不会产生不确定的结果。 既然说ArrayList是线程不安全的,那么在多线程中操作一个ArrayList对象,则会出现不确定的结果。具体是怎样不确定,请看测试下面这段代码(在此测试ArrayList的add方法): pub 阅读全文
posted @ 2019-06-17 17:47 jped 阅读(6700) 评论(0) 推荐(2)

简单的堆栈实现举例

摘要: public class Stack { private Object[] elements; private int size = 0; private static final int DEFAULT_INITIAL_CAPACITY = 16; public Stack() { element 阅读全文
posted @ 2019-06-17 16:46 jped 阅读(548) 评论(0) 推荐(0)

sql中的group_concat用法

摘要: group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果。比较抽象,难以理解。 通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来。要返回哪些列,由函数参数(就是字段名)决定。分组必须有个标准,就是根据gr 阅读全文
posted @ 2019-05-29 16:49 jped 阅读(682) 评论(0) 推荐(0)

oracle中用case when查询列表

摘要: 查询sql语句如下 SELECT * FROM ( SELECT * ,ROW_NUMBER() OVER ( PARTITION BY scene_code ORDER BY (CASE status when 'DRAFT' then 3 when 'PRE' then 5 when 'GRAY 阅读全文
posted @ 2019-05-29 16:37 jped 阅读(1401) 评论(0) 推荐(0)

我的第一篇博客

摘要: 这是我的第一篇博客。 请多多指教! 阅读全文
posted @ 2019-05-27 15:57 jped 阅读(94) 评论(0) 推荐(0)