草庐IT

一般而言

全部标签

java - 解决Java内存泄漏的一般策略?

我有一个在本地运行的独立程序,它是一个24/7运行的服务器类型程序。最近我发现它有内存泄漏,现在我们唯一的解决方案是每4小时重新启动一次。查找此内存泄漏的最佳方法是什么?我们应该使用哪种工具和方法? 最佳答案 如果您使用Sun的Java并且至少使用Java6update10(即最新版本),那么请尝试在您的程序运行的同一台机器上从JDK运行jvisualvm,并附加到它并启用分析。这很可能是最简单的开始方式。 关于java-解决Java内存泄漏的一般策略?,我们在StackOverflow

c++ - C++0x 中的栅栏,一般只保证原子或内存

C++0xdraft有一个栅栏的概念,这似乎与CPU/芯片级别的栅栏概念非常不同,或者说linux内核人员对fences的期望.问题是草案是否真的暗示了一个极其受限的模型,或者措辞很差,实际上暗示了真正的围栏。例如,在29.8Fences下,它声明如下:AreleasefenceAsynchronizeswithanacquirefenceBifthereexistatomicoperationsXandY,bothoperatingonsomeatomicobjectM,suchthatAissequencedbeforeX,XmodifiesM,YissequencedbeforeB

c++ - 就内存使用而言,模板 + 仿函数/lambdas 不是最理想的吗?

出于说明目的,假设我要实现一个通用整数比较函数。我可以想到一些方法来定义/调用函数。(A)函数模板+仿函数templatevoidcompare_int(inta,intb,conststd::string&msg,Comparecmp_func){if(cmp_func(a,b))std::cout这将是对该函数的几次调用:MyFunctor_LTmflt;MyFunctor_GTmfgt;//notnecessarytoshowtheimplementationcompare_int(3,5,"lessthan",mflt);compare_int(3,5,"greaterthan

c++ - undefined symbol 的一般故障排除技术 - gcc

我只是想知道是否有一种有效的技术来解决gcc中undefinedsymbol。有时我的一个项目无法链接,我通常会花很多时间寻找原因。通常它是一个深深隐藏的makefile中的错字,不正确的环境变量或类似的东西。如果您的构建突然因“undefinedsymbol”而死机并且原因不明显,您会使用什么方法? 最佳答案 说这是我的开始配置:/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/crt1.o:Infunction`_start':(.text+0x18):undefinedrefe

c++ - 关于回调函数和线程的一般查询

我有一个关于线程和回调的一般性问题。例如,我们有一个线程与主程序一起连续运行。主程序已经向线程注册了一个回调函数。所以线程可以随时调用回调函数。通常,我们通过将函数指针传递给线程来注册回调。我想知道线程何时调用该回调函数,它是该线程的一部分还是主程序的一部分。我想知道这个过程的机制,比如当线程调用回调时,主程序执行是如何停止或中断的。另一件事是调用回调时函数调用堆栈的行为。 最佳答案 作为一般规则,函数调用总是在调用者的上下文(线程)中进行。被调用者是函数、成员函数、仿函数对象还是其他任何东西都没有关系。换句话说,当线程调用你的回调

C++ 抽象基类构造函数/析构函数 - 一般正确性

我想要一个C++Interface继承时必须覆盖(如果可能的话)。到目前为止,我有以下内容:classICommand{public://Virtualconstructor.Needstotakeanameasparameter//virtualICommand(char*)=0;//Virtualdestructor,preventsmemoryleaksbyforcingcleanuponderivedclasses?//virtual~ICommand()=0;virtualvoidCallMe()=0;virtualvoidCallMe2()=0;};classMyComma

C++:一般来说,我应该使用字符串还是字符数组?

我对程序员在C和C++中进行不同编码的基本方式有点模糊。特别是一件事是C++中的字符串在char数组上的使用,反之亦然。那么,一般来说,我应该使用字符串还是字符数组,为什么? 最佳答案 在C++中,您几乎在所有情况下都应该使用std::string而不是原始char数组。std::string为您管理底层内存,这本身就是一个足够好的理由喜欢它。它还为常见的字符串操作提供了一个much更易于使用和更具可读性的接口(interface),例如相等性测试、连接、子字符串操作、搜索和迭代。 关于

python - 简而言之,什么是 Django 通用 View ?

本页的前两段解释了通用View应该让我的生活更轻松,不那么单调,让我对女性更具吸引力(最后一段是我编造的):https://docs.djangoproject.com/en/1.4/topics/generic-views/我完全是为了改善我的生活,但通用View实际上有什么作用?似乎有很多流行语被抛出,这比他们解释的更令人困惑。通用View是否类似于RubyonRails中的脚手架?介绍中的最后一个要点似乎表明了这一点。这是一个准确的说法吗? 最佳答案 Django通用View只是执行Web应用程序中非常常见的事情的View函数

java - 在 Java 中创建异常的一般经验法则是什么?

这两种情况我都遇到过:创建过多的自定义异常使用过多的通用异常类在这两种情况下,项目都开始正常,但很快就成为维护(和重构)的开销。那么关于创建您自己的异常类的最佳实践是什么? 最佳答案 TheJavaSpecialists写了一篇关于ExceptionsinJava的帖子,并在其中列出了一些创建异常的“最佳实践”,总结如下:不要编写自己的异常(有很多有用的异常已经是JavaAPI的一部分)编写有用的异常(如果您必须编写自己的异常,请确保它们提供有关所发生问题的有用信息) 关于java-在J

java - Collections.sort() throws 比较方法违反了它的一般约定!异常(exception)

我正在尝试对List对象进行排序,但抛出了此异常(但仅适用于大型列表)排序代码:ListsentenceList=finalRepresentation.getSentences();Collections.sort(sentenceList);//FinalSentence类头:publicclassFinalSentenceimplementsComparable{...}compareTo()实现:@OverridepublicintcompareTo(FinalSentenceo){if(this==o){return0;}if(this.score>o.score){retu