摘要: 一些可能用到的工具 并发编程 1.FastFlow(C/C++):http://calvados.di.unipi.it/dokuwiki/doku.php/ffnamespace:about 2.Disruptor(Java):https://github.com/LMAX-Exchange/di 阅读全文
posted @ 2016-07-18 16:50 goooon 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 锁 互斥锁:互相排斥,上锁或释放锁会导致内核态上下文切换,没有获得锁的情况下线程进入休眠。 自旋锁:用户态不停尝试获取锁,直到锁获取成功或者线程切换。 在多核 / 多CPU 的系统上,特别是大量的线程只会短时间的持有锁的时候,这时如果使用 互斥锁,在使线程睡眠和唤醒上浪费大量的时间,也许会显著降低程 阅读全文
posted @ 2016-07-18 13:08 goooon 阅读(222) 评论(0) 推荐(0) 编辑
摘要: http://www.ibm.com/developerworks/cn/java/java-lo-concurrenthashmap/ 阅读全文
posted @ 2016-07-18 11:23 goooon 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 虽然Java有GC垃圾自动回收功能,但并不是说Java程序就不会内存泄漏。如果一个对象没有地方会使用到,但是却仍然有引用指向他,那么垃圾回收器就无法回收他,这种情况就属于内存泄漏。这种泄漏可能属于短暂的(即程序运行一段时间后引用消除进而出发GC)也可能是程序级别的(即程序退出时才会回收)。Java的 阅读全文
posted @ 2016-07-12 23:52 goooon 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 转自http://blog.csdn.net/myan/article/details/5928531 这是那篇C++0X的正文。太长,先写上半部分发了。 Function/bind可以是一个很简单的话题,因为它其实不过就是一个泛型的函数指针。但是如果那么来谈,就没意思了,也犯不上写这篇东西。在我看 阅读全文
posted @ 2016-07-12 10:21 goooon 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 内存的分配和释放,典型的做法有 1.全人工,也就是调用malloc/free,new/delete这些完全靠程序员,当然这样开发的程序很容易出现bug 2.引用计数,对每个分配的对象增加一个引用计数器,这样带来的问题是内存额外开销,增加减少引用时的计算开销,特别在多线程时的加锁,而且还有循环引用的问 阅读全文
posted @ 2016-07-11 14:38 goooon 阅读(219) 评论(0) 推荐(0) 编辑
摘要: Java能被广泛使用,很重要的就是GC(Garbage Collection,垃圾回收)机制,也是Java与C/C++的主要区别之一。GC机制带来的好处就是不需要我们过多地关注内存泄漏导致的OOM,但是这并不意味着Java开发就不会有内存泄漏,另外在某些情况下GC也会影响程序运行效率,极端情况下导致 阅读全文
posted @ 2016-07-10 23:52 goooon 阅读(105) 评论(0) 推荐(0) 编辑
摘要: Android编码规范 Android性能优化 Android注意事项 阅读全文
posted @ 2016-07-10 21:35 goooon 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 转自http://droidyue.com/blog/2014/11/08/bad-smell-of-asynctask-in-android/ 译文:Android中糟糕的AsyncTask NOV 8TH, 2014 AsyncTask是一个很常用的API,尤其异步处理数据并将数据应用到视图的操 阅读全文
posted @ 2016-07-10 20:04 goooon 阅读(285) 评论(0) 推荐(0) 编辑
摘要: C++为了执行效率,开发效率不断演进,不断推出新的特性,新的标准库。用来开发某一个单独功能时确实很方便快捷,单一旦涉及到UI以及功能复杂点的请况,C++的库就不够用了。java凭借着其简单的语法,以及内存管理,跨平台等优势,赢得了多年稳坐编程语言第一的位置。 在Android开发领域,由于其和C++ 阅读全文
posted @ 2016-07-08 23:07 goooon 阅读(298) 评论(0) 推荐(0) 编辑