Java – 使用按位运算的循环移位

我想知道如何用int位表示的位串实现循环右移。 public int rtCircShift(int bits, int k) { return bits >> k; } 所有这些代码都返回0 ,我怎样才能使它成为循环移位?

如何在javafx中创建弹出窗口

我想在javafx应用程序中创建一个弹出窗口。请给我一些想法。 当我点击复选按钮打开弹出窗口。 怎么做?

将类的引用传递给另一个类

我有两节课。 Class A和Class B 。 我有一个Class Afunction,我想在class B使用。 我正在考虑将Class A的引用传递给Class B Class A的构造函数,然后在之后调用该函数。 那会有用吗? 有人能告诉我一个例子吗? 提前致谢!

Intellij社区不能为Maven使用http代理

我在一个Linux机器上安装了Intellij IDEA社区,需要使用经过身份validation的代理来访问Internet。 我在盒子上有一个系统范围的代理,我在〜/ .m2 / settings.xml中配置了代理。 当我从命令行运行时,Maven正确使用代理。 我在Intellij中配置了相同的代理,它为我提供了正确的插件列表。 但是当我尝试使用Intellij与Maven存储库同步时,我会继续这样做: [WARNING] Unable to get resource ‘org.codehaus.mojo:hibernate3-maven-plugin:pom:2.2’ from repository restlet (http://maven.restlet.org): Authorization failed: Not authorized by proxy. 我去了Settings-> Maven并将代理信息作为属性放入,但是没有用。 通过查看Intellij正在读取我的〜。/ m2 / settings.xml的那些设置,我可以看到,因为它知道我的本地仓库在哪里(它在非标准位置)。 任何人都知道如何让这个工作?

如何计算java中音频信号的电平/幅度/ db?

我想在java中为麦克风创建一个音频电平表,以检查输入的大小。 它应该看起来像操作系统之一。 我不是在询问gui。 它只是计算出来的字节流中的音频电平 n = targetDataLine.read( tempBuffer , 0 , tempBuffer.length ); 所以我已经有了一些正在运行的东西,但它甚至都没有接近我操作系统的水平仪(窗口)它卡在中间。 我有0到100之间的值是好的,但是在中间音量,无论输入多么大,它都会在60左右。 这是我现在计算它的方式: amplitude = 0; for (int j = 0; j tempBuffer[j+1]) amplitude = amplitude + tempBuffer[j] – tempBuffer[j+1]; else amplitude = amplitude + tempBuffer[j + 1] – tempBuffer[j]; } amplitude = amplitude / tempBuffer.length * 2; 是否有更好/更精确的方法来计算音频电平来监控它? 或者我可能犯了一个重大错误? 那是我的Audioformat: public […]

Java长时间运行的任务线程中断vs取消标志

我有一个长期运行的任务,如: public void myCancellableTask() { while ( someCondition ) { checkIfCancelRequested(); doSomeWork(); } } 任务可以取消(请求取消,checkIfCancelRequested()检查取消标志)。 通常当我写这样的可取消循环时,我使用一个标志来表示已经请求取消。 但是,我知道我也可以使用Thread.interrupt并检查线程是否被中断。 我不确定哪种方法是首选,为什么,想法? 谢谢, 杰夫

Spring:注释驱动的事务管理器

我正在建立一个新的JPA + Spring项目。 有什么区别(对于我作为程序员而言): 和 在我的applicationContext.xml中?

使用cucumber-jvm重新尝试失败的黄瓜测试

我有一个Cucumber-JVM,JUnit,Selenium设置。 我通过在Eclipse中使用JUnit运行RunSmokeTests.java来启动运行。 我还设置了一个maven配置文件来从命令行运行测试,将来可能还有Jenkins。 当测试运行时,其中一些可能会失败,主要是由于应用程序花费的时间超过预期。 然后我必须重新运行这些场景。 目前我通过手动将@rerun标记附加到失败的标记然后运行RunReruns.java来运行RunReruns.java ,这类似于RunSmokeTest.java但使用@rerun标记。 随着自动化测试数量的增加,标记测试并开始运行并清除标签非常耗时。 有没有使用Cucumber-JVM重新运行失败测试的自动化方法? RunSmokeTests.java package testGlueClasses; import cucumber.api.junit.Cucumber; import org.junit.runner.RunWith; @RunWith(Cucumber.class) @Cucumber.Options(features = “src/test/java”, strict = true, format = { “html:target/CucumberReport”, “json:target/JSON/Cucumber.json”, “FrameworkCore.CustomTestReporter” }, tags = { “@SmokeTest” }, glue = { “FrameworkCore”, “MyApp.Utils”, “MyApp.StepDefinitions” }) public class RunSmokeTests { } Maven片段: smoke **/RunSmokeTests.java

java数组按引用传递不起作用?

我认为几乎所有语言都包括java传递数组作为参考(可修改) 但不知何故,它在这里不起作用。 并且testArray仍然是1,2,3,大小为3 奇怪的是,如果我将结果[i] = 2更改为[1] = 2; 这行得通 。 它确实通过引用传递 这段代码有什么问题? 最后,我有一个=结果; (更新a)。 结果从堆栈中删除了。 这就是为什么一个仍然得到原来的? 我很困惑。 谢谢 class Test { public static void main(String[] args) { int[] testArray = {1,2,3}; equalize(testArray, 6); System.out.println(“test Array size :” + testArray.length); for(int i = 0; i biggerSize) throw new Error(“Array size bigger than biggerSize”); int[] result = […]

如何区分注销和会话过期?

案例1:注销:一旦我们注销,如果有人试图访问之前的版本,它必须自动重定向到login.jsp 案例2:会话已过期:如果会话在用户仍然登录时到期,则必须尝试在访问上一页时自动重定向到sessionExpired.jsp。 如何区分? 我正在注销登录时无效。