草庐IT

do-while-false

全部标签

java - 如果线程修改的变量被标记为 volatile,为什么 false 共享是一个问题

我一直在看MartinThompson的文章。这是对错误共享的解释。http://mechanical-sympathy.blogspot.co.uk/2011/07/false-sharing.htmlpublicfinalclassFalseSharingimplementsRunnable{publicfinalstaticintNUM_THREADS=4;//changepublicfinalstaticlongITERATIONS=500L*1000L*1000L;privatefinalintarrayIndex;privatestaticVolatileLong[]lon

java - SonarQube 声明对于使用 "this."访问的字段始终评估为 false 的条件

这似乎是“条件执行的block应该是可访问的”规则误报的新示例(squid:S2583)。有谁知道为什么SonarQube声称if(this.x==0)在以下Java类中总是求值为false?publicclassMyClass{privatelongx;voidsetX(longx){this.x=x;}publicvoiddecrementX(){if(this.x>0){this.x--;if(this.x==0){//很明显,变量x可以设置为1,然后decrementX()将进入那个确切的条件:@TestpublicvoidtestDecrement(){MyClassc=ne

Java Swing dispose() 与 setVisible(false)

我有一个独立的Java应用程序,它从数据库中获取数据并将其显示在JTable中。当应用程序启动时,系统会在JDialog中提示用户输入用户名/密码。输入正确的凭据后,将显示包含数据的主JFrame。在主JFrame上,我有一个注销按钮,单击该按钮时,应关闭主JFrame并重新显示登录JDialog。除了我发现单击注销按钮时主JFrame不会消失外,一切都正常。下面是我的代码的一个小示例:主.java:importjavax.swing.SwingUtilities;publicclassMain{publicstaticvoidmain(String[]args){SwingUtili

java - JAXB + Spring WS : "No adapter for endpoint" while using JAXBElement

我有一个Web服务,我正尝试使用Spring和Jaxb来实现。我已经有一些使用这两种服务的工作服务——但由于响应的格式,这个特定的服务给我带来了困难。在我的XSD中,响应定义如下(注意它是单个元素):我有一个如下所示的服务方法:@PayloadRoot(localPart=SERVICE_REQUEST,namespace=NAMESPACE)publicOutcomeprocessFileRequest(ServiceRequestrequestObject)我最终得到一个看起来像这样的异常:java.lang.IllegalStateException:端点没有适配器[public

java - while(rs.next()) 是否比一系列 rs.absolute() 更快

假设有一个ResultSetrs和n对象。这段代码:while(rs.next()){//dosomethingonrs}在算法上等于此代码(即两者给出相同的结果):for(i=1;i但这在吞吐量方面是等价的吗?第一个更快吗?或者,对于给定的i,rs.next()只是rs.absolute(i+1)的包装器?最好的问候三菱商事 最佳答案 rs.next需要一种比rs.absolute更简单的数据库游标(FORWARD_ONLY),所以在大多数情况下你会降低性能/rs.absolute的资源效率。在某些情况下,无论如何都没有对FORW

java - 设置-XX :+PerfDisableSharedMem JVM flag to false 的效果

我提到了这个GC暂停issue;它建议将-XX:+PerfDisableSharedMemJVM标志设置为false。我的问题是当我们将此标志设置为false时会发生什么, 最佳答案 那么/tmp/hsperfdata*就不写了。其中,根据hotspot-runtime-dev讨论,将阻止一些性能监控命令行工具自动发现正在运行的虚拟机。如果明确指定PID,它们仍然可以附加到正在运行的进程。 关于java-设置-XX:+PerfDisableSharedMemJVMflagtofalse的

java - 单个 while 循环的 Big-Oh 表示法,该循环覆盖具有两个迭代器变量的数组的两半

试图复习我对Big-O的理解以进行测试(显然需要非常基本的Big-O理解)我已经开始并正在做我书中的一些练习题。他们给了我以下片段publicstaticvoidswap(int[]a){inti=0;intj=a.length-1;while(i我觉得很容易理解。它有两个迭代器,每个迭代器以固定的工作量覆盖数组的一半(我认为它们都以O(n/2)计时)因此O(n/2)+O(n/2)=O(2n/2)=O(n)现在请原谅,因为这是我目前的理解,这是我尝试解决问题的方法。我在网上找到了很多big-o的例子,但没有一个像这样迭代器基本上同时递增和修改数组。它有一个循环这一事实让我认为它无论如何

Java Bean 验证 : How do I specify multiple validation constraints of the same type but with different groups?

我有多个进程,其中bean属性必须具有不同的值。示例:@Min(value=0,groups=ProcessA.class)@Min(value=20,groups=ProcessB.class)privateinttemperature;不幸的是bean验证JSR303没有设置@Repeatable在javax.validation.constraints.Min上,所以这种方法不起作用。我找到了“Min.List”,但没有任何关于如何使用它的文档。相反,官方Oracle文档声明在http://docs.oracle.com/javaee/7/api/javax/validation

java - 为什么 JAXB generateElementProperty=false 没有达到预期的效果?

我正在使用以下绑定(bind)文件运行wsimport任务:但是,这会产生带有JAXBElement的类而不是String如getUserSummaryOrTypeOrLogLevel()所示下面@XmlAccessorType(XmlAccessType.FIELD)@XmlType(name="ConfigSLMAction",propOrder={"userSummaryOrTypeOrLogLevel"})publicclassConfigSLMActionextendsConfigConfigBase{@XmlElementRefs({@XmlElementRef(name=

Java Swing : Do something when a component has *finished* resizing

对于这个有点不清楚的问题表示歉意-想不出更好的表达方式。我使用JXTaskPane(来自Swing实验室扩展API)以显示一些信息。用户可以“点击”标题来展开面板。JXTaskPane位于容器JPanel中,然后将其添加到JFrame,即我的主应用程序窗口。我希望我的应用程序窗口调整为展开的任务Pane的大小。为实现这一点,我向我的容器JPanel添加了一个组件监听器,它将大小设置为现在展开的面板。panel.addComponentListener(newComponentListener(){publicvoidcomponentResized(ComponentEvente){D