现在位置: 首页 > nighthawk发表的所有文章
  • 09月
  • 28日
综合 ⁄ 共 5978字 评论关闭
曾经研究过jkd1.5新特性,其中ConcurrentHashMap就是其中之一,其特点:效率比Hashtable高,并发性比hashmap好。结合了两者的特点。        集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的ConcurrentHashMap,让我们从原理上细致的了解它们,能够让我们在深度项目开发中获益非浅。     在tiger之前,我们......
阅读全文
  • 04月
  • 12日
综合 ⁄ 共 3699字 评论关闭
Bob’s Race Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1966    Accepted Submission(s): 607 Problem Description Bob wants to hold a race to encourage people to do sports. He has got trouble in choosing the route. There are N houses and N - 1 roads in his village. Each road connects two houses, and all houses are connected together. To make the race more interesting, he requires that every participant must start from a different ......
阅读全文
  • 04月
  • 07日
综合 ⁄ 共 991字 评论关闭
  关于这道题目,我们可以抽象一下,即在保证货车不超过道路给定的最小限重量的情况下,使得货车装载的货物的重量最大。 即该边是一个顶点到另一个顶点所有路径中的最小的。 那么怎么去求解呢?具体请进我的另一篇博客:http://blog.csdn.net/wall_f/article/details/8177716 CODE: #include <iostream> #include <cstring> #include <string> #include <cstdio> #include <cstdlib> #include <map> using namespace std; const int MAXN = 220; const int INF = 0x3f3f3f3f; int d[MAXN]......
阅读全文
  • 10月
  • 18日
综合 ⁄ 共 752字 评论关闭
磁带文件存放优化 《编程之美》4.5 书上给出的算法属于贪心算法。关于贪心算法,最重要的在于证明其正确性。 1、证明贪心选择性。 设X={x1,x2,x3,…,xn}是一个最优解.其中,作业xi的长度为L[xi],访问的概率为P[xi]。 设Y={y1,y2,y3,…,yn}是一个贪心解。其中,P[yi]/L[yi]>=P[y(i+1)]/L[y(i+1)]。 如果X和Y完全一样,则贪心解就是一个最优解。 如果X和Y不一样,设xi和yi是第一个不同的作业。设yi是X中的xj。 X=x1,x2,x3,..,xi,…,xj,…,xn 把xj插入到xi的前边,则X变成 X’=x1,x2,x3,…,xj,xi,…,xn 设X的代价是E(X),X’的代价是E(X’)......
阅读全文
  • 06月
  • 05日
综合 ⁄ 共 3804字 评论关闭
一:背景 在MapReduce模型中,reduce的功能大多是统计分类类型的总量、求最大值最小值等,对于这些操作可以考虑在Map输出后进行Combiner操作,这样可以减少网络传输负载,同时减轻reduce任务的负担。Combiner操作是运行在每个节点上的,只会影响本地Map的输出结果,Combiner的输入为本地map的输出结果,很多时候Combiner的逻辑和reduce的逻辑是相同的,因此两者可以共用reducer体。 二:什么时候运行Combiner (1):当job设置了Combiner,并且spill的个数达到了min.num.spill.for.combine(默认是3)的时候,那么Combiner就会在merge......
阅读全文
  • 05月
  • 18日
综合 ⁄ 共 2097字 评论关闭
要研究一下算法,水平很差,只好各种向大神们学习了。。。然后写个总结,感谢各路大神! 一、全排列的递归算法 先上代码,乃懂的 <span style="font-size:14px;">#include<iostream> using namespace std; template <class T> void Swap(T &a, T &b) { T temp = a; a = b; b = temp; } template<class T> void Perm(T list[], int begin, int end) { if(begin == end) { for(int i = 0; i <= end; ++i) { cout << list[i] << " "; } cout << endl;......
阅读全文
  • 04月
  • 14日
综合 ⁄ 共 483字 评论关闭
cascade :级联关系 可以这样理解,cascade定义的是关系两端对象到对象的级联关系;而inverse定义的是关系和对象的级联关系。 all : 所有情况下均进行关联操作。 none:所有情况下均不进行关联操作。这是默认值。 save-update:在执行save/update/saveOrUpdate时进行关联操作。 delete:在执行delete时进行关联操作。 inverse : Inverse是hibernate双向关系中的基本概念。inverse的真正作用就是指定由哪一方来维护之间的关联关系。当一方中指定了“inverse=false”(默认),那么那一方就有责任负责之间的关联关系,说白了就是......
阅读全文
  • 04月
  • 02日
综合 ⁄ 共 4537字 评论关闭
很多QT中的类都是隐式共享的,它在作为参数传递时既安全又有效率。 上一讲中提到了一个implicit sharing的问题,说QT容器类是隐式共享的。文档中讲了一个这样的问题: 一些Qt函数返回一个容器,如果想使用STL风格的迭代器遍历某函数的返回值,就必须复制此容器并且遍历这个副本,例如,下面的代码给出了如何遍历由QSplitter::sizes()返回的QList<int>的正确方式。    // RIGHT    const QList<int> sizes = splitter->sizes();    QList<int>::const_iterator i;    for (i = sizes.begin(); i != sizes.end(......
阅读全文
  • 02月
  • 23日
综合 ⁄ 共 3023字 评论关闭
更多精彩,破晓博客:点击打开链接 7日,在瑞典首都斯德哥尔摩,瑞典皇家科学院常任秘书诺尔马克(左二)宣布2014年诺贝尔物理学奖得主。新华社发 ■人物 中村修二 勇于追讨报酬的科学家 被誉为“蓝光之父”的中村修二1954年生于日本伊方町,1994年从日本徳岛大学获得博士学位,自2000年以来供职于美国加利福尼亚大学圣巴巴拉分校,现为美国国籍。 1993年,在日本日亚化学工业公司(简称“日亚公司”)做技术员的中村开发出蓝色高亮度发光二极管,使LED向实用化迈出了重要一步。 这样一名优秀的科学家,却在2000年离开日本前......
阅读全文
  • 12月
  • 15日
综合 ⁄ 共 368字 评论关闭
 主要讨论5个问题: 1 线程的使用方式        这个不是重点,使用时就知道了。        多个线程在某个时间端上交替执行        通过线程的复制,可以执行不同的分支。        可以通过设定线程的优先级,来顺序执行。        可以通过timer和TimerCallBack获得线程动作结果,来判断线程是否执行完毕。        也可以在线程中创建线程。 2 线程生存周期       开始       挂起  恢复       睡眠  中断  超时       等待  中断  通知       参与  目标线程被调用       结束 3 何时使用线程?     后台访问耗时的外部资源 4 线程陷阱......
阅读全文
  • 11月
  • 20日
综合 ⁄ 共 8752字 评论关闭
无聊起来决定翻译一下这篇,可能不会一字一句对照原文翻译,夹杂了自己的私货。另外,对于重要的名词我决定还是不翻译了,见过太多把专业术语翻译成中文让人摸不着头脑的,保留英语反而好理解。 hello world之后需要知道安卓应用的体系架构。如果我们把android app的搭建过程想象成小时候的积木游戏,那么android的积木( building blocks)就是App components(我把它叫做组件)。App components有以下四类: Activities An activity represents a single screen with a user interface. For example, an email app might have one......
阅读全文
  • 08月
  • 09日
综合 ⁄ 共 828字 评论关闭
用Eclipse时,查找替换,可能是我们经常用的工具,但大多数只是查找替换简单的单词文本(如查找替换warnings),但遇到复杂的情况时,大多数人可能就手工改了。 例如: /* */ public class Configuration /* */ { /* */ private List<context> contexts; /* */ private List<String> classPathEntries; /* */ /* */ public Configuration() /* */ { /* 41 */ this.contexts = new ArrayList(); /* 42 */ this.classPathEntries = new ArrayList();......
阅读全文