sort():按升序排列数组项,sort会调用每个数组项的toString()方法,然后比较的字符串,已确定怎么排序,即使数组中的每一项都是数值,也将比较字符串; reverse():反转数组项的顺序; 例: var values = [0,1,2,10,15,23,36];values.sort( ...
分类:
编程语言 时间:
2017-10-12 17:00:28
阅读次数:
189
valitile修饰的变量不允许线程内缓存以及重排序,它会直接修改主内存,每次使用前立即从主内存刷新,这样保证读到的都是最新的。但是只能保证变量的可见性,不能保证原子性(非原子操作不能保证线程安全),即存在线程安全问题 volatile 其本身包含“禁止指令重排序”的语义 synchronized ...
分类:
其他好文 时间:
2017-10-10 17:50:19
阅读次数:
218
题意: 给了你一个n*m的地图 上面有k个守卫 守卫周围的8个格子是不能经过的 我们只能向右走或者向下走 问你从左上角到右下角有多少种走法 思路: 首先 我们对于一个没有守卫的n*m的地图 从左上角到右下角的走法是C(n+m,n) 因为我们从左上角走到右下角一共需要n+m步 我们在每一个格子都可以向 ...
分类:
其他好文 时间:
2017-10-03 20:38:29
阅读次数:
213
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排 ...
分类:
编程语言 时间:
2017-10-03 17:25:26
阅读次数:
183
转载自于:http://my.oschina.net/004/blog/222069?fromerr=ER2mp62C 指令重排序是个比较复杂、觉得有些不可思议的问题,同样是先以例子开头(建议大家跑下例子,这是实实在在可以重现的,重排序的概率还是挺高的),有个感性的认识 例子比较简单,也添加了注释, ...
分类:
编程语言 时间:
2017-09-27 17:42:20
阅读次数:
203
一、解决方案 004-线程同步问题引出、同步问题解决、死锁、生产者与消费者 通过以上文章可知,通过原子性AtomicLong 、以及内部锁(synchronized)机制可以解决线程安全问题。以下是一些高级用法。 1、回顾synchronized : 核心类库包含一个 Thread 类,可以用它来构 ...
分类:
编程语言 时间:
2017-09-26 23:38:58
阅读次数:
340
原文出处: 海子 volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件 ...
分类:
编程语言 时间:
2017-09-26 16:04:05
阅读次数:
235
Java并发编程 Volatile关键字解析 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义: 1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。 2)禁止进行指令重排序。 ...
分类:
编程语言 时间:
2017-09-19 21:12:06
阅读次数:
247
题意: 给定n个数,去重排序后输出个数和每个数 1.map实现 2.set实现 ...
分类:
编程语言 时间:
2017-09-05 09:56:17
阅读次数:
163