小编Mar*_*cin的帖子

如何'grep'连续流?

这是否可以grep连续使用?

我的意思是一种tail -f <file>命令,但grep在输出上只是为了保留我感兴趣的行.

我已经尝试了,tail -f <file> | grep pattern但似乎grep只能执行一次tail,也就是说永远不会.

linux bash shell grep tail

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

为什么这个Java代码会编译?

在方法或类范围中,下面的行编译(带警告):

int x = x = 1;
Run Code Online (Sandbox Code Playgroud)

在类范围中,变量获取其默认值,以下给出"未定义引用"错误:

int x = x + 1;
Run Code Online (Sandbox Code Playgroud)

是不是第一个x = x = 1应该以相同的'未定义引用'错误结束?或者第二行int x = x + 1应该编译?或者有些东西我不见了?

java compiler-construction

96
推荐指数
9
解决办法
7873
查看次数

JIRA:关闭还是解决?

您可以在JIRA中重新打开已解决和已解决的问题.有什么实际区别?(除了需要不同的权限来解决/关闭问题,例如,如果涉及质量保证)

我们团队对于是否要解决或关闭存在一些意见分歧,我想指出一些权威并说"我们应该这样做".

jira issue-tracking

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

为什么java.util.concurrent.atomic.AtomicBoolean在内部用int实现?

AtomicBoolean将其值存储在:

private volatile int value;
Run Code Online (Sandbox Code Playgroud)

然后,例如,提取其值的方式如下:

    public final boolean get() {
    return value != 0;
}
Run Code Online (Sandbox Code Playgroud)

它背后的原因是什么?为什么没用boolean

java concurrency multithreading atomic java.util.concurrent

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

在scala多重继承中,如何解决具有相同签名但返回类型不同的冲突方法?

请考虑以下代码:

trait A {
  def work = { "x" }
}

trait B {
  def work = { 1 }
}

class C extends A with B {
  override def work = super[A].work
}
Run Code Online (Sandbox Code Playgroud)

C不会在scala 2.10中编译,因为"在类型=> String的特征A中重写方法工作;方法工作具有不兼容的类型".

如何选择一种具体方法?

scala multiple-inheritance traits

16
推荐指数
4
解决办法
7095
查看次数

Spring是否以线程安全的方式发布bean?

我对JVM内部的了解是,如果引用未正确发布,则不同的线程可能会看到相同字段的不同值.

我的问题是:Spring bean容器能保证安全发布吗?如果没有,我应该制作所有的bean吸气剂和制定者synchronized还是使用volatile?或者也许使用final字段和构造函数初始化?

我认为这可能只是单例bean的一个问题,因为原型bean是根据请求线程创建的.我的理解是否正确?

java spring multithreading

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

为什么GCP的“等待SSH密钥传播”需要这么长时间?

在至少两种情况下,我曾遇到过这种臭名昭著的“ 等待SSH密钥传播。 ”这句话:

  • 通过浏览器连接到虚拟盒子
  • 创建新的DataLab实例

我的问题是-会发生什么并使它花费这么长时间?有没有解决的办法,特别是对于DataLab?

即使没有解决方案,我也想理解为什么如此耗时。

google-cloud-platform google-cloud-datalab

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

对于类型为T的方法,当它需要两个<?时,它的'推断'类型应该是什么?超级T>争论?

hamcrest库中有一个方法:

package org.hamcrest.core

...

public static <T> Matcher<T> allOf(Matcher<? super T> first, Matcher<? super T> second) {
    List<Matcher<? super T>> matchers = new ArrayList<Matcher<? super T>>(2);
    matchers.add(first);
    matchers.add(second);
    return allOf(matchers);
}
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我将此方法称为first存在Matcher<Object>second存在Matcher<SomeException>.

现在:

  • 当我使用带有1.6目标的Eclipse编译时,它就会生成<T> Matcher<SomeException>.
  • 当我使用带有1.6目标的javac 1.7进行编译时,它会生成<T> Matcher<SomeException>.
  • 当我使用带有1.6目标的javac 1.6进行编译时,它会生成 <T> Matcher<Object>

问题是,<T>在这种情况下应该是什么?

我的理解是,javac 1.6中存在一个错误,它应该是Matcher<SomeException>,因为这是输入参数的常见类型(SomeException是Object的子类型)然后,它是100%肯定的,返回Matcher将是Matcher<SomeException>.

我对吗?有没有办法迫使javac 1.6正常行事?

java generics junit unit-testing hamcrest

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

为什么java.util.Set不包含值getter?有替代品吗?

由于设置条目仅由属性(hashCode()+ equals())的子集区分,因此有时需要对集合中包含的原始对象进行操作,这是不可能的java.util.Set.我想出的唯一选择是:Map<T, T>- 不是一个非常简洁的解决方案.

收集框架中还有其他替代方案吗?要求是:O(1)获取时间,基于hashCode() + equals()结果没有重复.

java collections

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

如何使用Slick2.0.1映射postgresql自定义枚举列?

我只是想不出来.我现在使用的是:

abstract class DBEnumString extends Enumeration {
  implicit val enumMapper = MappedJdbcType.base[Value, String](
     _.toString(),
     s => this.withName(s)
  )
}
Run Code Online (Sandbox Code Playgroud)

然后:

object SomeEnum extends DBEnumString {
  type T = Value
  val A1 = Value("A1")
  val A2 = Value("A2")
}
Run Code Online (Sandbox Code Playgroud)

问题是,在插入/更新期间,PostgreSQL的JDBC驱动程序抱怨当列类型为"some_enum"时参数类型为"字符变化",这是合理的,因为我将SomeEnum转换为String.

如何告诉Slick将String视为DB定义的"enum_type"?或者如何定义一些将映射到"enum_type"的其他Scala类型?

enums scala postgresql-9.2 slick-2.0

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

使用JMockit,如何模拟特定输入参数值的接口方法?

假设我有一个Foo方法接口bar(String s).我唯一想要嘲笑的是bar("test");.

我不能用静态部分模拟来做,因为我只想要在bar传递"test"参数时模拟方法.我不能用动态部分模拟来做,因为这是一个接口,我也不希望实现构造函数被模拟.我也不能使用界面模拟MockUp,因为我无法注入模拟实例,它是在代码中创建的.

有什么我想念的吗?

java junit unit-testing jmockit

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

为什么我的Scala方法类型解析为Buffer而不是List?

对于下面的方法定义,当我显式设置返回类型时List[String],编译器会抱怨,因为它期望(可变)Buffer[String].这是为什么?里面每个可能的情况下flatMap返回List[String].列表 - >缓冲区转换在何处以及为何发生?

private def getHitTerms(q: Query, searcher: IndexSearcher, docId: Int): List[String] = {

    val bq = q.asInstanceOf[BooleanQuery]

    bq.clauses().asScala.flatMap(c => {
      val q = c.getQuery()
      if (q.isInstanceOf[BooleanQuery]) {
        getHitTerms(q, searcher, docId)
      } else if (searcher.explain(q, docId).isMatch()) {
        if (q.isInstanceOf[TermQuery]) {
          List(c.getQuery().asInstanceOf[TermQuery].getTerm().text())
        } else if (q.isInstanceOf[PhraseQuery]) {
            List(c.getQuery().asInstanceOf[PhraseQuery].getTerms().map(_.text()).mkString(" "))
        } else List.empty[String]
      } else List.empty[String]
    })
}
Run Code Online (Sandbox Code Playgroud)

scala

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