草庐IT

double-checked-locking

全部标签

java - double 值返回 0

这个问题在这里已经有了答案:Intdivision:Whyistheresultof1/3==0?(19个回答)关闭4年前。这是一个例子:Doubled=(1/3);System.out.println(d);这会返回0,而不是0.33333...,这是应该的。有人知道吗?

java - 双重检查锁定模式 : Broken or not?

为什么该模式被认为已损坏?我觉得还好吗?有什么想法吗?publicstaticSingletongetInst(){if(instace==null)createInst();returninstace;}privatestaticsynchronizedcreateInst(){if(instace==null){instace=newSingleton();}} 最佳答案 乍一看还不错,但这种技术有很多细微的问题,通常应该避免。例如,考虑以下事件序列:线程A注意到值是没有初始化,所以它获得了锁定并开始初始化值(value)。编译

java - 如何检查 Double 值是否为负数?

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭10年前。如标题所示,我如何检查特定的Double是否为负数。这是如何获取Double实例(Double.parseDouble(data[2])想法、建议?

java - 为什么 anyValue 是 double 值时 Sonar 中的 anyValue % 1 "silly math"?

SonarQube提出重大违规Sillymathshouldnotbeperformed在我的代码中。描述说Certainmathoperationsarejustsillyandshouldnotbeperformedbecausetheirresultsarepredictable.Inparticular,anyValue%1issillybecauseitwillalwaysreturn0.但在我的例子中,anyValue是一个double值。这有效asintended为了我。这是实际的代码:doublev=Double.parseDouble(Utils.formatDoub

java - 错误消息 "Attempt to split long or double on the stack"表示什么?

我的代码出现以下错误:Attempttosplitlongordoubleonthestack我对这个错误的来源一无所知,也不知道如何调试它。这表明什么样的问题?我该如何解决?[ERROR][MonMay2314:29:46IST2011][(class:org/apache/jsp/dashboard_jsp,method:_jspServicesignature:(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V)Attempttosplitlongordoubleon

Java double 并使用非常小的值

我必须存储几个非常低的概率值的乘积(例如,1E-80)。由于下溢,使用原始javadouble将导致零。我不希望该值变为零,因为稍后会有一个更大的数字(例如1E100)将值置于double可以处理的范围内。因此,我自己创建了一个不同的类(MyDouble),用于保存基数部分和指数部分。在进行计算时,例如乘法,我将基数相乘,然后加上指数。使用原始double类型的程序速度很快。但是,当我使用自己的类(MyDouble)时,程序真的很慢。我认为这是因为我每次都必须创建新的对象来创建简单的操作,而垃圾收集器在不再需要这些对象时必须做很多工作。我的问题是,您认为我有更好的方法可以解决这个问题吗

Java:关于弧度、Math.cos、Math.sin、double和long的问题

我需要在我的java代码中实现harvesine距离。我在Javascript中找到了这个片段,我需要将它转换为java。如何在Java中将纬度和经度转换为弧度?Math.sin想要Java中的double。我是否应该以弧度为单位传递之前转换的值?Math.sin和Math.cos返回long。我应该将a声明为long并将其传递给Math.sqrt还是将其转换为double?谢谢dLat=(lat2-lat1).toRad();dLon=(lng2-lng1).toRad();a=Math.sin(dLat/2)*Math.sin(dLat/2)+Math.cos(lat1.toRad

java - 显示 double 和 float 时如何对齐小数点

如果我有以下小数点数:Double[]numbers=newDouble[]{1.1233,12.4231414,0.123,123.3444,1.1};for(Doublenumber:numbers){System.out.println(String.format("%4.3f",number));}然后我得到以下输出:1.12312.4230.123123.3441.100我想要的是:1.12312.4230.123123.3441.100 最佳答案 可能有点困惑的部分是String.format("4.3",number)

javafx:如何使 TableCell Edit 返回 double 而不是字符串,并且字体会根据条件更改颜色?

我有Trade对象类和一个publicclassTrade{privateDoublePropertyprice;privateReadOnlyBooleanWrappercaution;publicTrade(doubleprice){this.price=newSimpleDoubleProperty(price);this.caution=newReadOnlyBooleanWrapper();this.caution.bind(this.volume.greaterThan(0));}publicdoublegetPrice(){returnthis.price.get();}

java - 使用 JGit 从 Git 存储库中 check out 特定修订

我正在尝试使用jGit克隆存储库并checkout特定提交。假设提交哈希是:1e9ae842ca94f326215358917c620ac407323c81。我的第一步是://CloningtherepositoryGit.cloneRepository().setURI(remotePath).setDirectory(localPath).call();然后我发现了另一个建议这种方法的问题:git.checkout().setCreateBranch(true).setName("branchName").setUpstreamMode(CreateBranchCommand.Se