小编D.C*_*.C.的帖子

您将如何从对象方法中访问对象属性?

从不是getter/setter方法的对象方法中访问对象属性的"纯粹"或"正确"方法是什么?

我知道从对象外面你应该使用一个getter/setter,但是你可以从内部做到:

Java的:

String property = this.property;
Run Code Online (Sandbox Code Playgroud)

PHP:

$property = $this->property;
Run Code Online (Sandbox Code Playgroud)

或者你会这样做:

Java的:

String property = this.getProperty();
Run Code Online (Sandbox Code Playgroud)

PHP:

$property = $this->getProperty();
Run Code Online (Sandbox Code Playgroud)

请原谅我,如果我的Java稍微关闭,那我用Java编程已经有一年...

编辑:

似乎人们假设我只讨论私有或受保护的变量/属性.当我学习OO时,我被教导为每个属性使用getter/setter,即使它是公开的(实际上我被告知永远不会公开任何变量/属性).所以,我可能会从一开始的错误假设开始.似乎回答这个问题的人可能会说你应该拥有公共财产,并且那些不需要吸气剂和制定者,这与我所教的内容相违背,以及我所谈论的内容,尽管可能需要讨论好.虽然这可能是一个不同问题的好主题......

php java theory oop

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

来自re模块的Python正则表达式是否支持单词边界(\ b)?

在尝试学习更多有关正则表达式的内容时,教程建议您可以使用它\b来匹配单词边界.但是,Python解释器中的以下代码段无法按预期工作:

>>> x = 'one two three'
>>> y = re.search("\btwo\b", x)
Run Code Online (Sandbox Code Playgroud)

它应该是一个匹配对象,如果匹配任何东西,但它是None.

\b不是在Python支持或正在使用它错了,我的表达?

python regex

91
推荐指数
4
解决办法
5万
查看次数

Java运行时性能与本机C/C++代码?

我使用Java编程比使用C++或C变得越来越自在.我希望能够了解使用JVM解释器所产生的性能损失,而不是本机执行相同的"项目".我意识到这里有一定程度的主观性; 该计划的质量将在很大程度上取决于良好的实施.我对一般意义上的以下几个方面感兴趣:

  • 使用解释器时必须有一些开销基线.是否有一些一般的经验法则要记住?10%15%?(我凭空掏出这些数字)我偶尔读过一篇博客,说Java代码几乎和本机代码一样快,但我认为这可能有偏见.

  • JVM垃圾收集器是否会为运行时性能增加大量开销?我知道Cocoa应用程序已经开始使用垃圾收集模型,我同意它使编程变得更简单,但代价是什么?

  • 从Java进行系统调用的开销是多少?例如,创建Socket对象而不是C套接字API.

  • 最后,我回想一下JVM实现是单线程的.如果这是真的(我对此持怀疑态度),这是否意味着Java线程真的不是真正的线程?通常,java线程是否对应于底层内核提供的线程?Java应用程序是否与本机应用程序来自多个核心/多个CPU的方式相同?

任何了解JVM和Java程序性能错综复杂的开发人员的建议都将非常感激.谢谢.

c c++ java jvm

38
推荐指数
3
解决办法
3万
查看次数

Netbeans:我如何打破NullPointerException?

在netbeans中调试java程序时,我希望调试器停在导致NullPointerException的行上,这样我就可以检查那里的变量.我相信我必须在该行设置的断点处使用条件,但条件的语法是什么?

谢谢您的帮助

debugging netbeans breakpoints

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

JSTL:迭代列表但不同地处理第一个元素

我正在尝试使用jstl处理列表.我想以不同于其他元素的方式处理列表的第一个元素.也就是说,我只希望第一个元素将显示设置为阻止,其余部分应该被隐藏.

我所拥有的东西似乎臃肿,不起作用.

谢谢你的帮助.

<c:forEach items="${learningEntry.samples}" var="sample">
    <!-- only the first element in the set is visible: -->
    <c:if test="${learningEntry.samples[0] == sample}">
        <table class="sampleEntry">
    </c:if>
    <c:if test="${learningEntry.samples[0] != sample}">
        <table class="sampleEntry" style="display:hidden">
    </c:if>
Run Code Online (Sandbox Code Playgroud)

java jstl jsp-tags

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

C++链接问题,似乎我无法链接标准C++的东西

我正在尝试使用我在iOS应用程序中编译自己的库.该库是Tesseract OCR库.似乎编译(及其依赖)已经好了.

但是,当我尝试在我的应用程序项目中链接此lib时,该应用程序无法链接.链接错误让我感到惊讶; 好像Tesseract找到相当标准的C++东西有问题.

关于我可能做错的任何建议都会有所帮助.

这是我看到的那种链接错误的片段.

Undefined symbols for architecture armv7:
"std::string::find_last_of(char const*, unsigned long) const", referenced from:
  tesseract::WordSizeModel::Init(std::string const&, std::string const&) in    libtesseract.a(word_size_model.o)
"std::string::find_first_of(std::string const&, unsigned long) const", referenced from:
  tesseract::CubeUtils::SplitStringUsing(std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> >*) in libtesseract.a(cube_utils.o)
"std::string::find_first_not_of(std::string const&, unsigned long) const", referenced from:
  tesseract::CubeUtils::SplitStringUsing(std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> >*) in libtesseract.a(cube_utils.o)
"std::string::data() const", referenced from:
  tesseract::CubeUtils::SplitStringUsing(std::string const&, std::string const&, std::vector<std::string, std::allocator<std::string> >*) in libtesseract.a(cube_utils.o)
"std::string::find(char, unsigned long) const", referenced from:
  tesseract::TessLangModel::IsLeadingPunc(int) in libtesseract.a(tess_lang_model.o)
Run Code Online (Sandbox Code Playgroud)

c++ linker static-linking

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

用于图像模式识别的java框架?

我正在寻找一个Java框架来帮助一些特定于图像的数据挖掘.我们有一组历史图像,我想分类和分类.我希望找到像weka http://www.cs.waikato.ac.nz/ml/weka/或Marsyas http://marsyas.sness.net这样的东西,但更具体的是筛选图像数据以找到模式.有什么建议?

java image-recognition data-mining

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

使用Spring和Hibernate的Java Logging Systems感到困惑

在部署我的Spring/Hibernate应用程序时,我收到以下与日志记录相关的警告:

log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
log4j:WARN Please initialize the log4j system properly.
Run Code Online (Sandbox Code Playgroud)

让我感到惊讶的是Google/SO搜索缺乏信息.唯一相关的是使用tomcat 6在Spring webapp中设置Commons Logging/Log4j的 SO 问题

然而,这甚至超出了我.有人可以在这里澄清游戏中的日志记录系统,或者指向我关于这个问题的最新资源(有一些古老的谷歌搜索结果并不真正适用).具体来说,我正在努力解决的问题是:

  • commons-logging,log4j,slf4j和JCL之间的区别.我的理解是slf4j是一个包装器,而commons-logging和log4j是实际的实现.我不知道JCL适合哪里.

  • 如何配置Spring的日志记录.在web.xml文件中,我需要log4j.properties文件还是log4j.xml文件?它在哪里,在WEB-INF?我的applicationContext.xml文件中有什么内容吗?(对不起,我需要从零开始).

  • 我在我的项目中使用Hibernate,包括通过Maven.似乎Hibernate使用slf4j-simple.我看到警告说我不能在类路径上有slf4j-simple和slf4j-log4j.我没有将slf4j-log4j作为依赖项包含在内,但Hibernate必须包含它.我该如何解决这个问题?我可以强制Hibernate使用log4j吗?

任何帮助将不胜感激.谢谢.


编辑:

谢谢你到目前为止的所有答案.我试试这些建议.具体来说,春季网络应用程序呢?我已经看到了侦听器和参数的示例以及诸如未放入web.xml文件的内容.这还需要吗?

java logging spring hibernate log4j

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

在Mac 0SX上使用x86汇编程序的Hello World

我试图在我的Mac上深入研究一些x86汇编程序,但是在生成可执行文件时遇到了麻烦.这个问题似乎处于联系阶段.

helloWorld.s:

.data

    HelloWorldString:
    .ascii "Hello World\n"

.text

.globl _start

_start:
    # load all the arguments for write()
    movl $4, %eax
    movl $1, %ebx
    movl $HelloWorldString, %ecx
    movl $12, %edx
    # raises software interrupt to call write()
    int $0x80

    # call exit()
    movl $1, %eax
    movl $0, %ebx
    int $0x80
Run Code Online (Sandbox Code Playgroud)

组装程序:

as -o helloWorld.o helloWorld.s
Run Code Online (Sandbox Code Playgroud)

链接目标文件:

ld -o helloWorld helloWorld.o
Run Code Online (Sandbox Code Playgroud)

我在这一点上得到的错误是:

ld: could not find entry point "start" (perhaps missing crt1.o) for inferred architecture x86_64
Run Code Online (Sandbox Code Playgroud)

关于我做错了/遗失的任何建议都会非常有帮助.谢谢

macos x86 assembly linker

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

从文件中读取,清除它,写入它

我正在尝试从文本文件中读取数据,清除它,然后使用fstream该类按顺序写入它.

我的问题是如何在阅读后清除文件.我知道我可以打开一个文件并同时清除它,但是我可以在流上调用一些函数来清除它的内容吗?

c++ file-io file

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