有没有提供testing编程逻辑的核心Java编程挑战的网站?
Java的包pipe理系统对我来说总是显得简单而有效。 它被JDK本身大量使用。 我们一直在用它来模仿名称空间和模块的概念。 什么是项目拼图 (又名Java平台模块系统 )试图填写? 来自官方网站: 本项目的目标是为Java SE平台devise和实现标准模块系统,并将该系统应用于平台本身和JDK。
所以从昨天早上起,我甚至都不知道OSGi是什么。 OSGi只是一个口号,我不断地看到一遍又一遍,所以我终于留出了一些时间来刷它。 它实际上看起来好像很酷,所以我想先说(logging)我不是在任何方面都反OSGi,这也不是什么“OSGi-bashing”的问题。 在这一天结束的时候,OSGi似乎已经在本质上解决了Java模块化的JSR 277问题,该模块认识到JAR文件规范存在缺陷,可能导致在特定情况下的名称空间parsing和类加载问题。 OSGi也做了很多其他很酷的东西,但从我所能确定的,这是它最大的吸引力(或其中之一)。 对我来说 – 作为一个相当新的Java EE开发者(现在几年),我们在2011年,目前生活在Java 7时代,而且这些类加载问题仍然存在是非常令人难以置信的。 尤其是在一个应用程序服务器上可能有数百个JAR的企业环境中,其中许多依赖于不同版本的相互之间以及所有正在运行(或多或less)的JAR。 我的问题: 就像我在OSGi中一样感兴趣,尽pipe我想要开始了解它,看看它是否可以用于我的项目,但我没有时间坐下来学习一些大型的,至less现在。 那么当这些问题出现时,非OSGi开发者应该做些什么呢? 目前存在哪些Java (Oracle / Sun / JCP)解决scheme? 为什么从J7剪切拼图? Jigsaw明年将在J8上实现的社区有多less? 即使它不是Java平台的一部分,是否有可能为您的项目获得Jigsaw? 我想我在这里问的是一个恐慌,阴谋和facepalm的组合。 现在我终于明白OSGi是什么了,我只是不知道Jigsaw已经花费了20多年的时间才能实现,而如何才能从发行版本中解放出来。 这似乎是基本的。 作为开发人员,我也很好奇我的解决scheme是什么,OSGi。 另外, 注意 :我知道这不是一个“ 纯编程 ”types的问题,但是在你们中的一些人的鼻子弯曲变形之前,我想(再次logging下来)我故意把这个问题所以。 那是因为我没有任何东西,只是对我的同胞们极为尊重,而且我正在寻找一些我每天都在这里潜伏的“IT之神”的build筑层面的答案。 但是,对于那些绝对坚持用一些代码段来支持SO问题的人: int x = 9; (感谢任何能够衡量这个OSGi / Jigsaw / classloader / namespace / JAR的东西!)
随着Java 9的接近水平,我认为这是一个很好的学习练习,将我的一些项目移植到Java 9.在我的一个项目中,我有依赖关系rxjava和rxjavafx dependencies { compile 'io.reactivex:rxjava:1.2.6' compile 'io.reactivex:rxjavafx:1.0.0' … } 我想创build这个项目作为命名模块。 为此,我需要创build一个module-info.java文件,我需要在这里指定rxjava和rxjavafx的需求。 但是,这些库还没有任何模块信息。 为了解决这个问题,我读过我需要创build自动模块 。 从我的理解,我需要重命名rxjava和rxjavafxjar子有一个简单的名称,然后列出在–module-path参数中的jar子。 然后我添加一个module-info.java指令在我的module-info.java与jar名称。 module com.foo.bar { requires rxjavafx; requires rxjava; } 我写了一个gradle任务来为我编辑jar子名称,而且在大多数情况下它似乎正在工作。 它需要将所有需要编译的jar包重命名为不包含版本信息或斜杠。 这些文件然后连接成一个:分隔的string: tasks.withType(JavaCompile) { delete { delete '/tmp/gradle' } copy { from configurations.compile + configurations.testCompile into '/tmp/gradle' rename '(.*)-[0-9]+\\..*.jar', '$1.jar' rename { String fileName -> fileName.replace("-", "") } […]
我们使用maven并有文物,反过来依赖于其他内部文物。 我正在迁移到java-9的过程中,并打算先将所有内容迁移到Java 9,而不是模块化代码(即在未命名的模块中)。 我碰到的问题是,我们依赖于java.xml.bind ,它现在不包含在默认模块中。 有没有一种“正确”的方式来expression这个对Maven的java.xml.bind依赖?
首先,这个问题是从这个问题中剔除的。 我这样做是因为我认为这部分比较长问题的一个子部分更大。 如果冒犯了,请原谅我。 假设你有一个产生随机性的algorithm。 现在你怎么testing它? 或者更直接 – 假设你有一套洗牌的algorithm,你怎么testing它是一个完全随机的algorithm? 给这个问题添加一些理论 – 一副牌可以在52中洗牌! (52阶乘)不同的方式。 拿一副牌,手工洗牌,记下所有牌的顺序。 你会得到这个洗牌的概率是多less? 答案:1/52! 在洗牌后,你有什么机会按顺序获得每套花色的A,K,Q,J …? 答案1/52! 所以,只要洗牌一次,看看结果就不会给你任何有关洗牌algorithm随机性的信息。 两次,你有更多的信息,三更甚至… 你将如何黑箱testing随机性洗牌algorithm?
什么是最简单的SQL查询来查找特定列中的第二大整数值? 列中可能有重复的值。
给定一个在1到5范围内产生一个随机整数的函数,编写一个函数来产生一个在1到7范围内的随机整数。 什么是简单的解决方案? 什么是有效的解决方案来减少内存使用量或在较慢的CPU上运行?