在OSGi API中,对BundleContext.getBundles()的调用将返回所有包,无论它们是否为片段.对于给定的Bundle对象,判断这是否是片段的最佳方法是什么?
将Java Collection转换为Scala等效项的最简单方法是使用JavaConversions,因为Scala 2.8..这些隐式defs返回包含的Java Collection的包装器.
Scala 2.9引入了并行集合,可以并行执行集合上的操作,稍后收集结果.这很容易实现,将现有集合转换为并行集合非常简单:
myCollection.par
Run Code Online (Sandbox Code Playgroud)
但是使用JavaConversions从Java集合转换的集合上使用'par'会有问题.如并行收集转换中所述,通过评估所有值并将它们添加到新的并行集合,本质上将顺序集合"强制"为新的并行集合:
其他集合(例如列表,队列或流)本质上是顺序的,因为必须一个接一个地访问元素.通过将元素复制到类似的并行集合中,可以将这些集合转换为其并行变体.例如,功能列表被转换为标准的不可变并行序列,其是并行向量.
当原始Java集合要进行延迟评估时,这会导致问题.例如,如果仅返回Java Iterable,稍后将其转换为Scala Iterable,则无法保证Iterable的内容是否会被急切访问.那么如何从Java集合中创建并行集合而不必承担评估每个元素的成本呢?我试图通过使用并行集合并行执行它来避免这种成本,并希望"获取"提供的前n个结果.
根据Parallel Collection Conversions,有一系列的收集类型需要花费不变的时间,但似乎没有办法确保JavaConversions可以创建这些类型(例如,'Set'可以创建,但是那个'HashSet'?).
我有一个无头的Java应用程序,作为一个守护进程风格的进程在远程服务器上运行.
我想从流程中提取JVisualVM显示的排序的Java级别性能分析信息.例如,它应该显示方法调用时间等.
这样做的最佳方式是什么?我的理解是,远程连接时JVisualVM不会进行配置.
理想情况下,分析信息将以类似于Java堆生成(使用jmap)和稍后分析(使用堆检查器)的方式存储在文件中以供稍后检查.
我正在开发一个Elastic Beanstalk应用程序.它是一个Scala Web应用程序,使用sbt.我想将生成的WAR从命令行部署到现有环境.
我只能找到ebCLI,它似乎要求你使用git:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-getting-started.html
难道没有办法简单地指定WAR和环境名称来执行部署吗?
除此之外,最好的解决方法是什么?我可以从命令行上传到S3,然后使用Web应用程序选择该文件,但它比我想要的更痛苦.
command-line amazon-web-services sbt amazon-elastic-beanstalk
我想知道是否可以在不使用锚元素的情况下编写Bootstrap标签<a>?
我想知道的原因是我想在选项卡中添加不是有效子元素的元素<a>- 在我的情况下我想添加一个<input>(注意<input>不用于控制选项卡,因此).
原型选项卡示例可能是:
<div class="tabbable">
<ul class="nav nav-tabs">
<li class="active"><a href="#tab1" data-toggle="tab">Section 1</a></li>
<li><a href="#tab2" data-toggle="tab">Section 2</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab1">
<p>I'm in Section 1.</p>
</div>
<div class="tab-pane" id="tab2">
<p>I'm in Section 2.</p>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用以下方式以编程方式显示标签:
$('#tab1').tab('show')
Run Code Online (Sandbox Code Playgroud)
但这似乎取决于它是一个事实<a>.<div>例如,我可以使用JQuery挂钩click事件吗?
我需要一些方法来指定href我是否这样做.
说我有这样的事情:
obj match {
case objTypeOne : TypeOne => Some(objTypeOne)
case objTypeTwo : TypeTwo => Some(objTypeTwo)
case _ => None
}
Run Code Online (Sandbox Code Playgroud)
现在我想概括一下,传入其中一种类型来匹配:
obj match {
case objTypeOne : clazz => Some(objTypeOne)
case objTypeTwo : TypeTwo => Some(objTypeTwo)
case _ => None
}
Run Code Online (Sandbox Code Playgroud)
但这是不允许的,我认为是出于句法而非语义的原因(虽然我猜也是即使clazz是一个Class [C],类型也会被删除,因此选项的类型将会丢失).
我结束了:
if(clazzOne.isAssignableFrom(obj.getClass)) Some(clazz.cast(obj))
if(obj.isInstanceOf[TypeTwo]) Some(obj.asInstanceOf[TypeTwo])
None
Run Code Online (Sandbox Code Playgroud)
我只是想知道是否有更好的方式.
我真的很困惑将旧的Google App Engine项目转换为Gradle。
我正在尝试按照此页面上的说明进行操作。建议从以下构建脚本开始:
buildscript { // Configuration for building
repositories {
jcenter() // Bintray's repository - a fast Maven Central mirror & more
mavenCentral()
}
dependencies {
classpath 'com.google.cloud.tools:appengine-gradle-plugin:+' // latest App Engine Gradle tasks
}
}
repositories { // repositories for Jar's you access in your code
maven {
url 'https://maven-central.storage.googleapis.com' // Google's mirror of Maven Central
// url 'https://oss.sonatype.org/content/repositories/snapshots' // SNAPSHOT Repository (if needed)
}
jcenter()
mavenCentral()
}
apply plugin: 'java' // standard Java tasks …Run Code Online (Sandbox Code Playgroud) 我在 Bootstrap 按钮上设置了不同的高度,其中按钮仅包含Font Awesome 图标。
这是我的应用程序中的样子:
左边的按钮组高34px,右边的按钮组高28px。
但是,在使用 Bootply 等时,我没有看到同样的问题,例如: http: //www.bootply.com/BKDSnIXVQH。这里的图标高度相同。
所以我一定做错了什么,但我无法诊断!
在 Chrome 元素检查器中,左侧按钮文本的顶部和底部有一个间距,但fa右侧图标周围没有这样的间距。两个按钮的样式padding-相同,因此我不知道间距从何而来。line-height并且font-size都是一样的。
如果我向按钮添加一些文本,fa它们将返回到正确的高度。
鉴于我没有提供足够的可重现示例,我不希望有人回答这个问题,但我至少如何诊断问题是什么?
java ×3
html ×2
scala ×2
bundle ×1
class ×1
collections ×1
command-line ×1
css ×1
font-awesome ×1
gradle ×1
headless ×1
javascript ×1
jquery ×1
osgi ×1
profiling ×1
sbt ×1