小编Mat*_*ias的帖子

如何让Ant更喜欢来自链接JAR而不是JDK类的类?

我正在尝试构建dom4j JAR,其中包含一个xml-apis JAR,其中包含的DOM API比最近的JDK附带的更早.

但是,即使在构建文件中源和目标编译器属性设置为1.3,即使构建路径中包含xml-apis JAR,Ant仍会尝试将dom4j编译为另一个更新的w3c API(我猜一个来自JDK安装).

这是相关的Ant代码:

<path id="compile.classpath">
    <fileset dir="./lib/endorsed">
        <include name="*.jar" />
    </fileset>
    <fileset dir="./lib">
        <include name="*.jar" />
    </fileset>
</path>

  <target name="compile" depends="prepare-src">
    <javac srcdir="${build.src}"
           destdir="${build.dest}"
           debug="${debug}"
           optimize="${optimize}"
           target="1.3"
           source="1.3"
           deprecation="${deprecation}"
           classpathref="compile.classpath">
    </javac>
  </target>
Run Code Online (Sandbox Code Playgroud)

应该使用的JAR是在lib/endorsed中,但在编译期间不使用它.

怎么会?

java ant

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

在Android/Dalvik上推荐使用ProGuard合并课程吗?

我刚刚想到,我们使用的ProGuard代码优化之一,即合并类层次结构,可能根本不是一个好的选择.

我的直觉是,这将是有益的,以便减少对ClassLoader中,这至少在JVM是一种特别缓慢的操作的调用合并类,并在我们的代码中,我们选择了很多较小的(通常内部)类,而不是大型God对象类,因此ClassLoader将相对经常运行.

但是,考虑到极端(可能不太可能)将所有类合并为单个类的情况,那么即使加载器只被调用一次,我们最终会将大量代码加载到很可能永远不会被使用的内存中( 80/20规则也适用于此处,我猜).

这让我想知道:

1)Dalvik的课程加载速度有多快?这是一项值得通过使用类合并来减少的操作吗?

2)那就是说,你会建议在Android上使用类合并吗?

android proguard

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

Golang:结构嵌入与“别名”

我知道结构嵌入

type newType struct {someStruct}
Run Code Online (Sandbox Code Playgroud)

我知道类型别名:

type newType = someStruct
Run Code Online (Sandbox Code Playgroud)

但是有什么实际的理由可以使用

type newType someStruct
Run Code Online (Sandbox Code Playgroud)

原始类型呢?

type newType int
Run Code Online (Sandbox Code Playgroud)

这种定义的正确名称是什么?

types go

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

为什么我不能用匹配类型的case对象覆盖val?

鉴于:

trait Mixin {}

case class A(a: Int) extends Mixin
case object B extends Mixin

trait Base {
  val m = A(1)
}

trait Sub extends Base {
  override val m = B // does. not. compute.
}
Run Code Online (Sandbox Code Playgroud)

我在特征中得到了编译错误Sub:

<console>:18: error: overriding value m in trait Base of type A;
 value m has incompatible type
         override val m = B // does. not. compute.
                      ^
Run Code Online (Sandbox Code Playgroud)

为什么?case对象继承了正确的trait,就像case类一样.这是Scala 2.10.

scala

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

标签 统计

android ×1

ant ×1

go ×1

java ×1

proguard ×1

scala ×1

types ×1