小编nit*_*.kk的帖子

MemoryFile在android中的用途是什么?

我想写一些字节到共享内存.这是在我的application1中完成的.从我的另一个应用程序:application2我想访问该共享内存来读取写入的字节.为此,我尝试使用android的MemoryFile类.我被困在如何在两个不同的应用程序之间引用相同的分片内存.如果memoryFile用于相同的目的,我现在也很困惑. http://developer.android.com/reference/android/os/MemoryFile.html我发现这个主题的链接.提前致谢.克里希纳

java memory android

12
推荐指数
1
解决办法
9106
查看次数

如何在用户对JTable进行排序时跟踪行索引?

我有一个第一行空白的JTable.现在,当我通过单击该列对基于列的表进行排序时,空行将位于底部.如果我在空白行中插入一些内容并进行排序,则相应地放置行.即使在排序时,如何跟踪其行索引.我需要访问该行,但如果用户进行排序,那么我会松开行索引,因为它不再是第一行.

java swing jtable

10
推荐指数
2
解决办法
2万
查看次数

如果子问题没有重叠,DP如何帮助[0/1背包]

考虑以下输入的典型背包问题.

V = [10,8,12]
W = [2,3,7]
i =  1,2,3
C = 10
Run Code Online (Sandbox Code Playgroud)

我尝试使用memoization进行递归来解决此示例但发现没有重叠的子问题.

递归程序的签名:

knapsack(int c, int i) 
Run Code Online (Sandbox Code Playgroud)

最初称为 knapsack(10,1)

在此输入图像描述

解决方案的方法类似于https://www.youtube.com/watch?v=6h6Fi6AQiRMhttps://www.youtube.com/watch?v=ocZMDMZwhCY中所述.

动态编程如何帮助减少这些Knapsack样本的时间复杂度?如果它没有帮助改善这种情况的时间复杂度,那么DP解决方案的最坏情况复杂性也与基于后向跟踪搜索相同,即2到功率n [ 忽略修剪,就像修剪应用那样复杂性将降低两者解决方案再次DP将不会比非memoized递归解决方案更好 ]

**在上面的示例中是否真的缺少子问题,或者我遗漏了什么?**

algorithm recursion knapsack-problem memoization dynamic-programming

10
推荐指数
2
解决办法
773
查看次数

执行者何时真正创建新线程

我在为执行程序创建新线程时感到困惑.我的理解是:对于cachedthreadpool,根据任务的提交创建新线程.对于fixedthreadpool和singlethread,无论提交任务如何,都会提前创建线程.我的理解错了吗?

ExecutorService exec = Executors.newCachedThreadPool(); 
exec.execute(new LiftOff());

ExecutorService exec = Executors.newFixedThreadPool(3); // Are the three threads created 
                                                        // after this line executes?
exec.execute(new LiftOff());

ExecutorService exec = Executors.newSingleThreadExecutor(); // Is the single thread created 
                                                            // after this line executes?
exec.execute(new LiftOff());
Run Code Online (Sandbox Code Playgroud)

java multithreading

8
推荐指数
1
解决办法
2550
查看次数

将 String 类型引用标记为 Volatile 安全吗?

我读过一些帖子和文章说我们不应该将java对象声明为易失性的,因为这样一来,只有引用变得易失性。这里有些例子:

链接1 链接2 链接3

Sonar 的建议是“非原始字段不应该是“易失性”的”,然而,它也表明所描述的问题涉及可变对象。“类似地,将可变对象字段标记为易失性意味着对象引用是易失性的,但对象本身是易失性的。不是'。

我的问题是:将 java String 声明为 volatile 是否安全?

java string volatile immutability

8
推荐指数
1
解决办法
1837
查看次数

线程本地的使用和需求是什么

我在Java中探索Thread本地.我无法理解为什么我们需要这门课.如果我只是简单地将一个新对象传递给每个线程来执行,我可以实现相同的动机,如果我使用initialValue()就会发生同样的事情.我只是在initialvalue()中为每个线程返回一个新对象.

但是说我有两个线程,ThreadOne:A和ThreadTwo B.现在我希望他们拥有自己的SimpleDateFormat类的副本.我可以通过在ThreadLocal类中扭曲SimpleDateFormat的对象然后使用initialValue()来执行此操作,我可以返回新的SimpleDateFormat("yyyyMMdd HHmm");. 同样的动机我可以通过创建两个新的SimpleDateFormat对象来实现,并且[每个都向ThreadOne提供一个:A.和ThreadTwo:B.ThreadLocal如何帮助我额外的

问候,

java multithreading thread-local

7
推荐指数
2
解决办法
1696
查看次数

我可以序列化在画布上绘制的路径,以便在重新启动应用程序时重新绘制路径

我有一个应用程序,它使用画布绘制用户完成的涂鸦.我已将路径序列化为外部文件并将其保存在SD卡中.当用户再次启动应用程序然后单击(重新绘制)按钮时,我希望在画布上重绘已保存的路径.我无法重绘路径.我在调试时检索文件中的路径并检查相同的路径.但我不知道为什么这些路径没有重新绘制.请帮助.

graphics serialization android path

6
推荐指数
1
解决办法
2104
查看次数

命令模式如何将发送者与接收者解耦?

Command 模式有一个 IReceiver 接口,其中有几个方法,并且与每个方法相对应,有具体的 Command 对象(实现一个接口ICommand)。

我读到客户端知道具体接收器和具体命令,并且通常是客户端在具体命令对象中设置接收器对象。那为什么说它解耦了发送者和接收者呢?

当客户端已经知道具体的接收者时,我觉得这不是松耦合,而且在这种情况下客户端可以直接调用接收者对象上的 API(方法)。

java design-patterns command-pattern

6
推荐指数
1
解决办法
3004
查看次数

如果在代理模式中我们有接口而不是代理类中的实际具体主题,则它等效于装饰器模式

代理模式在进行了一些其他处理(例如应用检查是否需要处理请求还是基于某些凭据检查)之后,将请求委托给Real主题。

它的类图如下

在此处输入图片说明

代理类直接引用了具体的Subject。

装饰器模式丰富了组件的行为(像代理一样,它也进行一些附加处理并将操作委托给实际组件)。此模式的类图类似于Proxy模式,唯一的区别是它具有对组件接口的引用。

在此处输入图片说明

在Proxy类中拥有具体的实际主题会使单元测试变得困难,因为类仅应依赖于接口而不是依赖于实现。我的问题是,如果代理模式也引用了Real主体公开的接口,那么它将等同于Decorator模式。在这种情况下,代理模式的类图也将如下所示

在此处输入图片说明

java design-patterns decorator proxy-pattern

5
推荐指数
1
解决办法
376
查看次数

工厂方法模式是模板方法模式的特例吗?

GOF 谈论“工厂方法”模式的框架。框架需要对象,但对象的实现取决于应用程序,因此创建了创建对象的抽象方法。此外,由于需要返回类型,因此定义了所需对象的接口,它定义了该对象所需的 api。实际对象是由子类(具体应用程序)创建的。这是一种创作模式。

对于模板模式,唯一的变化是封装类不知道某些行为的实现,因此它将其抽象为方法,使用它,但将实现留给子类。这是行为模式。

两者之间唯一的区别是

1. Factory method is creational and Template is behavioural.
2. Factory method abstracts a method to create an object where as template pattern abstracts a method for some policy or algorithm. 
Run Code Online (Sandbox Code Playgroud)

示例代码

 /**factory-method example**/
 public abstract class Application{          
        public void create(){
              View contentView = createContentView();
              Menu menu = contentView.obtainMenu();
              generateMenuItems(menu);
        }
        public abstract View createContentView(); //factory-method
        public void generateMenuItems(Menu menu){
              // some code
        }
 }

  /** Product Specification**/            
 public interface View{
      public abstract Menu obtainMenu(); …
Run Code Online (Sandbox Code Playgroud)

java oop design-patterns factory-method template-method-pattern

5
推荐指数
1
解决办法
5443
查看次数