Archive | 六月, 2013

SoftReference, WeakReference 和 PhantomReference

一、为什么要有这些**Reference

以前一直没搞明白,java中对象直接本身就是传引用reference,不同于c++的可以指针也可以引用。但java.lang.ref包下面居然还专门定义了几个**Reference:SoftReference, WeakReference 和 PhantomReference。这几个类是干什么用的呢?为什么要专门定义这几种特殊的引用?

作为引用,当然都是指向其被引用的对象。但是不同于一般的引用(和这几种引用对照被称为强引用 Strong reference),定义为这几种类型的引用不防碍 Java 垃圾回收器对它们所指向的对象进行回收。即另个特征:1)保留了引用本身的基本要求,即保持对使用对象的引用;2)可以使 JVM在内存不够用的时候对使用对象进行回收

二、代码关系

这几个类都是定义在包java.lang.ref下面,都是publi[......]

阅读全文

Tags: , ,

Comments { 0 }

Data Mining 笔记FP高级

关于频繁项的高级探索。

@todo 完整笔记

 

[caption id="attachment_931" align="alignnone" width="763"]Pattern Mining: A Road Map Pattern Mining: A Road Map[/caption]

[slideonline id=9179]

Tags: , ,

Comments { 0 }

给某某导师的一封邮件

整理之前常用的网易邮箱的时候,发现几篇比较长的邮件,感受到了当年的年轻气盛,被自己小激励了一把。当年觉得很私密的邮件,现在倒愿意在自己的空间归档下,不然可能就真的扔掉了。是研究生入学前给当年向某位知名人生导师写的邮件,并未得到回复:-(。看到邮件里描述自己的还挺可爱的,虽然使劲回忆起来有些太心酸太囧的经历没有好意思写进去。但是有的啰嗦,怪不得人家不回呢,呵呵。好像更像是自己和自己说话。有热情,有干劲,但是似乎有一点偏执。现在回头看。豆妈说一定不要让我们豆豆也这么辛苦。很感激当年的这些经历,也不太愿意掖着藏着。倒是现在的自己有些地方需要重新拾起来一点当年的热情。

 

**************************************************************************************************
**老师您好[......]

阅读全文

Tags: , ,

Comments { 3 }

Java 并发之 Fork/Join

一、概述

Fork/join是java提供的并行执行的框架。其核心是:把一个大人物分割成若干小人物,再把小任务执行结果合并到大任务 。具体说:Fork把大任务切分成若干小任务并行执行,join把小任务的执行结果进行合并,得到大任务的结果。

通过使用 Doug Lea 提供的 Fork/Join 框架,软件开发人员只需要关注任务的划分和中间结果的组合就能充分利用并行平台的优良性能。其他和并行相关的诸多难于处理的问题,例如负载平衡、同步等,都可以由框架采用统一的方式解决。这样,我们就能够轻松地获得并行的好处而避免了并行编程的困难且容易出错的缺点。

二、适用范围

如果一个应用能被分解成多个子任务,并且组合多个子任务的结果就能够获得最终的答案,那么这个应用就适合用 Fork/Join 模式来解决。
folk_join

三、示例

以计算Fibonacci为例,Fibonacci 的返回值为 Inte[......]

阅读全文

Tags:

Comments { 1 }