摘要: 前言数组中判断元素是否存在的时间复杂度一般为O(n),是因为大家一般的做法都是遍历一遍数组看看所要找的数据是否存在。这里介绍一种利用key的唯一性来实现的时间复杂度为O(1)的判断元素是否存在的方法在c语言里这种方法经常使用,这里介绍在shell的语法中我们如何利用关联数组和key值唯一性来提高脚本的执行效率需求&&解决方法构建关键字数组和查找数组#构建关键字数组 for num in `seq 1 10` do element[$num]="user_"$num done #构建被搜索数组 for num in `seq 1 100` do search[ 阅读全文
posted @ 2013-03-14 21:09 java程序员填空 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 前言用bash shell写程序时,经常会用到for循环,特别是从1到100这种需求,这里记录几种shell中从1到100的循环方法方法类c语言for ((i=1; i<=100; i ++)) do echo $i done in使用for i in {1..100} do echo $i done seq使用作用seq - print a sequence of numbers代码for i in `seq 1 100` do echo $i done后记虽然这篇博客没什么技术含量,但是记录一下总是遗忘的shell语法,省得每次都去google,特别是现在FQgoogle服务都不稳定 阅读全文
posted @ 2013-03-14 18:42 java程序员填空 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 锁在并发环境下,解决共享资源冲突问题时,可以考虑使用锁机制。synchronized同步当使用同步块时,如果方法下的同步块都同步到一个对象上的锁,则所有的任务(线程)只能互斥的进入这些同步块。举例说明:1、Test1.java演示了4个线程(包括main线程)试图进入某个类的三个不同的方法的同步块中线程1调用method1线程2调用method2线程3调用method3main也调用method3不仅仅线程3和main是互斥的,实际上4个线程都是互斥的,因为他们都同步到了一个对象上(当前对象 synchronized (this)),所以对它们的方法依然是互斥的。2、Test2.java演示了 阅读全文
posted @ 2013-03-14 14:30 java程序员填空 阅读(159) 评论(0) 推荐(0) 编辑