摘要: JNI中,C/C++代码里创建的资源不由Java GC处理,故这里的资源必须由C/C++代码明确释放。在JNI中,C/C++回调Java的方法是调用一个CallXXMethod函数来实现的,如果回调的方法结束,C/C++执行下一行代码。 故猜测,由C/C++创建的OS线程应该会在运行完run方法后释 阅读全文
posted @ 2018-10-28 19:07 猫毛·波拿巴 阅读(784) 评论(4) 推荐(0) 编辑
摘要: 首先,我们得清楚为何要解耦? 耦合的坏处就是,牵一发而动全身,比如,当我更改了类A或其子类的时候,类B也要进行修改。这里,解除耦合,就意味着,即使你Receiver怎么改,添加了多少,删除了多少。我Invoker都不需要做什么改动。 有人会说,这不是很好办吗,我定义一个接口,每个Receiver都实 阅读全文
posted @ 2018-10-28 03:00 猫毛·波拿巴 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 实现线程任务有两种方式,一种是创建Runnable/Callable对象,传递给Thread。另一种是子类重写Thread的run方法。 我觉得前一种像极了命令模式,或者说应该是命令模式的一个使用案例。 相似如下: (1)Runnable 接口,只定义一个"()V"(表示无参,返回值为void)的方 阅读全文
posted @ 2018-10-28 02:22 猫毛·波拿巴 阅读(732) 评论(1) 推荐(1) 编辑