atomic是最轻量级的锁,在一些场景下直接使用atomic包还是很有效的。
下面内容摘秒自《GO并发编程实战》—— 原子操作:
CAS操作的优势是,可以在不形成临界区和创建互斥量的情况下完成并发安全的值替换操作。
这可以大大的减少同步对程序性能的损耗。
当然,CAS操作也有劣势。在被操作值被频繁变更的情况下,CAS操作并不那么容易成功。...
分类:
编程语言 时间:
2015-03-11 17:24:03
阅读次数:
276
Java中的静态变量和静态函数(方法)和C++中也类似。有几点需要重新复习一下:
1)如果想让一个类的所有对象共享数据,可以使用静态变量;如果想共享函数,可以使用静态函数。
2)如果某个对象修改了静态变量的值,那么该类的所有对象都会受到影响。
3)静态变量和静态函数在类创建对象之前就可以调用,这点和普通的变量函数很不一样。
4)常量可以声明为final static,所有对象都共享...
分类:
编程语言 时间:
2015-03-11 17:22:49
阅读次数:
163
创建型模式共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
单例模式:
原文链接:如何正确地写出单例模式
含义:在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。
推荐写法一(静态内部类):
public class Singlet...
分类:
编程语言 时间:
2015-03-11 17:19:34
阅读次数:
133
单例模式经典应用:
如:window中的任务管理器,回收站等应用,一直都会维持一个仅有的实例,又如网站的计数器利用单例模式实现同步。...
分类:
编程语言 时间:
2015-03-11 17:20:34
阅读次数:
198
自荐者和推荐者请留言
基本算法
贪心算法:贪心算法 作者:独酌逸醉
贪心算法精讲 作者:3522021224
递归和分治:递归与分治策略 作者:zhoudaxia
图论
图的遍历(DFS和BFS): 图的遍历 作者:jefferent
最小生成树(Prim算法和Kruskal算法): 贪心算法--最小生成树 作者:独酌逸醉
Dij...
分类:
编程语言 时间:
2015-03-11 17:18:33
阅读次数:
185
输出格式美化Python两种输出值得方式:表达式语句和print()函数(第三种方式是使用文件对象的write()方法 标准输出文件可以用sys.stdout引用)如果你希望输出对的形式更加多样,可以使用str.format()函数来格式化输出值如果你希望将输出的值转成字符串,可以使用repr()或str()函数来实现。
str()函数返回一个用户易读的表达形式。
repr()产生一个解释器易读...
分类:
编程语言 时间:
2015-03-11 17:17:40
阅读次数:
186
有时候,甚至优秀的程序员在他们首次尝试用Python时,会很少使用最佳方案和数据结构。在过去数年中,Python也逐渐累积了一些诸如:冗余,缺点等瑕疵(它们中的一部分会从Python3.0中移除,这篇文章主要基于Python 2.5,不针对之后的版本,比如说Python 2.6,同样不针对Jython 或 PyPy 或 IronPython 它们之间有点微妙的差异),但是总而言之,Python依然是非常干净、简洁的语言,本文也像这样,目的是为了让你避免程序开发实践中最可能碰到的误区。本文同样简短,你甚至能发...
分类:
编程语言 时间:
2015-03-11 17:16:12
阅读次数:
161
PHP array_multisort() 函数
定义和用法
array_multisort() 函数对多个数组或多维数组进行排序。
参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。
第一个参数是数组,随后的每一个参数...
分类:
编程语言 时间:
2015-03-11 17:11:18
阅读次数:
189
什么是 python 式的生成器?从句法上讲,生成器是一个带 yield 语句的函数。一个函数或者子
程序只返回一次,但一个生成器能暂停执行并返回一个中间的结果—-那就是 yield 语句的功能,返
回一个值给调用者并暂停执行。当生成器的 next()方法被调用的时候,它会准确地从离开地方继续
(当它返回[一个值以及]控制给调用者时)
简单实例def gen():
yiel...
分类:
编程语言 时间:
2015-03-11 17:10:46
阅读次数:
178
1 import java.io.FileInputStream; 2 import java.security.KeyStore; 3 import java.security.PrivateKey; 4 import java.security.PublicKey; 5 import...
分类:
编程语言 时间:
2015-03-11 17:07:32
阅读次数:
166
《Java知识点列表》V1.01 开发环境Java SDK 下载和安装2 环境变量的配置(path和classpath)3 编程基础 标识符命名规范4 Java数据类型5 运算符6 分支语句(if,switch)7 循环语句(for,while)8 函数的定义方法9 面向对象基础 面向对象与面向过程...
分类:
编程语言 时间:
2015-03-11 17:07:45
阅读次数:
148
/* * 二分查找算法也称为折半搜索、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。 * 请注意这种算法是建立在有序数组基础上的。 * */public class BinarySearch { public static void main(String[] args) { ...
分类:
编程语言 时间:
2015-03-11 17:06:42
阅读次数:
115
[UIImageView setImageWithURL:]: unrecognized selector sent to instance解决办法第一次配置的时候,因为百度了教程,所以一次性成功结果第二次没去百度,结果悲剧了,再找之前的配置教程也找不到了1、选中项目,右键,点击Add Files ...
分类:
编程语言 时间:
2015-03-11 17:04:45
阅读次数:
391
算法说明:冒泡排序实际上是使用的最多的排序,逻辑是循环然后对相邻的数字进行比较,并交换数据。例如有一个数组int[] arrayData = { 2, 3, 1, 5, 6, 7, 4, 65, 42 },一共9个元素。假设我们要做降序排序,那么首先全部9个元素从第1个元素开始进行两两比较,把小的元...
分类:
编程语言 时间:
2015-03-11 17:02:41
阅读次数:
152
public void importIdentifySchemeFile(Integer id,Integer type,HttpServletRequest request, HttpServletResponse response){PrintWriter out = null; try { ....
分类:
编程语言 时间:
2015-03-11 17:01:59
阅读次数:
159
双击打开,可以直接在pom.xml添加代码,其实对于初学者没必要这样添加,打开后:点击add:再添加spring-webmvc spring-orm就够springMVC的基本开发了添加之后,版本不同可能jar包也不同第一次添加可能会有点慢,需要网络,若出现类似提示Missing artifact ...
分类:
编程语言 时间:
2015-03-11 17:00:05
阅读次数:
246
Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱发表于2014年07月24号由52nlp曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然开发语言是C/C++,但平时的很多文本数据处理任务都交给了Python。离开腾讯创业后,...
分类:
编程语言 时间:
2015-03-11 16:59:02
阅读次数:
314