小编Sum*_*han的帖子

Spring MVC中ApplicationContext和WebApplicationContext有什么区别?

应用程序上下文和Web应用程序上下文有什么区别?

我知道WebApplicationContext用于面向Spring MVC架构的应用程序?

我想知道ApplicationContextMVC应用程序有什么用?什么样的豆类定义ApplicationContext

spring spring-mvc applicationcontext

180
推荐指数
4
解决办法
14万
查看次数

TCP中推送和紧急标志之间的区别

我试图理解TCP段与标志PSH和标志之间的区别URG.我读了RFC但仍然无法得到它,其中一个是否在将数据发送到进程之前缓冲数据而另一个没有?

tcp

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

算法在树中查找最大独立集

我需要一个算法来查找树中的最大独立集.我想从所有叶节点开始,然后删除直接父节点到这些叶节点,然后选择我们删除的父节点的父节点,递归地重复这个过程,直到我们到达root.这是在O(n)时间内完成的吗?任何回复表示赞赏.谢谢.

并且有人可以请指出一个算法来找到树中的最大支配集.

algorithm tree independent-set

11
推荐指数
1
解决办法
1万
查看次数

测试和设置与Peterson算法

测试和设置实现之间有什么区别 mutexPeterson's Algorithm?

实际系统中实际使用了哪一个?

operating-system mutex locking

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

Android加载器与处理程序

loaders在异步从数据源获取数据的帮助.我们可以实现相同的效果Handlers,我们可以启动线程或执行Executor并可以获取该线程中的数据.获取数据后,我们可以使用UI处理程序Message机制更新UI.那么为什么我们可以通过使用来实现相同的编码复杂的加载器Handlers.

java android

4
推荐指数
1
解决办法
652
查看次数

write()调用失败:设备上没有剩余空间:ENOSPC处理

write()呼叫与失败errno = 28 (ENOSPC),没有留在设备上的空间.我试图通过以下方式处理此错误.当磁盘已满时,我正在lseek()将文件指针移动到文件的开头.

我相信现在不write()应该失败,因为现在文件将从顶部覆盖(文件不会扩展).但是仍然write()是因为同样的错误而失败了.请解释一下这种行为.

  if(errno == ENOSPC)
  {
      curPos = lseek(gi4LogFd, 0, SEEK_SET);
      break;
  }
Run Code Online (Sandbox Code Playgroud)

c linux error-handling file

3
推荐指数
1
解决办法
6079
查看次数

指向二维数组中整行的指针

假设我将一个二维数组声明为:

int a[10][10];
Run Code Online (Sandbox Code Playgroud)

根据我的理解,a 是 int 类型的双指针。

假设我声明了一个指向整行的指针,如下所示。

int (*p)[10];
Run Code Online (Sandbox Code Playgroud)

a[0]指向第 0 行,a[1]指向第 1 行……依此类推。

所以我尝试将 p 初始化为

p = a[0];  /* so that p can point to row 0 */
Run Code Online (Sandbox Code Playgroud)

我收到不兼容的指针分配的编译器警告。但如果我写

p = a;
Run Code Online (Sandbox Code Playgroud)

这工作正常。

有人可以告诉我我在这里做错了什么吗?

c arrays pointers

3
推荐指数
1
解决办法
329
查看次数

系统调用期间数据复制到内核空间

假设我们有一个系统调用write,它接受一个缓冲区作为参数。该缓冲存储器是用户地址空间的一部分。

写调用如何进一步成功?

假设如果我假设整个缓冲区被复制到内核空间,并且现在进程被抢占,并且其他进程获得了 CPU,并且新进程现在发出不同的系统调用,这可能会覆盖先前调用的write缓冲区。

这样的案件如何处理?或者存在一种完全不同的机制,其中不进行从用户空间到内核空间的数据复制?

operating-system copy system-calls linux-kernel address-space

3
推荐指数
1
解决办法
2265
查看次数

snprintf负值/缓冲区大小的零值

如果将负数或0作为第二个参数传递给snprintf()它,它是否会在提供的缓冲区位置写入.想知道这不会导致任何意外行为.

int snprintf(char *str, size_t size, const char *format, ...);
Run Code Online (Sandbox Code Playgroud)

c printf buffer

3
推荐指数
2
解决办法
1691
查看次数

当链接在TCP连接中关闭时发送()函数行为

以下是场景:

A <-------------------------> B.

我在A和B(基于Linux的机器)上使用非阻塞套接字.A和B有一个TCP连接,突然连接它们的链接断开(链接可能不是直接链接).现在链接断开后,当在A侧调用send()函数向B发送一些数据时,它会成功返回(即它返回要发送的字节数).

当链接断开时,当我们知道远程端无法接收此数据时,这种行为的原因是什么?

c sockets tcp send

2
推荐指数
1
解决办法
1024
查看次数

对void指针的操作

众所周知,无效指针airthmetic是无效的.

int main {
    int b = 10;
    void *a = (void *) &b;
    void *c = a + 1;
    printf ("%p\n", a);
    printf ("%p\n", c);
}

    Output:
     0x7fff32941d1c             
     0x7fff32941d1d
Run Code Online (Sandbox Code Playgroud)

我已经读过上面的airthmetic是意想不到的行为,我们不能依赖它.

现在转向实际问题.我正在使用一系列void指针.

int main()
{
    void *a[10];
    void **b = a;
    void **c = (a + 1);
    printf ("%p\n", b);
    printf ("%p\n", c);
}

Output:
0x7fff8824e050          
0x7fff8824e058
Run Code Online (Sandbox Code Playgroud)

你能解释一下上面的行为,其中有一个双指针(使用指向void指针的指针).这是预期的行为吗?

c pointers void

2
推荐指数
1
解决办法
304
查看次数

迭代器vs生成器vs可迭代

我是新手Python。我能够理解IterablesIterators。但是我已经看到有很多东西可以Generators比作Iterators

据了解,Iterable是一个实际上在其中存储了元素的对象(例如,一个列表)。他们遵循迭代协议,在其中实现了__iter__()方法,该方法返回Iterator有助于迭代的对象Iterable

据我了解,这Generators有助于动态生成数据,而不是在内存中创建大数据结构并返回它。我们也可以通过使用来达到类似的目标Iterators

现在我很怀疑,如果我们已经有了Iterators的需求Generators,因为两者都有助于实现即时生成数据的相似目标。这仅仅是为了简化语法,还是存在其他原因Generators

python iterator generator python-2.7 python-3.x

2
推荐指数
1
解决办法
2932
查看次数

服务与活动之间的沟通

我有一个服务和一个Activity(作为同一过程的一部分运行).根据SO答案,/sf/answers/2037101391/.它建议传递一个Activity引用,Service以便服务可以调用该Activity对象的回调.

1)以这种方式沟通是一个好主意.这不会是坏事,因为它正在泄漏对Activity的引用,这将避免GC直到Service保留其引用.

2)我还检查了Messenger可用于来回通信的活动和服务.据我所知,这意味着要使用的,如果ActivityService在不同的进程中运行.当它们作为同一过程的一部分运行时,使用这种机制不会成为通信b/w活动和服务的开销吗?

沟通的最佳方式是什么?我的主要目的是在服务中发生某些事件时,从服务到活动提供一些消息.

android android-service android-activity

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